diff options
author | cvs2svn <> | 2009-09-04 04:29:41 +0000 |
---|---|---|
committer | cvs2svn <> | 2009-09-04 04:29:41 +0000 |
commit | 5cbd59b72a754824f6f13459279c0bdf11c686f1 (patch) | |
tree | 4d4011e117543c1044b59ff714b48dadbd98566c /winsup/w32api/include/ddk | |
parent | ec977517dc2a22f5b95faf626b405ecb2879b2d5 (diff) | |
download | cygnal-5cbd59b72a754824f6f13459279c0bdf11c686f1.tar.gz cygnal-5cbd59b72a754824f6f13459279c0bdf11c686f1.tar.bz2 cygnal-5cbd59b72a754824f6f13459279c0bdf11c686f1.zip |
This commit was manufactured by cvs2svn to create branch 'binutils-binutils-2_20-branchpoint
2_20-branch'.
Sprout from master 2009-09-04 04:29:40 UTC Jie Zhang <jie.zhang@analog.com> ' gas/'
Cherrypick from cygnus 1999-05-03 07:29:06 UTC Richard Henderson <rth@redhat.com> '19990502 sourceware import':
README
config/mt-d30v
config/mt-netware
config/mt-ospace
etc/add-log.el
etc/add-log.vi
etc/configbuild.ein
etc/configbuild.fig
etc/configbuild.jin
etc/configbuild.tin
etc/configdev.ein
etc/configdev.fig
etc/configdev.jin
etc/configdev.tin
include/aout/hppa.h
include/coff/sym.h
include/fopen-bin.h
include/fopen-same.h
include/opcode/tahoe.h
makefile.vms
Delete:
djunpack.bat
libgloss/ChangeLog
libgloss/Makefile.in
libgloss/README
libgloss/acinclude.m4
libgloss/aclocal.m4
libgloss/arm/Makefile.in
libgloss/arm/_exit.c
libgloss/arm/_kill.c
libgloss/arm/aclocal.m4
libgloss/arm/coff-iq80310.specs
libgloss/arm/coff-pid.specs
libgloss/arm/coff-rdimon.specs
libgloss/arm/coff-rdpmon.specs
libgloss/arm/coff-redboot.ld
libgloss/arm/coff-redboot.specs
libgloss/arm/configure
libgloss/arm/configure.in
libgloss/arm/crt0.S
libgloss/arm/elf-iq80310.specs
libgloss/arm/elf-linux.specs
libgloss/arm/elf-pid.specs
libgloss/arm/elf-rdimon.specs
libgloss/arm/elf-rdpmon.specs
libgloss/arm/elf-redboot.ld
libgloss/arm/elf-redboot.specs
libgloss/arm/libcfunc.c
libgloss/arm/linux-crt0.c
libgloss/arm/linux-syscall.h
libgloss/arm/linux-syscalls0.S
libgloss/arm/linux-syscalls1.c
libgloss/arm/redboot-crt0.S
libgloss/arm/redboot-syscalls.c
libgloss/arm/swi.h
libgloss/arm/syscall.h
libgloss/arm/syscalls.c
libgloss/arm/trap.S
libgloss/bfin/Makefile.in
libgloss/bfin/aclocal.m4
libgloss/bfin/basiccrt.S
libgloss/bfin/bf522.ld
libgloss/bfin/bf523.ld
libgloss/bfin/bf524.ld
libgloss/bfin/bf525.ld
libgloss/bfin/bf526.ld
libgloss/bfin/bf527.ld
libgloss/bfin/bf531.ld
libgloss/bfin/bf532.ld
libgloss/bfin/bf533.ld
libgloss/bfin/bf534.ld
libgloss/bfin/bf536.ld
libgloss/bfin/bf537.ld
libgloss/bfin/bf538.ld
libgloss/bfin/bf539.ld
libgloss/bfin/bf542.ld
libgloss/bfin/bf544.ld
libgloss/bfin/bf547.ld
libgloss/bfin/bf548.ld
libgloss/bfin/bf549.ld
libgloss/bfin/bf561.ld
libgloss/bfin/bf561a.ld
libgloss/bfin/bf561b.ld
libgloss/bfin/bf561m.ld
libgloss/bfin/bfin-common-mc.ld
libgloss/bfin/bfin-common-sc.ld
libgloss/bfin/configure
libgloss/bfin/configure.in
libgloss/bfin/crt0.S
libgloss/bfin/include/blackfin.h
libgloss/bfin/include/cdefBF522.h
libgloss/bfin/include/cdefBF525.h
libgloss/bfin/include/cdefBF527.h
libgloss/bfin/include/cdefBF52x_base.h
libgloss/bfin/include/cdefBF531.h
libgloss/bfin/include/cdefBF532.h
libgloss/bfin/include/cdefBF533.h
libgloss/bfin/include/cdefBF534.h
libgloss/bfin/include/cdefBF535.h
libgloss/bfin/include/cdefBF536.h
libgloss/bfin/include/cdefBF537.h
libgloss/bfin/include/cdefBF538.h
libgloss/bfin/include/cdefBF539.h
libgloss/bfin/include/cdefBF53x.h
libgloss/bfin/include/cdefBF541.h
libgloss/bfin/include/cdefBF542.h
libgloss/bfin/include/cdefBF544.h
libgloss/bfin/include/cdefBF547.h
libgloss/bfin/include/cdefBF548.h
libgloss/bfin/include/cdefBF549.h
libgloss/bfin/include/cdefBF54x_base.h
libgloss/bfin/include/cdefBF561.h
libgloss/bfin/include/cdef_LPBlackfin.h
libgloss/bfin/include/cdefblackfin.h
libgloss/bfin/include/cplb.h
libgloss/bfin/include/cplbtab.h
libgloss/bfin/include/defBF522.h
libgloss/bfin/include/defBF525.h
libgloss/bfin/include/defBF527.h
libgloss/bfin/include/defBF52x_base.h
libgloss/bfin/include/defBF531.h
libgloss/bfin/include/defBF532.h
libgloss/bfin/include/defBF533.h
libgloss/bfin/include/defBF534.h
libgloss/bfin/include/defBF535.h
libgloss/bfin/include/defBF536.h
libgloss/bfin/include/defBF537.h
libgloss/bfin/include/defBF538.h
libgloss/bfin/include/defBF539.h
libgloss/bfin/include/defBF541.h
libgloss/bfin/include/defBF542.h
libgloss/bfin/include/defBF544.h
libgloss/bfin/include/defBF547.h
libgloss/bfin/include/defBF548.h
libgloss/bfin/include/defBF549.h
libgloss/bfin/include/defBF54x_base.h
libgloss/bfin/include/defBF561.h
libgloss/bfin/include/def_LPBlackfin.h
libgloss/bfin/include/defblackfin.h
libgloss/bfin/include/sys/_adi_platform.h
libgloss/bfin/include/sys/anomaly_macros_rtl.h
libgloss/bfin/include/sys/excause.h
libgloss/bfin/include/sys/exception.h
libgloss/bfin/include/sys/mc_typedef.h
libgloss/bfin/include/sys/platform.h
libgloss/bfin/include/sys/pll.h
libgloss/bfin/include/sysreg.h
libgloss/bfin/syscalls.c
libgloss/close.c
libgloss/config/default.mh
libgloss/config/default.mt
libgloss/config/dos.mh
libgloss/config/mips.mt
libgloss/config/mn10200.mt
libgloss/config/mn10300.mt
libgloss/config/ppc.mh
libgloss/configure
libgloss/configure.in
libgloss/cris/Makefile.in
libgloss/cris/aclocal.m4
libgloss/cris/configure
libgloss/cris/configure.in
libgloss/cris/crt0.S
libgloss/cris/crti.c
libgloss/cris/crtn.c
libgloss/cris/gensyscalls
libgloss/cris/irqtable.S
libgloss/cris/lcrt0.c
libgloss/cris/linunistd.h
libgloss/cris/outbyte.c
libgloss/cris/setup.S
libgloss/crx/Makefile.in
libgloss/crx/_exit.c
libgloss/crx/_getenv.c
libgloss/crx/_rename.c
libgloss/crx/aclocal.m4
libgloss/crx/close.c
libgloss/crx/configure
libgloss/crx/configure.in
libgloss/crx/crt0.S
libgloss/crx/crti.S
libgloss/crx/crtn.S
libgloss/crx/dvz_hndl.c
libgloss/crx/flg_hndl.c
libgloss/crx/fstat.c
libgloss/crx/getpid.c
libgloss/crx/iad_hndl.c
libgloss/crx/intable.c
libgloss/crx/isatty.c
libgloss/crx/kill.c
libgloss/crx/lseek.c
libgloss/crx/open.c
libgloss/crx/putnum.c
libgloss/crx/read.c
libgloss/crx/sbrk.c
libgloss/crx/sim.ld
libgloss/crx/stat.c
libgloss/crx/svc_hndl.c
libgloss/crx/time.c
libgloss/crx/und_hndl.c
libgloss/crx/unlink.c
libgloss/crx/write.c
libgloss/d30v/Makefile.in
libgloss/d30v/aclocal.m4
libgloss/d30v/configure
libgloss/d30v/configure.in
libgloss/d30v/crt0.S
libgloss/d30v/inbyte.c
libgloss/d30v/outbyte.c
libgloss/d30v/syscalls.c
libgloss/debug.c
libgloss/debug.h
libgloss/doc/Makefile.in
libgloss/doc/configure
libgloss/doc/configure.in
libgloss/doc/porting.texi
libgloss/fr30/Makefile.in
libgloss/fr30/aclocal.m4
libgloss/fr30/configure
libgloss/fr30/configure.in
libgloss/fr30/crt0.s
libgloss/fr30/syscalls.c
libgloss/frv/Makefile.in
libgloss/frv/aclocal.m4
libgloss/frv/configure
libgloss/frv/configure.in
libgloss/frv/crt0.S
libgloss/frv/fstat.c
libgloss/frv/getpid.c
libgloss/frv/isatty.c
libgloss/frv/kill.c
libgloss/frv/print.c
libgloss/frv/putnum.c
libgloss/frv/sbrk.c
libgloss/frv/sim-close.S
libgloss/frv/sim-exit.S
libgloss/frv/sim-inbyte.c
libgloss/frv/sim-lseek.S
libgloss/frv/sim-open.S
libgloss/frv/sim-read.S
libgloss/frv/sim-time.c
libgloss/frv/sim-unlink.S
libgloss/frv/sim-write.S
libgloss/frv/stat.c
libgloss/fstat.c
libgloss/getpid.c
libgloss/glue.h
libgloss/hp74x/Makefile.in
libgloss/hp74x/README
libgloss/hp74x/aclocal.m4
libgloss/hp74x/checksum.c
libgloss/hp74x/configure
libgloss/hp74x/configure.in
libgloss/hp74x/crt0.s
libgloss/hp74x/debugger.h
libgloss/hp74x/debugger.s
libgloss/hp74x/diagnose.h
libgloss/hp74x/hppa-defs.h
libgloss/hp74x/hppa.ld
libgloss/hp74x/io.c
libgloss/hp74x/iva_table.h
libgloss/hp74x/iva_table.s
libgloss/hp74x/pa_stub.c
libgloss/hp74x/test.c
libgloss/i386/Makefile.in
libgloss/i386/aclocal.m4
libgloss/i386/configure
libgloss/i386/configure.in
libgloss/i386/cygmon-crt0.S
libgloss/i386/cygmon-gmon.c
libgloss/i386/cygmon-gmon.h
libgloss/i386/cygmon-salib.c
libgloss/i386/cygmon-syscall.h
libgloss/i386/cygmon.ld
libgloss/i960/Makefile.in
libgloss/i960/aclocal.m4
libgloss/i960/asm.h
libgloss/i960/configure
libgloss/i960/configure.in
libgloss/i960/crt0.c
libgloss/i960/mon-read.c
libgloss/i960/mon-syscalls.S
libgloss/i960/mon-write.c
libgloss/i960/mon960.c
libgloss/i960/mon960.ld
libgloss/i960/syscall.h
libgloss/iq2000/Makefile.in
libgloss/iq2000/_exit.c
libgloss/iq2000/access.c
libgloss/iq2000/aclocal.m4
libgloss/iq2000/chmod.c
libgloss/iq2000/chown.c
libgloss/iq2000/close.c
libgloss/iq2000/configure
libgloss/iq2000/configure.in
libgloss/iq2000/creat.c
libgloss/iq2000/crt0.S
libgloss/iq2000/crt1.c
libgloss/iq2000/execv.c
libgloss/iq2000/execve.c
libgloss/iq2000/fork.c
libgloss/iq2000/fstat.c
libgloss/iq2000/getpid.c
libgloss/iq2000/gettime.c
libgloss/iq2000/isatty.c
libgloss/iq2000/kill.c
libgloss/iq2000/lseek.c
libgloss/iq2000/open.c
libgloss/iq2000/pipe.c
libgloss/iq2000/read.c
libgloss/iq2000/sbrk.c
libgloss/iq2000/sim.ld
libgloss/iq2000/stat.c
libgloss/iq2000/test.c
libgloss/iq2000/time.c
libgloss/iq2000/times.c
libgloss/iq2000/trap.c
libgloss/iq2000/trap.h
libgloss/iq2000/unlink.c
libgloss/iq2000/utime.c
libgloss/iq2000/wait.c
libgloss/iq2000/write.c
libgloss/isatty.c
libgloss/kill.c
libgloss/libnosys/Makefile.in
libgloss/libnosys/_exit.c
libgloss/libnosys/acconfig.h
libgloss/libnosys/aclocal.m4
libgloss/libnosys/chown.c
libgloss/libnosys/close.c
libgloss/libnosys/config.h.in
libgloss/libnosys/configure
libgloss/libnosys/configure.in
libgloss/libnosys/environ.c
libgloss/libnosys/errno.c
libgloss/libnosys/execve.c
libgloss/libnosys/fork.c
libgloss/libnosys/fstat.c
libgloss/libnosys/getpid.c
libgloss/libnosys/gettod.c
libgloss/libnosys/isatty.c
libgloss/libnosys/kill.c
libgloss/libnosys/link.c
libgloss/libnosys/lseek.c
libgloss/libnosys/open.c
libgloss/libnosys/read.c
libgloss/libnosys/readlink.c
libgloss/libnosys/sbrk.c
libgloss/libnosys/stat.c
libgloss/libnosys/symlink.c
libgloss/libnosys/times.c
libgloss/libnosys/unlink.c
libgloss/libnosys/wait.c
libgloss/libnosys/warning.h
libgloss/libnosys/write.c
libgloss/lm32/Makefile.in
libgloss/lm32/aclocal.m4
libgloss/lm32/configure
libgloss/lm32/configure.in
libgloss/lm32/crt0.S
libgloss/lm32/isatty.c
libgloss/lm32/scall.S
libgloss/lm32/sim.ld
libgloss/lseek.c
libgloss/m32c/Makefile.in
libgloss/m32c/abort.S
libgloss/m32c/aclocal.m4
libgloss/m32c/argv.S
libgloss/m32c/argvlen.S
libgloss/m32c/chdir.S
libgloss/m32c/chmod.S
libgloss/m32c/close.S
libgloss/m32c/configure
libgloss/m32c/configure.in
libgloss/m32c/crt0.S
libgloss/m32c/crtn.S
libgloss/m32c/exit.S
libgloss/m32c/fstat.S
libgloss/m32c/genscript
libgloss/m32c/getpid.S
libgloss/m32c/gettimeofday.S
libgloss/m32c/heaptop.S
libgloss/m32c/isatty.S
libgloss/m32c/kill.S
libgloss/m32c/link.S
libgloss/m32c/lseek.S
libgloss/m32c/m32c.tmpl
libgloss/m32c/m32csys.h
libgloss/m32c/open.S
libgloss/m32c/read.S
libgloss/m32c/sample.c
libgloss/m32c/sbrk.c
libgloss/m32c/stat.S
libgloss/m32c/time.S
libgloss/m32c/times.S
libgloss/m32c/unlink.S
libgloss/m32c/utime.S
libgloss/m32c/varvects.S
libgloss/m32c/varvects.h
libgloss/m32c/write.S
libgloss/m32r/Makefile.in
libgloss/m32r/aclocal.m4
libgloss/m32r/chmod.c
libgloss/m32r/close.c
libgloss/m32r/configure
libgloss/m32r/configure.in
libgloss/m32r/crt0.S
libgloss/m32r/eit.h
libgloss/m32r/eva-stub.ld
libgloss/m32r/eva.ld
libgloss/m32r/exit.c
libgloss/m32r/fstat.c
libgloss/m32r/getpid.c
libgloss/m32r/isatty.c
libgloss/m32r/kill.c
libgloss/m32r/lseek.c
libgloss/m32r/m32r-lib.c
libgloss/m32r/m32r-stub.c
libgloss/m32r/mon.specs
libgloss/m32r/open.c
libgloss/m32r/raise.c
libgloss/m32r/read.c
libgloss/m32r/sbrk.c
libgloss/m32r/stat.c
libgloss/m32r/trap0.S
libgloss/m32r/trapmon0.c
libgloss/m32r/unlink.c
libgloss/m32r/utime.c
libgloss/m32r/write.c
libgloss/m68hc11/Makefile.in
libgloss/m68hc11/aclocal.m4
libgloss/m68hc11/configure
libgloss/m68hc11/configure.in
libgloss/m68hc11/crt0.S
libgloss/m68hc11/sci-inout.S
libgloss/m68hc11/sim-valid-m68hc11.ld
libgloss/m68hc11/sim-valid-m68hc12.ld
libgloss/m68hc11/syscalls.c
libgloss/m68k/Makefile.in
libgloss/m68k/README
libgloss/m68k/aclocal.m4
libgloss/m68k/asm.h
libgloss/m68k/bcc.ld
libgloss/m68k/cf-crt0.S
libgloss/m68k/cf-crt1.c
libgloss/m68k/cf-exit.c
libgloss/m68k/cf-hosted.S
libgloss/m68k/cf-isrs.c
libgloss/m68k/cf-isv.S
libgloss/m68k/cf-sbrk.c
libgloss/m68k/cf.sc
libgloss/m68k/configure
libgloss/m68k/configure.in
libgloss/m68k/cpu32bug.S
libgloss/m68k/cpu32bug.h
libgloss/m68k/crt0.S
libgloss/m68k/dtor.C
libgloss/m68k/fido-_exit.c
libgloss/m68k/fido-crt0.S
libgloss/m68k/fido-handler.c
libgloss/m68k/fido-hosted.S
libgloss/m68k/fido-sbrk.c
libgloss/m68k/fido.h
libgloss/m68k/fido.sc
libgloss/m68k/fido_profiling.h
libgloss/m68k/idp-inbyte.c
libgloss/m68k/idp-outbyte.c
libgloss/m68k/idp.ld
libgloss/m68k/idpgdb.ld
libgloss/m68k/io-close.c
libgloss/m68k/io-exit.c
libgloss/m68k/io-fstat.c
libgloss/m68k/io-gdb.c
libgloss/m68k/io-gettimeofday.c
libgloss/m68k/io-isatty.c
libgloss/m68k/io-lseek.c
libgloss/m68k/io-open.c
libgloss/m68k/io-read.c
libgloss/m68k/io-rename.c
libgloss/m68k/io-stat.c
libgloss/m68k/io-system.c
libgloss/m68k/io-time.c
libgloss/m68k/io-unlink.c
libgloss/m68k/io-write.c
libgloss/m68k/io.h
libgloss/m68k/leds.c
libgloss/m68k/leds.h
libgloss/m68k/mc68681reg.h
libgloss/m68k/mc68ec.c
libgloss/m68k/mvme-stub.c
libgloss/m68k/mvme.S
libgloss/m68k/mvme135-asm.S
libgloss/m68k/mvme135.ld
libgloss/m68k/mvme162.ld
libgloss/m68k/mvme162lx-asm.S
libgloss/m68k/sbc5204.ld
libgloss/m68k/sbc5206.ld
libgloss/m68k/sim-abort.c
libgloss/m68k/sim-crt0.S
libgloss/m68k/sim-errno.c
libgloss/m68k/sim-funcs.c
libgloss/m68k/sim-inbyte.c
libgloss/m68k/sim-print.c
libgloss/m68k/sim-sbrk.c
libgloss/m68k/sim.ld
libgloss/m68k/simulator.S
libgloss/m68k/test.c
libgloss/mcore/Makefile.in
libgloss/mcore/aclocal.m4
libgloss/mcore/close.c
libgloss/mcore/cmb-exit.c
libgloss/mcore/cmb-inbyte.c
libgloss/mcore/cmb-outbyte.c
libgloss/mcore/configure
libgloss/mcore/configure.in
libgloss/mcore/crt0.S
libgloss/mcore/elf-cmb.ld
libgloss/mcore/elf-cmb.specs
libgloss/mcore/fstat.c
libgloss/mcore/getpid.c
libgloss/mcore/kill.c
libgloss/mcore/lseek.c
libgloss/mcore/open.c
libgloss/mcore/pe-cmb.ld
libgloss/mcore/pe-cmb.specs
libgloss/mcore/print.c
libgloss/mcore/putnum.c
libgloss/mcore/raise.c
libgloss/mcore/read.c
libgloss/mcore/sbrk.c
libgloss/mcore/stat.c
libgloss/mcore/syscalls.S
libgloss/mcore/unlink.c
libgloss/mcore/write.c
libgloss/mep/Makefile.in
libgloss/mep/aclocal.m4
libgloss/mep/configure
libgloss/mep/configure.in
libgloss/mep/crt0.S
libgloss/mep/crtn.S
libgloss/mep/default.ld
libgloss/mep/fmax.ld
libgloss/mep/gcov-io.h
libgloss/mep/gmap_default.ld
libgloss/mep/h_reset.c
libgloss/mep/handlers.c
libgloss/mep/isatty.c
libgloss/mep/mep-bb.c
libgloss/mep/mep-gmon.c
libgloss/mep/min.ld
libgloss/mep/read.c
libgloss/mep/sbrk.c
libgloss/mep/sdram-crt0.S
libgloss/mep/sim-crt0.S
libgloss/mep/sim-crtn.S
libgloss/mep/simnovec-crt0.S
libgloss/mep/simple.ld
libgloss/mep/simsdram-crt0.S
libgloss/mep/syscalls.S
libgloss/mep/write.c
libgloss/mips/Makefile.in
libgloss/mips/aclocal.m4
libgloss/mips/array-io.c
libgloss/mips/array.ld
libgloss/mips/cfe.c
libgloss/mips/cfe.ld
libgloss/mips/cfe_api.c
libgloss/mips/cfe_api.h
libgloss/mips/cfe_api_int.h
libgloss/mips/cfe_error.h
libgloss/mips/cfe_mem.c
libgloss/mips/cma101.c
libgloss/mips/configure
libgloss/mips/configure.in
libgloss/mips/crt0.S
libgloss/mips/crt0_cfe.S
libgloss/mips/crt0_cygmon.S
libgloss/mips/cygmon.c
libgloss/mips/ddb-kseg0.ld
libgloss/mips/ddb.ld
libgloss/mips/dtor.C
libgloss/mips/dve.ld
libgloss/mips/dvemon.c
libgloss/mips/entry.S
libgloss/mips/idt.ld
libgloss/mips/idt32.ld
libgloss/mips/idt64.ld
libgloss/mips/idtecoff.ld
libgloss/mips/idtmon.S
libgloss/mips/jmr3904-io.c
libgloss/mips/jmr3904app-java.ld
libgloss/mips/jmr3904app.ld
libgloss/mips/jmr3904dram-java.ld
libgloss/mips/jmr3904dram.ld
libgloss/mips/lsi.ld
libgloss/mips/lsipmon.S
libgloss/mips/nullmon.c
libgloss/mips/nullmon.ld
libgloss/mips/pmon.S
libgloss/mips/pmon.ld
libgloss/mips/regs.S
libgloss/mips/syscalls.c
libgloss/mips/test.c
libgloss/mips/vr4300.S
libgloss/mips/vr5xxx.S
libgloss/mn10200/Makefile.in
libgloss/mn10200/_exit.c
libgloss/mn10200/access.c
libgloss/mn10200/aclocal.m4
libgloss/mn10200/chmod.c
libgloss/mn10200/chown.c
libgloss/mn10200/close.c
libgloss/mn10200/configure
libgloss/mn10200/configure.in
libgloss/mn10200/creat.c
libgloss/mn10200/crt0.S
libgloss/mn10200/crt1.c
libgloss/mn10200/eval.ld
libgloss/mn10200/execv.c
libgloss/mn10200/execve.c
libgloss/mn10200/fork.c
libgloss/mn10200/fstat.c
libgloss/mn10200/getpid.c
libgloss/mn10200/gettime.c
libgloss/mn10200/isatty.c
libgloss/mn10200/kill.c
libgloss/mn10200/lseek.c
libgloss/mn10200/open.c
libgloss/mn10200/pipe.c
libgloss/mn10200/read.c
libgloss/mn10200/sbrk.c
libgloss/mn10200/sim.ld
libgloss/mn10200/stat.c
libgloss/mn10200/test.c
libgloss/mn10200/time.c
libgloss/mn10200/times.c
libgloss/mn10200/trap.S
libgloss/mn10200/trap.h
libgloss/mn10200/unlink.c
libgloss/mn10200/utime.c
libgloss/mn10200/wait.c
libgloss/mn10200/write.c
libgloss/mn10300/Makefile.in
libgloss/mn10300/_exit.c
libgloss/mn10300/access.c
libgloss/mn10300/aclocal.m4
libgloss/mn10300/asb2303.ld
libgloss/mn10300/asb2305.ld
libgloss/mn10300/chmod.c
libgloss/mn10300/chown.c
libgloss/mn10300/close.c
libgloss/mn10300/configure
libgloss/mn10300/configure.in
libgloss/mn10300/creat.c
libgloss/mn10300/crt0-eval.S
libgloss/mn10300/crt0.S
libgloss/mn10300/crt0_cygmon.S
libgloss/mn10300/crt0_redboot.S
libgloss/mn10300/crt1.c
libgloss/mn10300/cygmon.c
libgloss/mn10300/eval.ld
libgloss/mn10300/execv.c
libgloss/mn10300/execve.c
libgloss/mn10300/fork.c
libgloss/mn10300/fstat.c
libgloss/mn10300/getpid.c
libgloss/mn10300/gettime.c
libgloss/mn10300/isatty.c
libgloss/mn10300/kill.c
libgloss/mn10300/lseek.c
libgloss/mn10300/open.c
libgloss/mn10300/pipe.c
libgloss/mn10300/read.c
libgloss/mn10300/sbrk.c
libgloss/mn10300/sim.ld
libgloss/mn10300/stat.c
libgloss/mn10300/test.c
libgloss/mn10300/time.c
libgloss/mn10300/times.c
libgloss/mn10300/trap.S
libgloss/mn10300/trap.h
libgloss/mn10300/unlink.c
libgloss/mn10300/utime.c
libgloss/mn10300/wait.c
libgloss/mn10300/write.c
libgloss/moxie/Makefile.in
libgloss/moxie/aclocal.m4
libgloss/moxie/configure
libgloss/moxie/configure.in
libgloss/moxie/crt0.S
libgloss/moxie/fstat.c
libgloss/moxie/getpid.c
libgloss/moxie/isatty.c
libgloss/moxie/kill.c
libgloss/moxie/moxie-elf-common.ld
libgloss/moxie/print.c
libgloss/moxie/putnum.c
libgloss/moxie/qemu-time.c
libgloss/moxie/qemu-write.c
libgloss/moxie/qemu.ld
libgloss/moxie/sbrk.c
libgloss/moxie/sim-close.S
libgloss/moxie/sim-exit.S
libgloss/moxie/sim-inbyte.c
libgloss/moxie/sim-lseek.S
libgloss/moxie/sim-lseek.c
libgloss/moxie/sim-open.S
libgloss/moxie/sim-read.S
libgloss/moxie/sim-time.c
libgloss/moxie/sim-unlink.S
libgloss/moxie/sim-write.S
libgloss/moxie/sim.ld
libgloss/moxie/stat.c
libgloss/mt/16-002.ld
libgloss/mt/16-003.ld
libgloss/mt/64-001.ld
libgloss/mt/Makefile.in
libgloss/mt/access.c
libgloss/mt/aclocal.m4
libgloss/mt/chmod.c
libgloss/mt/close.c
libgloss/mt/configure
libgloss/mt/configure.in
libgloss/mt/crt0-16-002.S
libgloss/mt/crt0-16-003.S
libgloss/mt/crt0-64-001.S
libgloss/mt/crt0-ms2.S
libgloss/mt/crt0.S
libgloss/mt/exit-16-002.c
libgloss/mt/exit-16-003.c
libgloss/mt/exit-64-001.c
libgloss/mt/exit-ms2.c
libgloss/mt/exit.c
libgloss/mt/fstat.c
libgloss/mt/getpid.c
libgloss/mt/gettime.c
libgloss/mt/isatty.c
libgloss/mt/kill.c
libgloss/mt/lseek.c
libgloss/mt/ms2.ld
libgloss/mt/open.c
libgloss/mt/read.c
libgloss/mt/sbrk.c
libgloss/mt/startup-16-002.S
libgloss/mt/startup-16-003.S
libgloss/mt/startup-64-001.S
libgloss/mt/startup-ms2.S
libgloss/mt/stat.c
libgloss/mt/time.c
libgloss/mt/times.c
libgloss/mt/trap.S
libgloss/mt/trap.h
libgloss/mt/unlink.c
libgloss/mt/utime.c
libgloss/mt/write.c
libgloss/open.c
libgloss/pa/Makefile.in
libgloss/pa/README
libgloss/pa/aclocal.m4
libgloss/pa/configure
libgloss/pa/configure.in
libgloss/pa/crt0.S
libgloss/pa/hp-milli.s
libgloss/pa/op50n-io.S
libgloss/pa/op50n.h
libgloss/pa/op50n.ld
libgloss/pa/op50nled.c
libgloss/pa/setjmp.S
libgloss/pa/test.c
libgloss/pa/w89k-io.c
libgloss/pa/w89k.h
libgloss/pa/w89k.ld
libgloss/print.c
libgloss/putnum.c
libgloss/read.c
libgloss/rs6000/Makefile.in
libgloss/rs6000/aclocal.m4
libgloss/rs6000/ads-exit.S
libgloss/rs6000/ads-io.c
libgloss/rs6000/ads.ld
libgloss/rs6000/configure
libgloss/rs6000/configure.in
libgloss/rs6000/crt0.S
libgloss/rs6000/mbx-exit.c
libgloss/rs6000/mbx-inbyte.c
libgloss/rs6000/mbx-outbyte.c
libgloss/rs6000/mbx-print.c
libgloss/rs6000/mbx.ld
libgloss/rs6000/mbx.specs
libgloss/rs6000/mcount.S
libgloss/rs6000/mvme-errno.c
libgloss/rs6000/mvme-exit.S
libgloss/rs6000/mvme-inbyte.S
libgloss/rs6000/mvme-outbyte.S
libgloss/rs6000/mvme-print.c
libgloss/rs6000/mvme-read.c
libgloss/rs6000/sim-abort.c
libgloss/rs6000/sim-crt0.S
libgloss/rs6000/sim-errno.c
libgloss/rs6000/sim-getrusage.S
libgloss/rs6000/sim-inbyte.c
libgloss/rs6000/sim-print.c
libgloss/rs6000/sim-sbrk.c
libgloss/rs6000/simulator.S
libgloss/rs6000/sol-cfuncs.c
libgloss/rs6000/sol-syscall.S
libgloss/rs6000/test.c
libgloss/rs6000/xil-crt0.S
libgloss/rs6000/xilinx.ld
libgloss/rs6000/xilinx440.ld
libgloss/rs6000/yellowknife.ld
libgloss/sbrk.c
libgloss/sh/sh1lcevb.ld
libgloss/sh/sh2lcevb.ld
libgloss/sh/sh3bb.ld
libgloss/sh/sh3lcevb.ld
libgloss/sparc/Makefile.in
libgloss/sparc/aclocal.m4
libgloss/sparc/asm.h
libgloss/sparc/cache.c
libgloss/sparc/configure
libgloss/sparc/configure.in
libgloss/sparc/crt0-701.S
libgloss/sparc/crt0.S
libgloss/sparc/cygmon-crt0.S
libgloss/sparc/cygmon-salib.c
libgloss/sparc/cygmon-sparc64-ld.src
libgloss/sparc/cygmon.ld.src
libgloss/sparc/dtor.C
libgloss/sparc/elfsim.ld
libgloss/sparc/erc32-crt0.S
libgloss/sparc/erc32-io.c
libgloss/sparc/erc32-stub.c
libgloss/sparc/erc32.ld
libgloss/sparc/ex930.ld
libgloss/sparc/ex931.ld
libgloss/sparc/ex934.ld
libgloss/sparc/fixctors.c
libgloss/sparc/libsys/Makefile.in
libgloss/sparc/libsys/_exit.S
libgloss/sparc/libsys/aclocal.m4
libgloss/sparc/libsys/cerror.S
libgloss/sparc/libsys/configure
libgloss/sparc/libsys/configure.in
libgloss/sparc/libsys/isatty.c
libgloss/sparc/libsys/libsys-crt0.S
libgloss/sparc/libsys/sbrk.S
libgloss/sparc/libsys/syscall.h
libgloss/sparc/libsys/syscallasm.h
libgloss/sparc/libsys/template.S
libgloss/sparc/libsys/template_r.S
libgloss/sparc/salib-701.c
libgloss/sparc/salib.c
libgloss/sparc/slite.h
libgloss/sparc/sparc-stub.c
libgloss/sparc/sparc86x.ld
libgloss/sparc/sparcl-stub.c
libgloss/sparc/sparclet-stub.c
libgloss/sparc/sparclite.h
libgloss/sparc/sysc-701.c
libgloss/sparc/syscalls.c
libgloss/sparc/test.c
libgloss/sparc/traps.S
libgloss/sparc/tsc701.ld
libgloss/spu/Makefile.in
libgloss/spu/access.c
libgloss/spu/aclocal.m4
libgloss/spu/chdir.c
libgloss/spu/chmod.c
libgloss/spu/chown.c
libgloss/spu/close.c
libgloss/spu/configure
libgloss/spu/configure.in
libgloss/spu/conv_stat.c
libgloss/spu/crt0.S
libgloss/spu/crti.S
libgloss/spu/crtn.S
libgloss/spu/dirfuncs.c
libgloss/spu/dup.c
libgloss/spu/dup2.c
libgloss/spu/exit.c
libgloss/spu/fchdir.c
libgloss/spu/fchmod.c
libgloss/spu/fchown.c
libgloss/spu/fdatasync.c
libgloss/spu/fstat.c
libgloss/spu/fsync.c
libgloss/spu/ftruncate.c
libgloss/spu/getcwd.c
libgloss/spu/getitimer.c
libgloss/spu/getpagesize.c
libgloss/spu/getpid.c
libgloss/spu/gettimeofday.c
libgloss/spu/isatty.c
libgloss/spu/jsre.h
libgloss/spu/kill.c
libgloss/spu/lchown.c
libgloss/spu/link.c
libgloss/spu/linux_getpid.c
libgloss/spu/linux_gettid.c
libgloss/spu/linux_syscalls.c
libgloss/spu/lockf.c
libgloss/spu/lseek.c
libgloss/spu/lstat.c
libgloss/spu/mkdir.c
libgloss/spu/mknod.c
libgloss/spu/mkstemp.c
libgloss/spu/mktemp.c
libgloss/spu/mmap_eaddr.c
libgloss/spu/mremap_eaddr.c
libgloss/spu/msync_eaddr.c
libgloss/spu/munmap_eaddr.c
libgloss/spu/nanosleep.c
libgloss/spu/open.c
libgloss/spu/pread.c
libgloss/spu/pwrite.c
libgloss/spu/read.c
libgloss/spu/readlink.c
libgloss/spu/readv.c
libgloss/spu/rmdir.c
libgloss/spu/sbrk.c
libgloss/spu/sched_yield.c
libgloss/spu/setitimer.c
libgloss/spu/shm_open.c
libgloss/spu/shm_unlink.c
libgloss/spu/stat.c
libgloss/spu/symlink.c
libgloss/spu/sync.c
libgloss/spu/syscalls.c
libgloss/spu/times.c
libgloss/spu/truncate.c
libgloss/spu/umask.c
libgloss/spu/unlink.c
libgloss/spu/utime.c
libgloss/spu/utimes.c
libgloss/spu/write.c
libgloss/spu/writev.c
libgloss/stat.c
libgloss/syscall.h
libgloss/testsuite/Makefile.in
libgloss/testsuite/config/hppa.mt
libgloss/testsuite/config/m68k.mt
libgloss/testsuite/config/mips.mt
libgloss/testsuite/config/support.c
libgloss/testsuite/configure.in
libgloss/testsuite/lib/libgloss.exp
libgloss/testsuite/libgloss.all/.gdbinit
libgloss/testsuite/libgloss.all/Makefile.in
libgloss/testsuite/libgloss.all/array.c
libgloss/testsuite/libgloss.all/configure.in
libgloss/testsuite/libgloss.all/div.c
libgloss/testsuite/libgloss.all/double.c
libgloss/testsuite/libgloss.all/float.c
libgloss/testsuite/libgloss.all/func.c
libgloss/testsuite/libgloss.all/io.c
libgloss/testsuite/libgloss.all/math.c
libgloss/testsuite/libgloss.all/memory.c
libgloss/testsuite/libgloss.all/misc.c
libgloss/testsuite/libgloss.all/printf.c
libgloss/testsuite/libgloss.all/struct.c
libgloss/testsuite/libgloss.all/varargs.c
libgloss/testsuite/libgloss.all/varargs2.c
libgloss/unlink.c
libgloss/v850/sys/syscall.h
libgloss/wince/Makefile.am
libgloss/wince/Makefile.in
libgloss/wince/aclocal.m4
libgloss/wince/configure
libgloss/wince/configure.in
libgloss/write.c
libgloss/xstormy16/Makefile.in
libgloss/xstormy16/aclocal.m4
libgloss/xstormy16/close.c
libgloss/xstormy16/configure
libgloss/xstormy16/configure.in
libgloss/xstormy16/crt0.s
libgloss/xstormy16/crt0_stub.s
libgloss/xstormy16/crti.s
libgloss/xstormy16/crtn.s
libgloss/xstormy16/eva_app.c
libgloss/xstormy16/eva_app.ld
libgloss/xstormy16/eva_stub.ld
libgloss/xstormy16/fstat.c
libgloss/xstormy16/getpid.c
libgloss/xstormy16/isatty.c
libgloss/xstormy16/kill.c
libgloss/xstormy16/lseek.c
libgloss/xstormy16/open.c
libgloss/xstormy16/sim_high.ld
libgloss/xstormy16/sim_malloc_start.s
libgloss/xstormy16/sim_rom.ld
libgloss/xstormy16/stat.c
libgloss/xstormy16/syscalls.S
libgloss/xstormy16/syscalls.m4
libgloss/xstormy16/unlink.c
libgloss/xstormy16/xstormy16_stub.c
newlib/ChangeLog
newlib/HOWTO
newlib/MAINTAINERS
newlib/Makefile.am
newlib/Makefile.in
newlib/Makefile.shared
newlib/NEWS
newlib/README
newlib/acconfig.h
newlib/acinclude.m4
newlib/aclocal.m4
newlib/configure
newlib/configure.host
newlib/configure.in
newlib/confsubdir.m4
newlib/doc/Makefile.am
newlib/doc/Makefile.in
newlib/doc/aclocal.m4
newlib/doc/ansidecl.h
newlib/doc/configure
newlib/doc/configure.in
newlib/doc/doc.str
newlib/doc/makedoc.c
newlib/iconvdata/EUC-JP.irreversible
newlib/iconvdata/Makefile.am
newlib/iconvdata/Makefile.in
newlib/iconvdata/SJIS.irreversible
newlib/iconvdata/aclocal.m4
newlib/iconvdata/configure
newlib/iconvdata/configure.in
newlib/iconvdata/dummy.c
newlib/iconvdata/euc-jp.c
newlib/iconvdata/gconv-modules
newlib/iconvdata/jis0201.c
newlib/iconvdata/jis0201.h
newlib/iconvdata/jis0208.c
newlib/iconvdata/jis0208.h
newlib/iconvdata/jis0212.c
newlib/iconvdata/jis0212.h
newlib/iconvdata/sjis.c
newlib/libc/Makefile.am
newlib/libc/Makefile.in
newlib/libc/aclocal.m4
newlib/libc/argz/Makefile.am
newlib/libc/argz/Makefile.in
newlib/libc/argz/argz_add.c
newlib/libc/argz/argz_add_sep.c
newlib/libc/argz/argz_append.c
newlib/libc/argz/argz_count.c
newlib/libc/argz/argz_create.c
newlib/libc/argz/argz_create_sep.c
newlib/libc/argz/argz_delete.c
newlib/libc/argz/argz_extract.c
newlib/libc/argz/argz_insert.c
newlib/libc/argz/argz_next.c
newlib/libc/argz/argz_replace.c
newlib/libc/argz/argz_stringify.c
newlib/libc/argz/buf_findstr.c
newlib/libc/argz/buf_findstr.h
newlib/libc/argz/dummy.c
newlib/libc/argz/envz_add.c
newlib/libc/argz/envz_entry.c
newlib/libc/argz/envz_get.c
newlib/libc/argz/envz_merge.c
newlib/libc/argz/envz_remove.c
newlib/libc/argz/envz_strip.c
newlib/libc/configure
newlib/libc/configure.in
newlib/libc/ctype/Makefile.am
newlib/libc/ctype/Makefile.in
newlib/libc/ctype/ctype.tex
newlib/libc/ctype/ctype_.c
newlib/libc/ctype/ctype_cp.h
newlib/libc/ctype/ctype_iso.h
newlib/libc/ctype/isalnum.c
newlib/libc/ctype/isalpha.c
newlib/libc/ctype/isascii.c
newlib/libc/ctype/isblank.c
newlib/libc/ctype/iscntrl.c
newlib/libc/ctype/isdigit.c
newlib/libc/ctype/islower.c
newlib/libc/ctype/isprint.c
newlib/libc/ctype/ispunct.c
newlib/libc/ctype/isspace.c
newlib/libc/ctype/isupper.c
newlib/libc/ctype/iswalnum.c
newlib/libc/ctype/iswalpha.c
newlib/libc/ctype/iswblank.c
newlib/libc/ctype/iswcntrl.c
newlib/libc/ctype/iswctype.c
newlib/libc/ctype/iswdigit.c
newlib/libc/ctype/iswgraph.c
newlib/libc/ctype/iswlower.c
newlib/libc/ctype/iswprint.c
newlib/libc/ctype/iswpunct.c
newlib/libc/ctype/iswspace.c
newlib/libc/ctype/iswupper.c
newlib/libc/ctype/iswxdigit.c
newlib/libc/ctype/isxdigit.c
newlib/libc/ctype/jp2uc.c
newlib/libc/ctype/jp2uc.h
newlib/libc/ctype/local.h
newlib/libc/ctype/toascii.c
newlib/libc/ctype/tolower.c
newlib/libc/ctype/toupper.c
newlib/libc/ctype/towctrans.c
newlib/libc/ctype/towlower.c
newlib/libc/ctype/towupper.c
newlib/libc/ctype/utf8alpha.h
newlib/libc/ctype/utf8print.h
newlib/libc/ctype/utf8punct.h
newlib/libc/ctype/wctrans.c
newlib/libc/ctype/wctype.c
newlib/libc/errno/Makefile.am
newlib/libc/errno/Makefile.in
newlib/libc/errno/errno.c
newlib/libc/iconv/Makefile.am
newlib/libc/iconv/Makefile.in
newlib/libc/iconv/ccs/Makefile.am
newlib/libc/iconv/ccs/Makefile.in
newlib/libc/iconv/ccs/big5.c
newlib/libc/iconv/ccs/binary/Makefile.am
newlib/libc/iconv/ccs/binary/Makefile.in
newlib/libc/iconv/ccs/binary/big5.cct
newlib/libc/iconv/ccs/binary/cns11643_plane1.cct
newlib/libc/iconv/ccs/binary/cns11643_plane14.cct
newlib/libc/iconv/ccs/binary/cns11643_plane2.cct
newlib/libc/iconv/ccs/binary/cp775.cct
newlib/libc/iconv/ccs/binary/cp850.cct
newlib/libc/iconv/ccs/binary/cp852.cct
newlib/libc/iconv/ccs/binary/cp855.cct
newlib/libc/iconv/ccs/binary/cp866.cct
newlib/libc/iconv/ccs/binary/iso_8859_1.cct
newlib/libc/iconv/ccs/binary/iso_8859_10.cct
newlib/libc/iconv/ccs/binary/iso_8859_11.cct
newlib/libc/iconv/ccs/binary/iso_8859_13.cct
newlib/libc/iconv/ccs/binary/iso_8859_14.cct
newlib/libc/iconv/ccs/binary/iso_8859_15.cct
newlib/libc/iconv/ccs/binary/iso_8859_2.cct
newlib/libc/iconv/ccs/binary/iso_8859_3.cct
newlib/libc/iconv/ccs/binary/iso_8859_4.cct
newlib/libc/iconv/ccs/binary/iso_8859_5.cct
newlib/libc/iconv/ccs/binary/iso_8859_6.cct
newlib/libc/iconv/ccs/binary/iso_8859_7.cct
newlib/libc/iconv/ccs/binary/iso_8859_8.cct
newlib/libc/iconv/ccs/binary/iso_8859_9.cct
newlib/libc/iconv/ccs/binary/iso_ir_111.cct
newlib/libc/iconv/ccs/binary/jis_x0201_1976.cct
newlib/libc/iconv/ccs/binary/jis_x0208_1990.cct
newlib/libc/iconv/ccs/binary/jis_x0212_1990.cct
newlib/libc/iconv/ccs/binary/koi8_r.cct
newlib/libc/iconv/ccs/binary/koi8_ru.cct
newlib/libc/iconv/ccs/binary/koi8_u.cct
newlib/libc/iconv/ccs/binary/koi8_uni.cct
newlib/libc/iconv/ccs/binary/ksx1001.cct
newlib/libc/iconv/ccs/binary/win_1250.cct
newlib/libc/iconv/ccs/binary/win_1251.cct
newlib/libc/iconv/ccs/binary/win_1252.cct
newlib/libc/iconv/ccs/binary/win_1253.cct
newlib/libc/iconv/ccs/binary/win_1254.cct
newlib/libc/iconv/ccs/binary/win_1255.cct
newlib/libc/iconv/ccs/binary/win_1256.cct
newlib/libc/iconv/ccs/binary/win_1257.cct
newlib/libc/iconv/ccs/binary/win_1258.cct
newlib/libc/iconv/ccs/ccs.h
newlib/libc/iconv/ccs/ccsbi.c
newlib/libc/iconv/ccs/ccsbi.h
newlib/libc/iconv/ccs/ccsnames.h
newlib/libc/iconv/ccs/cns11643_plane1.c
newlib/libc/iconv/ccs/cns11643_plane14.c
newlib/libc/iconv/ccs/cns11643_plane2.c
newlib/libc/iconv/ccs/cp775.c
newlib/libc/iconv/ccs/cp850.c
newlib/libc/iconv/ccs/cp852.c
newlib/libc/iconv/ccs/cp855.c
newlib/libc/iconv/ccs/cp866.c
newlib/libc/iconv/ccs/iso_8859_1.c
newlib/libc/iconv/ccs/iso_8859_10.c
newlib/libc/iconv/ccs/iso_8859_11.c
newlib/libc/iconv/ccs/iso_8859_13.c
newlib/libc/iconv/ccs/iso_8859_14.c
newlib/libc/iconv/ccs/iso_8859_15.c
newlib/libc/iconv/ccs/iso_8859_2.c
newlib/libc/iconv/ccs/iso_8859_3.c
newlib/libc/iconv/ccs/iso_8859_4.c
newlib/libc/iconv/ccs/iso_8859_5.c
newlib/libc/iconv/ccs/iso_8859_6.c
newlib/libc/iconv/ccs/iso_8859_7.c
newlib/libc/iconv/ccs/iso_8859_8.c
newlib/libc/iconv/ccs/iso_8859_9.c
newlib/libc/iconv/ccs/iso_ir_111.c
newlib/libc/iconv/ccs/jis_x0201_1976.c
newlib/libc/iconv/ccs/jis_x0208_1990.c
newlib/libc/iconv/ccs/jis_x0212_1990.c
newlib/libc/iconv/ccs/koi8_r.c
newlib/libc/iconv/ccs/koi8_ru.c
newlib/libc/iconv/ccs/koi8_u.c
newlib/libc/iconv/ccs/koi8_uni.c
newlib/libc/iconv/ccs/ksx1001.c
newlib/libc/iconv/ccs/mktbl.pl
newlib/libc/iconv/ccs/win_1250.c
newlib/libc/iconv/ccs/win_1251.c
newlib/libc/iconv/ccs/win_1252.c
newlib/libc/iconv/ccs/win_1253.c
newlib/libc/iconv/ccs/win_1254.c
newlib/libc/iconv/ccs/win_1255.c
newlib/libc/iconv/ccs/win_1256.c
newlib/libc/iconv/ccs/win_1257.c
newlib/libc/iconv/ccs/win_1258.c
newlib/libc/iconv/ces/Makefile.am
newlib/libc/iconv/ces/Makefile.in
newlib/libc/iconv/ces/cesbi.c
newlib/libc/iconv/ces/cesbi.h
newlib/libc/iconv/ces/cesdeps.h
newlib/libc/iconv/ces/euc.c
newlib/libc/iconv/ces/mkdeps.pl
newlib/libc/iconv/ces/table-pcs.c
newlib/libc/iconv/ces/table.c
newlib/libc/iconv/ces/ucs-2-internal.c
newlib/libc/iconv/ces/ucs-2.c
newlib/libc/iconv/ces/ucs-4-internal.c
newlib/libc/iconv/ces/ucs-4.c
newlib/libc/iconv/ces/us-ascii.c
newlib/libc/iconv/ces/utf-16.c
newlib/libc/iconv/ces/utf-8.c
newlib/libc/iconv/encoding.aliases
newlib/libc/iconv/iconv.tex
newlib/libc/iconv/lib/Makefile.am
newlib/libc/iconv/lib/Makefile.in
newlib/libc/iconv/lib/aliasesbi.c
newlib/libc/iconv/lib/aliasesi.c
newlib/libc/iconv/lib/conv.h
newlib/libc/iconv/lib/encnames.h
newlib/libc/iconv/lib/encoding.deps
newlib/libc/iconv/lib/endian.h
newlib/libc/iconv/lib/iconv.c
newlib/libc/iconv/lib/iconvnls.c
newlib/libc/iconv/lib/iconvnls.h
newlib/libc/iconv/lib/local.h
newlib/libc/iconv/lib/nullconv.c
newlib/libc/iconv/lib/ucsconv.c
newlib/libc/iconv/lib/ucsconv.h
newlib/libc/include/_ansi.h
newlib/libc/include/_syslist.h
newlib/libc/include/alloca.h
newlib/libc/include/ar.h
newlib/libc/include/argz.h
newlib/libc/include/assert.h
newlib/libc/include/ctype.h
newlib/libc/include/dirent.h
newlib/libc/include/envlock.h
newlib/libc/include/envz.h
newlib/libc/include/errno.h
newlib/libc/include/fastmath.h
newlib/libc/include/fcntl.h
newlib/libc/include/fnmatch.h
newlib/libc/include/getopt.h
newlib/libc/include/glob.h
newlib/libc/include/grp.h
newlib/libc/include/iconv.h
newlib/libc/include/ieeefp.h
newlib/libc/include/inttypes.h
newlib/libc/include/langinfo.h
newlib/libc/include/libgen.h
newlib/libc/include/limits.h
newlib/libc/include/locale.h
newlib/libc/include/machine/_default_types.h
newlib/libc/include/machine/_types.h
newlib/libc/include/machine/ansi.h
newlib/libc/include/machine/endian.h
newlib/libc/include/machine/fastmath.h
newlib/libc/include/machine/ieeefp.h
newlib/libc/include/machine/malloc.h
newlib/libc/include/machine/param.h
newlib/libc/include/machine/setjmp-dj.h
newlib/libc/include/machine/setjmp.h
newlib/libc/include/machine/stdlib.h
newlib/libc/include/machine/termios.h
newlib/libc/include/machine/time.h
newlib/libc/include/machine/types.h
newlib/libc/include/malloc.h
newlib/libc/include/math.h
newlib/libc/include/newlib.h
newlib/libc/include/paths.h
newlib/libc/include/process.h
newlib/libc/include/pthread.h
newlib/libc/include/pwd.h
newlib/libc/include/reent.h
newlib/libc/include/regdef.h
newlib/libc/include/regex.h
newlib/libc/include/sched.h
newlib/libc/include/search.h
newlib/libc/include/setjmp.h
newlib/libc/include/signal.h
newlib/libc/include/stdint.h
newlib/libc/include/stdio.h
newlib/libc/include/stdlib.h
newlib/libc/include/string.h
newlib/libc/include/sys/_default_fcntl.h
newlib/libc/include/sys/_types.h
newlib/libc/include/sys/cdefs.h
newlib/libc/include/sys/config.h
newlib/libc/include/sys/custom_file.h
newlib/libc/include/sys/dirent.h
newlib/libc/include/sys/errno.h
newlib/libc/include/sys/fcntl.h
newlib/libc/include/sys/features.h
newlib/libc/include/sys/file.h
newlib/libc/include/sys/iconvnls.h
newlib/libc/include/sys/lock.h
newlib/libc/include/sys/param.h
newlib/libc/include/sys/queue.h
newlib/libc/include/sys/reent.h
newlib/libc/include/sys/resource.h
newlib/libc/include/sys/sched.h
newlib/libc/include/sys/signal.h
newlib/libc/include/sys/stat.h
newlib/libc/include/sys/stdio.h
newlib/libc/include/sys/string.h
newlib/libc/include/sys/syslimits.h
newlib/libc/include/sys/time.h
newlib/libc/include/sys/timeb.h
newlib/libc/include/sys/times.h
newlib/libc/include/sys/types.h
newlib/libc/include/sys/unistd.h
newlib/libc/include/sys/utime.h
newlib/libc/include/sys/wait.h
newlib/libc/include/tar.h
newlib/libc/include/termios.h
newlib/libc/include/time.h
newlib/libc/include/unctrl.h
newlib/libc/include/unistd.h
newlib/libc/include/utime.h
newlib/libc/include/utmp.h
newlib/libc/include/wchar.h
newlib/libc/include/wctype.h
newlib/libc/include/wordexp.h
newlib/libc/libc.texinfo
newlib/libc/locale/Makefile.am
newlib/libc/locale/Makefile.in
newlib/libc/locale/fix_grouping.c
newlib/libc/locale/ldpart.c
newlib/libc/locale/ldpart.h
newlib/libc/locale/lmessages.c
newlib/libc/locale/lmessages.h
newlib/libc/locale/lmonetary.c
newlib/libc/locale/lmonetary.h
newlib/libc/locale/lnumeric.c
newlib/libc/locale/lnumeric.h
newlib/libc/locale/locale.c
newlib/libc/locale/locale.tex
newlib/libc/locale/nl_langinfo.3
newlib/libc/locale/nl_langinfo.c
newlib/libc/locale/setlocale.h
newlib/libc/locale/timelocal.c
newlib/libc/locale/timelocal.h
newlib/libc/machine/Makefile.am
newlib/libc/machine/Makefile.in
newlib/libc/machine/a29k/Makefile.am
newlib/libc/machine/a29k/Makefile.in
newlib/libc/machine/a29k/aclocal.m4
newlib/libc/machine/a29k/configure
newlib/libc/machine/a29k/configure.in
newlib/libc/machine/aclocal.m4
newlib/libc/machine/arm/Makefile.am
newlib/libc/machine/arm/Makefile.in
newlib/libc/machine/arm/access.c
newlib/libc/machine/arm/aclocal.m4
newlib/libc/machine/arm/arm_asm.h
newlib/libc/machine/arm/configure
newlib/libc/machine/arm/configure.in
newlib/libc/machine/arm/machine/endian.h
newlib/libc/machine/arm/machine/param.h
newlib/libc/machine/arm/setjmp.S
newlib/libc/machine/arm/strcmp.c
newlib/libc/machine/arm/strcpy.c
newlib/libc/machine/arm/strlen.c
newlib/libc/machine/bfin/Makefile.am
newlib/libc/machine/bfin/Makefile.in
newlib/libc/machine/bfin/aclocal.m4
newlib/libc/machine/bfin/configure
newlib/libc/machine/bfin/configure.in
newlib/libc/machine/bfin/longjmp.S
newlib/libc/machine/bfin/setjmp.S
newlib/libc/machine/configure
newlib/libc/machine/configure.in
newlib/libc/machine/cris/Makefile.am
newlib/libc/machine/cris/Makefile.in
newlib/libc/machine/cris/aclocal.m4
newlib/libc/machine/cris/configure
newlib/libc/machine/cris/configure.in
newlib/libc/machine/cris/include/pthread.h
newlib/libc/machine/cris/libcdtor.c
newlib/libc/machine/cris/memcpy.c
newlib/libc/machine/cris/memmove.c
newlib/libc/machine/cris/memset.c
newlib/libc/machine/cris/setjmp.c
newlib/libc/machine/cris/sys/errno.h
newlib/libc/machine/cris/sys/fcntl.h
newlib/libc/machine/cris/sys/signal.h
newlib/libc/machine/crx/Makefile.am
newlib/libc/machine/crx/Makefile.in
newlib/libc/machine/crx/aclocal.m4
newlib/libc/machine/crx/configure
newlib/libc/machine/crx/configure.in
newlib/libc/machine/crx/getenv.c
newlib/libc/machine/crx/setjmp.S
newlib/libc/machine/crx/sys/asm.h
newlib/libc/machine/crx/sys/libh.h
newlib/libc/machine/crx/sys/syscall.h
newlib/libc/machine/d10v/Makefile.am
newlib/libc/machine/d10v/Makefile.in
newlib/libc/machine/d10v/aclocal.m4
newlib/libc/machine/d10v/configure
newlib/libc/machine/d10v/configure.in
newlib/libc/machine/d10v/setjmp.S
newlib/libc/machine/d30v/Makefile.am
newlib/libc/machine/d30v/Makefile.in
newlib/libc/machine/d30v/aclocal.m4
newlib/libc/machine/d30v/configure
newlib/libc/machine/d30v/configure.in
newlib/libc/machine/d30v/setjmp.S
newlib/libc/machine/fr30/Makefile.am
newlib/libc/machine/fr30/Makefile.in
newlib/libc/machine/fr30/aclocal.m4
newlib/libc/machine/fr30/configure
newlib/libc/machine/fr30/configure.in
newlib/libc/machine/fr30/setjmp.S
newlib/libc/machine/frv/Makefile.am
newlib/libc/machine/frv/Makefile.in
newlib/libc/machine/frv/aclocal.m4
newlib/libc/machine/frv/configure
newlib/libc/machine/frv/configure.in
newlib/libc/machine/frv/setjmp.S
newlib/libc/machine/h8300/Makefile.am
newlib/libc/machine/h8300/Makefile.in
newlib/libc/machine/h8300/aclocal.m4
newlib/libc/machine/h8300/configure
newlib/libc/machine/h8300/configure.in
newlib/libc/machine/h8300/defines.h
newlib/libc/machine/h8300/h8sx_strcpy.S
newlib/libc/machine/h8300/memcpy.S
newlib/libc/machine/h8300/memset.S
newlib/libc/machine/h8300/reg_memcpy.S
newlib/libc/machine/h8300/reg_memset.S
newlib/libc/machine/h8300/setarch.h
newlib/libc/machine/h8300/setjmp.S
newlib/libc/machine/h8300/strcmp.S
newlib/libc/machine/h8500/Makefile.am
newlib/libc/machine/h8500/Makefile.in
newlib/libc/machine/h8500/aclocal.m4
newlib/libc/machine/h8500/cmpsi.c
newlib/libc/machine/h8500/configure
newlib/libc/machine/h8500/configure.in
newlib/libc/machine/h8500/divhi3.S
newlib/libc/machine/h8500/divsi3.c
newlib/libc/machine/h8500/mulhi3.c
newlib/libc/machine/h8500/mulsi3.c
newlib/libc/machine/h8500/negsi2.c
newlib/libc/machine/h8500/psi.S
newlib/libc/machine/h8500/setjmp.S
newlib/libc/machine/h8500/shifts.c
newlib/libc/machine/hppa/DEFS.h
newlib/libc/machine/hppa/Makefile.am
newlib/libc/machine/hppa/Makefile.in
newlib/libc/machine/hppa/aclocal.m4
newlib/libc/machine/hppa/configure
newlib/libc/machine/hppa/configure.in
newlib/libc/machine/hppa/memchr.S
newlib/libc/machine/hppa/memcmp.S
newlib/libc/machine/hppa/memcpy.S
newlib/libc/machine/hppa/memset.S
newlib/libc/machine/hppa/pcc_prefix.s
newlib/libc/machine/hppa/setjmp.S
newlib/libc/machine/hppa/strcat.S
newlib/libc/machine/hppa/strcmp.S
newlib/libc/machine/hppa/strcpy.S
newlib/libc/machine/hppa/strlen.S
newlib/libc/machine/hppa/strncat.S
newlib/libc/machine/hppa/strncmp.S
newlib/libc/machine/hppa/strncpy.S
newlib/libc/machine/i386/Makefile.am
newlib/libc/machine/i386/Makefile.in
newlib/libc/machine/i386/aclocal.m4
newlib/libc/machine/i386/configure
newlib/libc/machine/i386/configure.in
newlib/libc/machine/i386/f_atan2.S
newlib/libc/machine/i386/f_atan2f.S
newlib/libc/machine/i386/f_exp.c
newlib/libc/machine/i386/f_expf.c
newlib/libc/machine/i386/f_frexp.S
newlib/libc/machine/i386/f_frexpf.S
newlib/libc/machine/i386/f_ldexp.S
newlib/libc/machine/i386/f_ldexpf.S
newlib/libc/machine/i386/f_log.S
newlib/libc/machine/i386/f_log10.S
newlib/libc/machine/i386/f_log10f.S
newlib/libc/machine/i386/f_logf.S
newlib/libc/machine/i386/f_math.h
newlib/libc/machine/i386/f_pow.c
newlib/libc/machine/i386/f_powf.c
newlib/libc/machine/i386/f_tan.S
newlib/libc/machine/i386/f_tanf.S
newlib/libc/machine/i386/i386mach.h
newlib/libc/machine/i386/machine/fastmath.h
newlib/libc/machine/i386/memchr.S
newlib/libc/machine/i386/memcmp.S
newlib/libc/machine/i386/memcpy.S
newlib/libc/machine/i386/memmove.S
newlib/libc/machine/i386/memset.S
newlib/libc/machine/i386/setjmp.S
newlib/libc/machine/i386/strchr.S
newlib/libc/machine/i386/strlen.S
newlib/libc/machine/i960/Makefile.am
newlib/libc/machine/i960/Makefile.in
newlib/libc/machine/i960/aclocal.m4
newlib/libc/machine/i960/configure
newlib/libc/machine/i960/configure.in
newlib/libc/machine/i960/memccpy.S
newlib/libc/machine/i960/memccpy_ca.S
newlib/libc/machine/i960/memchr.S
newlib/libc/machine/i960/memchr_ca.S
newlib/libc/machine/i960/memcmp.S
newlib/libc/machine/i960/memcmp_ca.S
newlib/libc/machine/i960/memcpy.S
newlib/libc/machine/i960/memcpy_ca.S
newlib/libc/machine/i960/memset.S
newlib/libc/machine/i960/setjmp.S
newlib/libc/machine/i960/strchr.S
newlib/libc/machine/i960/strchr_ca.S
newlib/libc/machine/i960/strcmp.S
newlib/libc/machine/i960/strcmp_ca.S
newlib/libc/machine/i960/strcpy.S
newlib/libc/machine/i960/strcpy_ca.S
newlib/libc/machine/i960/strcspn.S
newlib/libc/machine/i960/strdup.S
newlib/libc/machine/i960/strlen.S
newlib/libc/machine/i960/strlen_ca.S
newlib/libc/machine/i960/strncat.S
newlib/libc/machine/i960/strncat_ca.S
newlib/libc/machine/i960/strncmp.S
newlib/libc/machine/i960/strncmp_ca.S
newlib/libc/machine/i960/strncpy.S
newlib/libc/machine/i960/strncpy_ca.S
newlib/libc/machine/i960/strpbrk.S
newlib/libc/machine/i960/strrchr.S
newlib/libc/machine/iq2000/Makefile.am
newlib/libc/machine/iq2000/Makefile.in
newlib/libc/machine/iq2000/aclocal.m4
newlib/libc/machine/iq2000/configure
newlib/libc/machine/iq2000/configure.in
newlib/libc/machine/iq2000/setjmp.S
newlib/libc/machine/lm32/Makefile.am
newlib/libc/machine/lm32/Makefile.in
newlib/libc/machine/lm32/aclocal.m4
newlib/libc/machine/lm32/configure
newlib/libc/machine/lm32/configure.in
newlib/libc/machine/lm32/setjmp.S
newlib/libc/machine/m32c/Makefile.am
newlib/libc/machine/m32c/Makefile.in
newlib/libc/machine/m32c/aclocal.m4
newlib/libc/machine/m32c/configure
newlib/libc/machine/m32c/configure.in
newlib/libc/machine/m32c/setjmp.S
newlib/libc/machine/m32r/Makefile.am
newlib/libc/machine/m32r/Makefile.in
newlib/libc/machine/m32r/aclocal.m4
newlib/libc/machine/m32r/configure
newlib/libc/machine/m32r/configure.in
newlib/libc/machine/m32r/setjmp.S
newlib/libc/machine/m68hc11/Makefile.am
newlib/libc/machine/m68hc11/Makefile.in
newlib/libc/machine/m68hc11/aclocal.m4
newlib/libc/machine/m68hc11/configure
newlib/libc/machine/m68hc11/configure.in
newlib/libc/machine/m68hc11/setjmp.S
newlib/libc/machine/m68k/Makefile.am
newlib/libc/machine/m68k/Makefile.in
newlib/libc/machine/m68k/aclocal.m4
newlib/libc/machine/m68k/configure
newlib/libc/machine/m68k/configure.in
newlib/libc/machine/m68k/m68kasm.h
newlib/libc/machine/m68k/memcpy.S
newlib/libc/machine/m68k/memset.S
newlib/libc/machine/m68k/setjmp.S
newlib/libc/machine/m68k/strcpy.c
newlib/libc/machine/m68k/strlen.c
newlib/libc/machine/m88k/Makefile.am
newlib/libc/machine/m88k/Makefile.in
newlib/libc/machine/m88k/aclocal.m4
newlib/libc/machine/m88k/configure
newlib/libc/machine/m88k/configure.in
newlib/libc/machine/m88k/setjmp.S
newlib/libc/machine/mep/Makefile.am
newlib/libc/machine/mep/Makefile.in
newlib/libc/machine/mep/aclocal.m4
newlib/libc/machine/mep/configure
newlib/libc/machine/mep/configure.in
newlib/libc/machine/mep/setjmp.S
newlib/libc/machine/mips/Makefile.am
newlib/libc/machine/mips/Makefile.in
newlib/libc/machine/mips/aclocal.m4
newlib/libc/machine/mips/configure
newlib/libc/machine/mips/configure.in
newlib/libc/machine/mips/machine/regdef.h
newlib/libc/machine/mips/memcpy.c
newlib/libc/machine/mips/memset.c
newlib/libc/machine/mips/setjmp.S
newlib/libc/machine/mips/strcmp.c
newlib/libc/machine/mips/strlen.c
newlib/libc/machine/mips/strncpy.c
newlib/libc/machine/mn10200/Makefile.am
newlib/libc/machine/mn10200/Makefile.in
newlib/libc/machine/mn10200/aclocal.m4
newlib/libc/machine/mn10200/configure
newlib/libc/machine/mn10200/configure.in
newlib/libc/machine/mn10200/setjmp.S
newlib/libc/machine/mn10300/Makefile.am
newlib/libc/machine/mn10300/Makefile.in
newlib/libc/machine/mn10300/aclocal.m4
newlib/libc/machine/mn10300/configure
newlib/libc/machine/mn10300/configure.in
newlib/libc/machine/mn10300/memchr.S
newlib/libc/machine/mn10300/memcmp.S
newlib/libc/machine/mn10300/memcpy.S
newlib/libc/machine/mn10300/memset.S
newlib/libc/machine/mn10300/setjmp.S
newlib/libc/machine/mn10300/strchr.S
newlib/libc/machine/mn10300/strcmp.S
newlib/libc/machine/mn10300/strcpy.S
newlib/libc/machine/mn10300/strlen.S
newlib/libc/machine/moxie/Makefile.am
newlib/libc/machine/moxie/Makefile.in
newlib/libc/machine/moxie/aclocal.m4
newlib/libc/machine/moxie/configure
newlib/libc/machine/moxie/configure.in
newlib/libc/machine/moxie/setjmp.S
newlib/libc/machine/mt/Makefile.am
newlib/libc/machine/mt/Makefile.in
newlib/libc/machine/mt/aclocal.m4
newlib/libc/machine/mt/configure
newlib/libc/machine/mt/configure.in
newlib/libc/machine/mt/setjmp.S
newlib/libc/machine/necv70/Makefile.am
newlib/libc/machine/necv70/Makefile.in
newlib/libc/machine/necv70/aclocal.m4
newlib/libc/machine/necv70/configure
newlib/libc/machine/necv70/configure.in
newlib/libc/machine/necv70/fastmath.S
newlib/libc/machine/necv70/machine/registers.h
newlib/libc/machine/necv70/necv70.tex
newlib/libc/machine/necv70/setjmp.S
newlib/libc/machine/powerpc/Makefile.am
newlib/libc/machine/powerpc/Makefile.in
newlib/libc/machine/powerpc/aclocal.m4
newlib/libc/machine/powerpc/atosfix16.c
newlib/libc/machine/powerpc/atosfix32.c
newlib/libc/machine/powerpc/atosfix64.c
newlib/libc/machine/powerpc/atoufix16.c
newlib/libc/machine/powerpc/atoufix32.c
newlib/libc/machine/powerpc/atoufix64.c
newlib/libc/machine/powerpc/configure
newlib/libc/machine/powerpc/configure.in
newlib/libc/machine/powerpc/fix64.h
newlib/libc/machine/powerpc/machine/malloc.h
newlib/libc/machine/powerpc/machine/stdlib.h
newlib/libc/machine/powerpc/setjmp.S
newlib/libc/machine/powerpc/simdldtoa.c
newlib/libc/machine/powerpc/strtosfix16.c
newlib/libc/machine/powerpc/strtosfix32.c
newlib/libc/machine/powerpc/strtosfix64.c
newlib/libc/machine/powerpc/strtoufix16.c
newlib/libc/machine/powerpc/strtoufix32.c
newlib/libc/machine/powerpc/strtoufix64.c
newlib/libc/machine/powerpc/times.c
newlib/libc/machine/powerpc/ufix64toa.c
newlib/libc/machine/powerpc/vec_calloc.c
newlib/libc/machine/powerpc/vec_free.c
newlib/libc/machine/powerpc/vec_malloc.c
newlib/libc/machine/powerpc/vec_mallocr.c
newlib/libc/machine/powerpc/vec_realloc.c
newlib/libc/machine/powerpc/vfprintf.c
newlib/libc/machine/powerpc/vfscanf.c
newlib/libc/machine/sh/Makefile.am
newlib/libc/machine/sh/Makefile.in
newlib/libc/machine/sh/aclocal.m4
newlib/libc/machine/sh/asm.h
newlib/libc/machine/sh/configure
newlib/libc/machine/sh/configure.in
newlib/libc/machine/sh/memcpy.S
newlib/libc/machine/sh/memset.S
newlib/libc/machine/sh/setjmp.S
newlib/libc/machine/sh/strcmp.S
newlib/libc/machine/sh/strcpy.S
newlib/libc/machine/sh/strlen.S
newlib/libc/machine/sh/strncpy.S
newlib/libc/machine/sparc/Makefile.am
newlib/libc/machine/sparc/Makefile.in
newlib/libc/machine/sparc/aclocal.m4
newlib/libc/machine/sparc/configure
newlib/libc/machine/sparc/configure.in
newlib/libc/machine/sparc/machine/sparclet.h
newlib/libc/machine/sparc/scan.c
newlib/libc/machine/sparc/setjmp.S
newlib/libc/machine/sparc/shuffle.c
newlib/libc/machine/spu/Makefile.am
newlib/libc/machine/spu/Makefile.in
newlib/libc/machine/spu/aclocal.m4
newlib/libc/machine/spu/assert.c
newlib/libc/machine/spu/c99ppe.h
newlib/libc/machine/spu/calloc_ea.c
newlib/libc/machine/spu/clearerr.c
newlib/libc/machine/spu/configure
newlib/libc/machine/spu/configure.in
newlib/libc/machine/spu/creat.c
newlib/libc/machine/spu/ea_internal.h
newlib/libc/machine/spu/fclose.c
newlib/libc/machine/spu/fdopen.c
newlib/libc/machine/spu/feof.c
newlib/libc/machine/spu/ferror.c
newlib/libc/machine/spu/fflush.c
newlib/libc/machine/spu/fgetc.c
newlib/libc/machine/spu/fgetpos.c
newlib/libc/machine/spu/fgets.c
newlib/libc/machine/spu/fileno.c
newlib/libc/machine/spu/fiprintf.S
newlib/libc/machine/spu/fiscanf.S
newlib/libc/machine/spu/fopen.c
newlib/libc/machine/spu/fprintf.S
newlib/libc/machine/spu/fputc.c
newlib/libc/machine/spu/fputs.c
newlib/libc/machine/spu/fread.c
newlib/libc/machine/spu/free_ea.c
newlib/libc/machine/spu/freopen.c
newlib/libc/machine/spu/fscanf.S
newlib/libc/machine/spu/fseek.c
newlib/libc/machine/spu/fsetpos.c
newlib/libc/machine/spu/ftell.c
newlib/libc/machine/spu/fwrite.c
newlib/libc/machine/spu/getc.c
newlib/libc/machine/spu/getchar.c
newlib/libc/machine/spu/gets.c
newlib/libc/machine/spu/impure.c
newlib/libc/machine/spu/include/ea.h
newlib/libc/machine/spu/include/fenv.h
newlib/libc/machine/spu/include/spu_timer.h
newlib/libc/machine/spu/iprintf.S
newlib/libc/machine/spu/iscanf.S
newlib/libc/machine/spu/machine/_types.h
newlib/libc/machine/spu/malloc_ea.c
newlib/libc/machine/spu/memchr_ea.c
newlib/libc/machine/spu/memcmp.c
newlib/libc/machine/spu/memcmp_ea.c
newlib/libc/machine/spu/memcpy.c
newlib/libc/machine/spu/memcpy_ea.c
newlib/libc/machine/spu/memmove.c
newlib/libc/machine/spu/memmove_ea.c
newlib/libc/machine/spu/memset.c
newlib/libc/machine/spu/memset_ea.c
newlib/libc/machine/spu/mk_syscalls
newlib/libc/machine/spu/mmap_ea.c
newlib/libc/machine/spu/mremap_ea.c
newlib/libc/machine/spu/msync_ea.c
newlib/libc/machine/spu/munmap_ea.c
newlib/libc/machine/spu/perror.c
newlib/libc/machine/spu/posix_memalign_ea.c
newlib/libc/machine/spu/pread_ea.c
newlib/libc/machine/spu/printf.S
newlib/libc/machine/spu/putc.c
newlib/libc/machine/spu/putchar.c
newlib/libc/machine/spu/puts.c
newlib/libc/machine/spu/pwrite_ea.c
newlib/libc/machine/spu/read_ea.c
newlib/libc/machine/spu/readv_ea.c
newlib/libc/machine/spu/realloc_ea.c
newlib/libc/machine/spu/remove.c
newlib/libc/machine/spu/rename.c
newlib/libc/machine/spu/rewind.c
newlib/libc/machine/spu/scanf.S
newlib/libc/machine/spu/setbuf.c
newlib/libc/machine/spu/setjmp.S
newlib/libc/machine/spu/setvbuf.c
newlib/libc/machine/spu/siprintf.S
newlib/libc/machine/spu/siscanf.S
newlib/libc/machine/spu/sleep.c
newlib/libc/machine/spu/sniprintf.S
newlib/libc/machine/spu/snprintf.S
newlib/libc/machine/spu/sprintf.S
newlib/libc/machine/spu/spu-gmon.c
newlib/libc/machine/spu/spu-mcount.S
newlib/libc/machine/spu/spu_clock_stop.c
newlib/libc/machine/spu/spu_clock_svcs.c
newlib/libc/machine/spu/spu_timebase.c
newlib/libc/machine/spu/spu_timer_flih.S
newlib/libc/machine/spu/spu_timer_free.c
newlib/libc/machine/spu/spu_timer_internal.h
newlib/libc/machine/spu/spu_timer_slih.c
newlib/libc/machine/spu/spu_timer_slih_reg.c
newlib/libc/machine/spu/spu_timer_stop.c
newlib/libc/machine/spu/spu_timer_svcs.c
newlib/libc/machine/spu/sscanf.S
newlib/libc/machine/spu/stack_reg_va.S
newlib/libc/machine/spu/stdio.c
newlib/libc/machine/spu/straddr.h
newlib/libc/machine/spu/strcat.c
newlib/libc/machine/spu/strcat_ea.c
newlib/libc/machine/spu/strchr.c
newlib/libc/machine/spu/strchr_ea.c
newlib/libc/machine/spu/strcmp.c
newlib/libc/machine/spu/strcmp_ea.c
newlib/libc/machine/spu/strcpy.c
newlib/libc/machine/spu/strcpy.h
newlib/libc/machine/spu/strcpy_ea.c
newlib/libc/machine/spu/strcspn.c
newlib/libc/machine/spu/strcspn_ea.c
newlib/libc/machine/spu/strlen.c
newlib/libc/machine/spu/strlen_ea.c
newlib/libc/machine/spu/strncat.c
newlib/libc/machine/spu/strncat_ea.c
newlib/libc/machine/spu/strncmp.c
newlib/libc/machine/spu/strncmp.h
newlib/libc/machine/spu/strncmp_ea.c
newlib/libc/machine/spu/strncpy.c
newlib/libc/machine/spu/strncpy_ea.c
newlib/libc/machine/spu/strpbrk.c
newlib/libc/machine/spu/strpbrk_ea.c
newlib/libc/machine/spu/strrchr.c
newlib/libc/machine/spu/strrchr_ea.c
newlib/libc/machine/spu/strspn.c
newlib/libc/machine/spu/strspn_ea.c
newlib/libc/machine/spu/strstr_ea.c
newlib/libc/machine/spu/strxfrm.c
newlib/libc/machine/spu/sys/custom_file.h
newlib/libc/machine/spu/sys/dirent.h
newlib/libc/machine/spu/sys/errno.h
newlib/libc/machine/spu/sys/fenv.h
newlib/libc/machine/spu/sys/linux_syscalls.h
newlib/libc/machine/spu/sys/mman.h
newlib/libc/machine/spu/sys/sched.h
newlib/libc/machine/spu/sys/syscall.h
newlib/libc/machine/spu/sys/uio.h
newlib/libc/machine/spu/sys/utime.h
newlib/libc/machine/spu/syscall.def
newlib/libc/machine/spu/tmpfile.c
newlib/libc/machine/spu/tmpnam.c
newlib/libc/machine/spu/ungetc.c
newlib/libc/machine/spu/usleep.c
newlib/libc/machine/spu/vec_literal.h
newlib/libc/machine/spu/vfiprintf.c
newlib/libc/machine/spu/vfiscanf.c
newlib/libc/machine/spu/vfprintf.c
newlib/libc/machine/spu/vfscanf.c
newlib/libc/machine/spu/viprintf.c
newlib/libc/machine/spu/viscanf.c
newlib/libc/machine/spu/vprintf.c
newlib/libc/machine/spu/vscanf.c
newlib/libc/machine/spu/vsiprintf.c
newlib/libc/machine/spu/vsiscanf.c
newlib/libc/machine/spu/vsniprintf.c
newlib/libc/machine/spu/vsnprintf.c
newlib/libc/machine/spu/vsprintf.c
newlib/libc/machine/spu/vsscanf.c
newlib/libc/machine/spu/write_ea.c
newlib/libc/machine/spu/writev_ea.c
newlib/libc/machine/tic4x/Makefile.am
newlib/libc/machine/tic4x/Makefile.in
newlib/libc/machine/tic4x/aclocal.m4
newlib/libc/machine/tic4x/configure
newlib/libc/machine/tic4x/configure.in
newlib/libc/machine/tic4x/setjmp.S
newlib/libc/machine/tic80/Makefile.am
newlib/libc/machine/tic80/Makefile.in
newlib/libc/machine/tic80/aclocal.m4
newlib/libc/machine/tic80/configure
newlib/libc/machine/tic80/configure.in
newlib/libc/machine/tic80/setjmp.S
newlib/libc/machine/v850/Makefile.am
newlib/libc/machine/v850/Makefile.in
newlib/libc/machine/v850/aclocal.m4
newlib/libc/machine/v850/configure
newlib/libc/machine/v850/configure.in
newlib/libc/machine/v850/setjmp.S
newlib/libc/machine/w65/Makefile.am
newlib/libc/machine/w65/Makefile.in
newlib/libc/machine/w65/aclocal.m4
newlib/libc/machine/w65/cmpsi.c
newlib/libc/machine/w65/configure
newlib/libc/machine/w65/configure.in
newlib/libc/machine/w65/divsi3.c
newlib/libc/machine/w65/lshrhi.S
newlib/libc/machine/w65/mulsi3.c
newlib/libc/machine/w65/sdivhi3.S
newlib/libc/machine/w65/smulhi3.S
newlib/libc/machine/w65/udivhi3.S
newlib/libc/machine/w65/umodhi3.S
newlib/libc/machine/x86_64/Makefile.am
newlib/libc/machine/x86_64/Makefile.in
newlib/libc/machine/x86_64/aclocal.m4
newlib/libc/machine/x86_64/configure
newlib/libc/machine/x86_64/configure.in
newlib/libc/machine/x86_64/memcpy.S
newlib/libc/machine/x86_64/memset.S
newlib/libc/machine/x86_64/setjmp.S
newlib/libc/machine/x86_64/x86_64mach.h
newlib/libc/machine/xscale/Makefile.am
newlib/libc/machine/xscale/Makefile.in
newlib/libc/machine/xscale/aclocal.m4
newlib/libc/machine/xscale/configure
newlib/libc/machine/xscale/configure.in
newlib/libc/machine/xscale/machine/profile.h
newlib/libc/machine/xscale/memchr.c
newlib/libc/machine/xscale/memcmp.c
newlib/libc/machine/xscale/memcpy.c
newlib/libc/machine/xscale/memmove.c
newlib/libc/machine/xscale/memset.c
newlib/libc/machine/xscale/setjmp.S
newlib/libc/machine/xscale/strchr.c
newlib/libc/machine/xscale/strcmp.c
newlib/libc/machine/xscale/strcpy.c
newlib/libc/machine/xscale/strlen.c
newlib/libc/machine/xscale/xscale.h
newlib/libc/machine/xstormy16/Makefile.am
newlib/libc/machine/xstormy16/Makefile.in
newlib/libc/machine/xstormy16/aclocal.m4
newlib/libc/machine/xstormy16/configure
newlib/libc/machine/xstormy16/configure.in
newlib/libc/machine/xstormy16/mallocr.c
newlib/libc/machine/xstormy16/setjmp.S
newlib/libc/machine/xstormy16/tiny-malloc.c
newlib/libc/machine/z8k/Makefile.am
newlib/libc/machine/z8k/Makefile.in
newlib/libc/machine/z8k/aclocal.m4
newlib/libc/machine/z8k/args.h
newlib/libc/machine/z8k/configure
newlib/libc/machine/z8k/configure.in
newlib/libc/machine/z8k/memcmp.S
newlib/libc/machine/z8k/memcpy.S
newlib/libc/machine/z8k/memmove.S
newlib/libc/machine/z8k/memset.S
newlib/libc/machine/z8k/setjmp.S
newlib/libc/misc/Makefile.am
newlib/libc/misc/Makefile.in
newlib/libc/misc/__dprintf.c
newlib/libc/misc/ffs.c
newlib/libc/misc/init.c
newlib/libc/misc/misc.tex
newlib/libc/misc/unctrl.c
newlib/libc/posix/COPYRIGHT
newlib/libc/posix/Makefile.am
newlib/libc/posix/Makefile.in
newlib/libc/posix/_isatty.c
newlib/libc/posix/cclass.h
newlib/libc/posix/closedir.c
newlib/libc/posix/cname.h
newlib/libc/posix/collate.c
newlib/libc/posix/collate.h
newlib/libc/posix/collcmp.c
newlib/libc/posix/creat.c
newlib/libc/posix/engine.c
newlib/libc/posix/execl.c
newlib/libc/posix/execle.c
newlib/libc/posix/execlp.c
newlib/libc/posix/execv.c
newlib/libc/posix/execve.c
newlib/libc/posix/execvp.c
newlib/libc/posix/fnmatch.3
newlib/libc/posix/fnmatch.c
newlib/libc/posix/glob.3
newlib/libc/posix/glob.c
newlib/libc/posix/isatty.c
newlib/libc/posix/namespace.h
newlib/libc/posix/opendir.c
newlib/libc/posix/popen.c
newlib/libc/posix/posix.tex
newlib/libc/posix/readdir.c
newlib/libc/posix/readdir_r.c
newlib/libc/posix/regcomp.c
newlib/libc/posix/regerror.c
newlib/libc/posix/regex.3
newlib/libc/posix/regex2.h
newlib/libc/posix/regexec.c
newlib/libc/posix/regfree.c
newlib/libc/posix/rewinddir.c
newlib/libc/posix/rune.h
newlib/libc/posix/runetype.h
newlib/libc/posix/scandir.c
newlib/libc/posix/seekdir.c
newlib/libc/posix/sleep.c
newlib/libc/posix/sysexits.h
newlib/libc/posix/telldir.c
newlib/libc/posix/un-namespace.h
newlib/libc/posix/usleep.c
newlib/libc/posix/utils.h
newlib/libc/posix/wordexp.c
newlib/libc/posix/wordfree.c
newlib/libc/reent/Makefile.am
newlib/libc/reent/Makefile.in
newlib/libc/reent/closer.c
newlib/libc/reent/execr.c
newlib/libc/reent/fcntlr.c
newlib/libc/reent/fstat64r.c
newlib/libc/reent/fstatr.c
newlib/libc/reent/getreent.c
newlib/libc/reent/gettimeofdayr.c
newlib/libc/reent/impure.c
newlib/libc/reent/isattyr.c
newlib/libc/reent/linkr.c
newlib/libc/reent/lseek64r.c
newlib/libc/reent/lseekr.c
newlib/libc/reent/mkdirr.c
newlib/libc/reent/open64r.c
newlib/libc/reent/openr.c
newlib/libc/reent/readr.c
newlib/libc/reent/reent.c
newlib/libc/reent/reent.tex
newlib/libc/reent/renamer.c
newlib/libc/reent/sbrkr.c
newlib/libc/reent/signalr.c
newlib/libc/reent/signgam.c
newlib/libc/reent/stat64r.c
newlib/libc/reent/statr.c
newlib/libc/reent/timesr.c
newlib/libc/reent/unlinkr.c
newlib/libc/reent/writer.c
newlib/libc/saber
newlib/libc/search/Makefile.am
newlib/libc/search/Makefile.in
newlib/libc/search/bsearch.c
newlib/libc/search/db_local.h
newlib/libc/search/extern.h
newlib/libc/search/hash.c
newlib/libc/search/hash.h
newlib/libc/search/hash_bigkey.c
newlib/libc/search/hash_buf.c
newlib/libc/search/hash_func.c
newlib/libc/search/hash_log2.c
newlib/libc/search/hash_page.c
newlib/libc/search/hcreate.3
newlib/libc/search/hcreate.c
newlib/libc/search/hcreate_r.c
newlib/libc/search/page.h
newlib/libc/search/qsort.c
newlib/libc/search/tdelete.c
newlib/libc/search/tdestroy.c
newlib/libc/search/tfind.c
newlib/libc/search/tsearch.3
newlib/libc/search/tsearch.c
newlib/libc/search/twalk.c
newlib/libc/signal/Makefile.am
newlib/libc/signal/Makefile.in
newlib/libc/signal/raise.c
newlib/libc/signal/signal.c
newlib/libc/signal/signal.tex
newlib/libc/stdio/Makefile.am
newlib/libc/stdio/Makefile.in
newlib/libc/stdio/asiprintf.c
newlib/libc/stdio/asniprintf.c
newlib/libc/stdio/asnprintf.c
newlib/libc/stdio/asprintf.c
newlib/libc/stdio/clearerr.c
newlib/libc/stdio/diprintf.c
newlib/libc/stdio/dprintf.c
newlib/libc/stdio/fclose.c
newlib/libc/stdio/fcloseall.c
newlib/libc/stdio/fdopen.c
newlib/libc/stdio/feof.c
newlib/libc/stdio/ferror.c
newlib/libc/stdio/fflush.c
newlib/libc/stdio/fgetc.c
newlib/libc/stdio/fgetpos.c
newlib/libc/stdio/fgets.c
newlib/libc/stdio/fgetwc.c
newlib/libc/stdio/fgetws.c
newlib/libc/stdio/fileno.c
newlib/libc/stdio/findfp.c
newlib/libc/stdio/fiprintf.c
newlib/libc/stdio/fiscanf.c
newlib/libc/stdio/flags.c
newlib/libc/stdio/floatio.h
newlib/libc/stdio/fmemopen.c
newlib/libc/stdio/fopen.c
newlib/libc/stdio/fopencookie.c
newlib/libc/stdio/fprintf.c
newlib/libc/stdio/fpurge.c
newlib/libc/stdio/fputc.c
newlib/libc/stdio/fputs.c
newlib/libc/stdio/fputwc.c
newlib/libc/stdio/fputws.c
newlib/libc/stdio/fread.c
newlib/libc/stdio/freopen.c
newlib/libc/stdio/fscanf.c
newlib/libc/stdio/fseek.c
newlib/libc/stdio/fseeko.c
newlib/libc/stdio/fsetpos.c
newlib/libc/stdio/ftell.c
newlib/libc/stdio/ftello.c
newlib/libc/stdio/funopen.c
newlib/libc/stdio/fvwrite.c
newlib/libc/stdio/fvwrite.h
newlib/libc/stdio/fwalk.c
newlib/libc/stdio/fwide.c
newlib/libc/stdio/fwprintf.c
newlib/libc/stdio/fwrite.c
newlib/libc/stdio/fwscanf.c
newlib/libc/stdio/getc.c
newlib/libc/stdio/getc_u.c
newlib/libc/stdio/getchar.c
newlib/libc/stdio/getchar_u.c
newlib/libc/stdio/getdelim.c
newlib/libc/stdio/getline.c
newlib/libc/stdio/gets.c
newlib/libc/stdio/getw.c
newlib/libc/stdio/getwc.c
newlib/libc/stdio/getwchar.c
newlib/libc/stdio/iprintf.c
newlib/libc/stdio/iscanf.c
newlib/libc/stdio/local.h
newlib/libc/stdio/makebuf.c
newlib/libc/stdio/mktemp.c
newlib/libc/stdio/open_memstream.c
newlib/libc/stdio/perror.c
newlib/libc/stdio/printf.c
newlib/libc/stdio/putc.c
newlib/libc/stdio/putc_u.c
newlib/libc/stdio/putchar.c
newlib/libc/stdio/putchar_u.c
newlib/libc/stdio/puts.c
newlib/libc/stdio/putw.c
newlib/libc/stdio/putwc.c
newlib/libc/stdio/putwchar.c
newlib/libc/stdio/refill.c
newlib/libc/stdio/remove.c
newlib/libc/stdio/rename.c
newlib/libc/stdio/rewind.c
newlib/libc/stdio/rget.c
newlib/libc/stdio/scanf.c
newlib/libc/stdio/sccl.c
newlib/libc/stdio/setbuf.c
newlib/libc/stdio/setbuffer.c
newlib/libc/stdio/setlinebuf.c
newlib/libc/stdio/setvbuf.c
newlib/libc/stdio/siprintf.c
newlib/libc/stdio/siscanf.c
newlib/libc/stdio/sniprintf.c
newlib/libc/stdio/snprintf.c
newlib/libc/stdio/sprintf.c
newlib/libc/stdio/sscanf.c
newlib/libc/stdio/stdio.c
newlib/libc/stdio/stdio.tex
newlib/libc/stdio/swprintf.c
newlib/libc/stdio/swscanf.c
newlib/libc/stdio/tmpfile.c
newlib/libc/stdio/tmpnam.c
newlib/libc/stdio/ungetc.c
newlib/libc/stdio/ungetwc.c
newlib/libc/stdio/vasiprintf.c
newlib/libc/stdio/vasniprintf.c
newlib/libc/stdio/vasnprintf.c
newlib/libc/stdio/vasprintf.c
newlib/libc/stdio/vdiprintf.c
newlib/libc/stdio/vdprintf.c
newlib/libc/stdio/vfieeefp.h
newlib/libc/stdio/vfprintf.c
newlib/libc/stdio/vfscanf.c
newlib/libc/stdio/vfwprintf.c
newlib/libc/stdio/vfwscanf.c
newlib/libc/stdio/viprintf.c
newlib/libc/stdio/viscanf.c
newlib/libc/stdio/vprintf.c
newlib/libc/stdio/vscanf.c
newlib/libc/stdio/vsiprintf.c
newlib/libc/stdio/vsiscanf.c
newlib/libc/stdio/vsniprintf.c
newlib/libc/stdio/vsnprintf.c
newlib/libc/stdio/vsprintf.c
newlib/libc/stdio/vsscanf.c
newlib/libc/stdio/vswprintf.c
newlib/libc/stdio/vswscanf.c
newlib/libc/stdio/vwprintf.c
newlib/libc/stdio/vwscanf.c
newlib/libc/stdio/wbuf.c
newlib/libc/stdio/wprintf.c
newlib/libc/stdio/wscanf.c
newlib/libc/stdio/wsetup.c
newlib/libc/stdio64/Makefile.am
newlib/libc/stdio64/Makefile.in
newlib/libc/stdio64/dummy.c
newlib/libc/stdio64/fdopen64.c
newlib/libc/stdio64/fgetpos64.c
newlib/libc/stdio64/fopen64.c
newlib/libc/stdio64/freopen64.c
newlib/libc/stdio64/fseeko64.c
newlib/libc/stdio64/fsetpos64.c
newlib/libc/stdio64/ftello64.c
newlib/libc/stdio64/stdio64.c
newlib/libc/stdio64/stdio64.tex
newlib/libc/stdio64/tmpfile64.c
newlib/libc/stdlib/Makefile.am
newlib/libc/stdlib/Makefile.in
newlib/libc/stdlib/_Exit.c
newlib/libc/stdlib/__adjust.c
newlib/libc/stdlib/__atexit.c
newlib/libc/stdlib/__call_atexit.c
newlib/libc/stdlib/__exp10.c
newlib/libc/stdlib/__ten_mu.c
newlib/libc/stdlib/a64l.c
newlib/libc/stdlib/abort.c
newlib/libc/stdlib/abs.c
newlib/libc/stdlib/assert.c
newlib/libc/stdlib/atexit.c
newlib/libc/stdlib/atexit.h
newlib/libc/stdlib/atof.c
newlib/libc/stdlib/atoff.c
newlib/libc/stdlib/atoi.c
newlib/libc/stdlib/atol.c
newlib/libc/stdlib/atoll.c
newlib/libc/stdlib/btowc.c
newlib/libc/stdlib/calloc.c
newlib/libc/stdlib/cxa_atexit.c
newlib/libc/stdlib/cxa_finalize.c
newlib/libc/stdlib/div.c
newlib/libc/stdlib/drand48.c
newlib/libc/stdlib/dtoa.c
newlib/libc/stdlib/dtoastub.c
newlib/libc/stdlib/ecvtbuf.c
newlib/libc/stdlib/efgcvt.c
newlib/libc/stdlib/environ.c
newlib/libc/stdlib/envlock.c
newlib/libc/stdlib/eprintf.c
newlib/libc/stdlib/erand48.c
newlib/libc/stdlib/exit.c
newlib/libc/stdlib/gd_qnan.h
newlib/libc/stdlib/gdtoa-gethex.c
newlib/libc/stdlib/gdtoa-hexnan.c
newlib/libc/stdlib/gdtoa.h
newlib/libc/stdlib/getenv.c
newlib/libc/stdlib/getenv_r.c
newlib/libc/stdlib/getopt.c
newlib/libc/stdlib/getsubopt.3
newlib/libc/stdlib/getsubopt.c
newlib/libc/stdlib/jrand48.c
newlib/libc/stdlib/l64a.c
newlib/libc/stdlib/labs.c
newlib/libc/stdlib/lcong48.c
newlib/libc/stdlib/ldiv.c
newlib/libc/stdlib/ldtoa.c
newlib/libc/stdlib/llabs.c
newlib/libc/stdlib/lldiv.c
newlib/libc/stdlib/local.h
newlib/libc/stdlib/lrand48.c
newlib/libc/stdlib/malign.c
newlib/libc/stdlib/malloc.c
newlib/libc/stdlib/mallocr.c
newlib/libc/stdlib/mbctype.h
newlib/libc/stdlib/mblen.c
newlib/libc/stdlib/mblen_r.c
newlib/libc/stdlib/mbrlen.c
newlib/libc/stdlib/mbrtowc.c
newlib/libc/stdlib/mbsinit.c
newlib/libc/stdlib/mbsnrtowcs.c
newlib/libc/stdlib/mbsrtowcs.c
newlib/libc/stdlib/mbstowcs.c
newlib/libc/stdlib/mbstowcs_r.c
newlib/libc/stdlib/mbtowc.c
newlib/libc/stdlib/mbtowc_r.c
newlib/libc/stdlib/mlock.c
newlib/libc/stdlib/mprec.c
newlib/libc/stdlib/mprec.h
newlib/libc/stdlib/mrand48.c
newlib/libc/stdlib/msize.c
newlib/libc/stdlib/mstats.c
newlib/libc/stdlib/mtrim.c
newlib/libc/stdlib/nrand48.c
newlib/libc/stdlib/on_exit.c
newlib/libc/stdlib/putenv.c
newlib/libc/stdlib/putenv_r.c
newlib/libc/stdlib/rand.c
newlib/libc/stdlib/rand48.c
newlib/libc/stdlib/rand48.h
newlib/libc/stdlib/rand_r.c
newlib/libc/stdlib/realloc.c
newlib/libc/stdlib/reallocf.c
newlib/libc/stdlib/sb_charsets.c
newlib/libc/stdlib/seed48.c
newlib/libc/stdlib/setenv.c
newlib/libc/stdlib/setenv_r.c
newlib/libc/stdlib/srand48.c
newlib/libc/stdlib/std.h
newlib/libc/stdlib/stdlib.tex
newlib/libc/stdlib/strtod.c
newlib/libc/stdlib/strtol.c
newlib/libc/stdlib/strtold.c
newlib/libc/stdlib/strtoll.c
newlib/libc/stdlib/strtoll_r.c
newlib/libc/stdlib/strtoul.c
newlib/libc/stdlib/strtoull.c
newlib/libc/stdlib/strtoull_r.c
newlib/libc/stdlib/system.c
newlib/libc/stdlib/valloc.c
newlib/libc/stdlib/wcrtomb.c
newlib/libc/stdlib/wcsnrtombs.c
newlib/libc/stdlib/wcsrtombs.c
newlib/libc/stdlib/wcstod.c
newlib/libc/stdlib/wcstol.c
newlib/libc/stdlib/wcstold.c
newlib/libc/stdlib/wcstoll.c
newlib/libc/stdlib/wcstoll_r.c
newlib/libc/stdlib/wcstombs.c
newlib/libc/stdlib/wcstombs_r.c
newlib/libc/stdlib/wcstoul.c
newlib/libc/stdlib/wcstoull.c
newlib/libc/stdlib/wcstoull_r.c
newlib/libc/stdlib/wctob.c
newlib/libc/stdlib/wctomb.c
newlib/libc/stdlib/wctomb_r.c
newlib/libc/string/Makefile.am
newlib/libc/string/Makefile.in
newlib/libc/string/bcmp.c
newlib/libc/string/bcopy.c
newlib/libc/string/bzero.c
newlib/libc/string/index.c
newlib/libc/string/local.h
newlib/libc/string/memccpy.c
newlib/libc/string/memchr.c
newlib/libc/string/memcmp.c
newlib/libc/string/memcpy.c
newlib/libc/string/memmem.c
newlib/libc/string/memmove.c
newlib/libc/string/mempcpy.c
newlib/libc/string/memset.c
newlib/libc/string/rindex.c
newlib/libc/string/stpcpy.c
newlib/libc/string/stpncpy.c
newlib/libc/string/str-two-way.h
newlib/libc/string/strcasecmp.c
newlib/libc/string/strcasestr.c
newlib/libc/string/strcat.c
newlib/libc/string/strchr.c
newlib/libc/string/strcmp.c
newlib/libc/string/strcoll.c
newlib/libc/string/strcpy.c
newlib/libc/string/strcspn.c
newlib/libc/string/strdup.c
newlib/libc/string/strdup_r.c
newlib/libc/string/strerror.c
newlib/libc/string/strerror_r.c
newlib/libc/string/strings.tex
newlib/libc/string/strlcat.c
newlib/libc/string/strlcpy.c
newlib/libc/string/strlen.c
newlib/libc/string/strlwr.c
newlib/libc/string/strncasecmp.c
newlib/libc/string/strncat.c
newlib/libc/string/strncmp.c
newlib/libc/string/strncpy.c
newlib/libc/string/strndup.c
newlib/libc/string/strndup_r.c
newlib/libc/string/strnlen.c
newlib/libc/string/strpbrk.c
newlib/libc/string/strrchr.c
newlib/libc/string/strsep.c
newlib/libc/string/strspn.c
newlib/libc/string/strstr.c
newlib/libc/string/strtok.c
newlib/libc/string/strtok_r.c
newlib/libc/string/strupr.c
newlib/libc/string/strxfrm.c
newlib/libc/string/swab.c
newlib/libc/string/u_strerr.c
newlib/libc/string/wcpcpy.c
newlib/libc/string/wcpncpy.c
newlib/libc/string/wcscasecmp.c
newlib/libc/string/wcscat.c
newlib/libc/string/wcschr.c
newlib/libc/string/wcscmp.c
newlib/libc/string/wcscoll.c
newlib/libc/string/wcscpy.c
newlib/libc/string/wcscspn.c
newlib/libc/string/wcsdup.c
newlib/libc/string/wcslcat.c
newlib/libc/string/wcslcpy.c
newlib/libc/string/wcslen.c
newlib/libc/string/wcsncasecmp.c
newlib/libc/string/wcsncat.c
newlib/libc/string/wcsncmp.c
newlib/libc/string/wcsncpy.c
newlib/libc/string/wcsnlen.c
newlib/libc/string/wcspbrk.c
newlib/libc/string/wcsrchr.c
newlib/libc/string/wcsspn.c
newlib/libc/string/wcsstr.c
newlib/libc/string/wcstok.c
newlib/libc/string/wcstrings.tex
newlib/libc/string/wcswidth.c
newlib/libc/string/wcsxfrm.c
newlib/libc/string/wcwidth.c
newlib/libc/string/wmemchr.c
newlib/libc/string/wmemcmp.c
newlib/libc/string/wmemcpy.c
newlib/libc/string/wmemmove.c
newlib/libc/string/wmemset.c
newlib/libc/sys.tex
newlib/libc/sys/Makefile.am
newlib/libc/sys/Makefile.in
newlib/libc/sys/a29khif/Makefile.am
newlib/libc/sys/a29khif/Makefile.in
newlib/libc/sys/a29khif/_alloc.S
newlib/libc/sys/a29khif/_close.S
newlib/libc/sys/a29khif/_cycles.S
newlib/libc/sys/a29khif/_exit.S
newlib/libc/sys/a29khif/_fstat.S
newlib/libc/sys/a29khif/_getpsiz.S
newlib/libc/sys/a29khif/_gettz.S
newlib/libc/sys/a29khif/_ioctl.S
newlib/libc/sys/a29khif/_iostat.S
newlib/libc/sys/a29khif/_iowait.S
newlib/libc/sys/a29khif/_isatty.S
newlib/libc/sys/a29khif/_lseek.S
newlib/libc/sys/a29khif/_open.S
newlib/libc/sys/a29khif/_query.S
newlib/libc/sys/a29khif/_read.S
newlib/libc/sys/a29khif/_sbrk.S
newlib/libc/sys/a29khif/_setim.S
newlib/libc/sys/a29khif/_settrap.S
newlib/libc/sys/a29khif/_setvec.S
newlib/libc/sys/a29khif/_tmpnam.S
newlib/libc/sys/a29khif/_write.S
newlib/libc/sys/a29khif/aclocal.m4
newlib/libc/sys/a29khif/alloc.S
newlib/libc/sys/a29khif/clock.S
newlib/libc/sys/a29khif/configure
newlib/libc/sys/a29khif/configure.in
newlib/libc/sys/a29khif/crt0.S
newlib/libc/sys/a29khif/getargs.S
newlib/libc/sys/a29khif/getenv.S
newlib/libc/sys/a29khif/getpid.c
newlib/libc/sys/a29khif/kill.c
newlib/libc/sys/a29khif/read.S
newlib/libc/sys/a29khif/remove.S
newlib/libc/sys/a29khif/rename.S
newlib/libc/sys/a29khif/signal.S
newlib/libc/sys/a29khif/stubs.S
newlib/libc/sys/a29khif/sys/cpudef.h
newlib/libc/sys/a29khif/sys/fpsymbol.h
newlib/libc/sys/a29khif/sys/intrinsi.h
newlib/libc/sys/a29khif/sys/macros.h
newlib/libc/sys/a29khif/sys/proreg.h
newlib/libc/sys/a29khif/sys/romdcl.h
newlib/libc/sys/a29khif/sys/smartmac.h
newlib/libc/sys/a29khif/sys/sysmac.h
newlib/libc/sys/a29khif/systime.S
newlib/libc/sys/a29khif/vec.S
newlib/libc/sys/aclocal.m4
newlib/libc/sys/arc/Makefile.am
newlib/libc/sys/arc/Makefile.in
newlib/libc/sys/arc/aclocal.m4
newlib/libc/sys/arc/configure
newlib/libc/sys/arc/configure.in
newlib/libc/sys/arc/crt0.S
newlib/libc/sys/arc/dummy.S
newlib/libc/sys/arc/isatty.c
newlib/libc/sys/arc/mem-layout.c
newlib/libc/sys/arc/sbrk.c
newlib/libc/sys/arc/sys/syscall.h
newlib/libc/sys/arc/syscalls.c
newlib/libc/sys/arm/Makefile.am
newlib/libc/sys/arm/Makefile.in
newlib/libc/sys/arm/aclocal.m4
newlib/libc/sys/arm/aeabi_atexit.c
newlib/libc/sys/arm/configure
newlib/libc/sys/arm/configure.in
newlib/libc/sys/arm/crt0.S
newlib/libc/sys/arm/libcfunc.c
newlib/libc/sys/arm/swi.h
newlib/libc/sys/arm/sys/fcntl.h
newlib/libc/sys/arm/sys/param.h
newlib/libc/sys/arm/syscalls.c
newlib/libc/sys/arm/trap.S
newlib/libc/sys/configure
newlib/libc/sys/configure.in
newlib/libc/sys/d10v/Makefile.am
newlib/libc/sys/d10v/Makefile.in
newlib/libc/sys/d10v/aclocal.m4
newlib/libc/sys/d10v/configure
newlib/libc/sys/d10v/configure.in
newlib/libc/sys/d10v/creat.c
newlib/libc/sys/d10v/crt0.S
newlib/libc/sys/d10v/sys/syscall.h
newlib/libc/sys/d10v/syscalls.c
newlib/libc/sys/d10v/trap.S
newlib/libc/sys/decstation/Makefile.am
newlib/libc/sys/decstation/Makefile.in
newlib/libc/sys/decstation/_main.c
newlib/libc/sys/decstation/aclocal.m4
newlib/libc/sys/decstation/configure
newlib/libc/sys/decstation/configure.in
newlib/libc/sys/decstation/sys/dirent.h
newlib/libc/sys/h8300hms/Makefile.am
newlib/libc/sys/h8300hms/Makefile.in
newlib/libc/sys/h8300hms/_exit.S
newlib/libc/sys/h8300hms/aclocal.m4
newlib/libc/sys/h8300hms/close.S
newlib/libc/sys/h8300hms/configure
newlib/libc/sys/h8300hms/configure.in
newlib/libc/sys/h8300hms/crt0.S
newlib/libc/sys/h8300hms/crt1.c
newlib/libc/sys/h8300hms/fstat.S
newlib/libc/sys/h8300hms/lseek.S
newlib/libc/sys/h8300hms/misc.c
newlib/libc/sys/h8300hms/open.S
newlib/libc/sys/h8300hms/read.S
newlib/libc/sys/h8300hms/sbrk.c
newlib/libc/sys/h8300hms/setarch.h
newlib/libc/sys/h8300hms/stat.S
newlib/libc/sys/h8300hms/sys/file.h
newlib/libc/sys/h8300hms/sys/syscall.h
newlib/libc/sys/h8300hms/syscalls.c
newlib/libc/sys/h8300hms/write.S
newlib/libc/sys/h8500hms/Makefile.am
newlib/libc/sys/h8500hms/Makefile.in
newlib/libc/sys/h8500hms/aclocal.m4
newlib/libc/sys/h8500hms/configure
newlib/libc/sys/h8500hms/configure.in
newlib/libc/sys/h8500hms/crt0.c
newlib/libc/sys/h8500hms/misc.c
newlib/libc/sys/h8500hms/syscalls.c
newlib/libc/sys/linux/Makefile.am
newlib/libc/sys/linux/Makefile.in
newlib/libc/sys/linux/aclocal.m4
newlib/libc/sys/linux/aio.c
newlib/libc/sys/linux/aio64.c
newlib/libc/sys/linux/argp/Makefile.am
newlib/libc/sys/linux/argp/Makefile.in
newlib/libc/sys/linux/argp/argp-ba.c
newlib/libc/sys/linux/argp/argp-eexst.c
newlib/libc/sys/linux/argp/argp-fmtstream.c
newlib/libc/sys/linux/argp/argp-fmtstream.h
newlib/libc/sys/linux/argp/argp-fs-xinl.c
newlib/libc/sys/linux/argp/argp-help.c
newlib/libc/sys/linux/argp/argp-namefrob.h
newlib/libc/sys/linux/argp/argp-parse.c
newlib/libc/sys/linux/argp/argp-pv.c
newlib/libc/sys/linux/argp/argp-pvh.c
newlib/libc/sys/linux/argp/argp-xinl.c
newlib/libc/sys/linux/bits/dirent.h
newlib/libc/sys/linux/bits/initspin.h
newlib/libc/sys/linux/bits/libc-lock.h
newlib/libc/sys/linux/bits/pthreadtypes.h
newlib/libc/sys/linux/bits/typesizes.h
newlib/libc/sys/linux/bp-checks.h
newlib/libc/sys/linux/brk.c
newlib/libc/sys/linux/calloc.c
newlib/libc/sys/linux/callocr.c
newlib/libc/sys/linux/cfreer.c
newlib/libc/sys/linux/cfspeed.c
newlib/libc/sys/linux/clock_getres.c
newlib/libc/sys/linux/clock_gettime.c
newlib/libc/sys/linux/clock_settime.c
newlib/libc/sys/linux/cmath/Makefile.am
newlib/libc/sys/linux/cmath/Makefile.in
newlib/libc/sys/linux/cmath/math_private.h
newlib/libc/sys/linux/cmath/s_cacos.c
newlib/libc/sys/linux/cmath/s_cacosf.c
newlib/libc/sys/linux/cmath/s_cacosh.c
newlib/libc/sys/linux/cmath/s_cacoshf.c
newlib/libc/sys/linux/cmath/s_cacoshl.c
newlib/libc/sys/linux/cmath/s_cacosl.c
newlib/libc/sys/linux/cmath/s_casin.c
newlib/libc/sys/linux/cmath/s_casinf.c
newlib/libc/sys/linux/cmath/s_casinh.c
newlib/libc/sys/linux/cmath/s_casinhf.c
newlib/libc/sys/linux/cmath/s_casinhl.c
newlib/libc/sys/linux/cmath/s_casinl.c
newlib/libc/sys/linux/cmath/s_catan.c
newlib/libc/sys/linux/cmath/s_catanf.c
newlib/libc/sys/linux/cmath/s_catanh.c
newlib/libc/sys/linux/cmath/s_catanhf.c
newlib/libc/sys/linux/cmath/s_catanhl.c
newlib/libc/sys/linux/cmath/s_catanl.c
newlib/libc/sys/linux/cmath/s_cbrtl.c
newlib/libc/sys/linux/cmath/s_ccos.c
newlib/libc/sys/linux/cmath/s_ccosf.c
newlib/libc/sys/linux/cmath/s_ccosh.c
newlib/libc/sys/linux/cmath/s_ccoshf.c
newlib/libc/sys/linux/cmath/s_ccoshl.c
newlib/libc/sys/linux/cmath/s_ccosl.c
newlib/libc/sys/linux/cmath/s_cexp.c
newlib/libc/sys/linux/cmath/s_cexpf.c
newlib/libc/sys/linux/cmath/s_cexpl.c
newlib/libc/sys/linux/cmath/s_clog.c
newlib/libc/sys/linux/cmath/s_clog10.c
newlib/libc/sys/linux/cmath/s_clog10f.c
newlib/libc/sys/linux/cmath/s_clog10l.c
newlib/libc/sys/linux/cmath/s_clogf.c
newlib/libc/sys/linux/cmath/s_clogl.c
newlib/libc/sys/linux/cmath/s_cpow.c
newlib/libc/sys/linux/cmath/s_cpowf.c
newlib/libc/sys/linux/cmath/s_cpowl.c
newlib/libc/sys/linux/cmath/s_cproj.c
newlib/libc/sys/linux/cmath/s_cprojf.c
newlib/libc/sys/linux/cmath/s_cprojl.c
newlib/libc/sys/linux/cmath/s_csin.c
newlib/libc/sys/linux/cmath/s_csinf.c
newlib/libc/sys/linux/cmath/s_csinh.c
newlib/libc/sys/linux/cmath/s_csinhf.c
newlib/libc/sys/linux/cmath/s_csinhl.c
newlib/libc/sys/linux/cmath/s_csinl.c
newlib/libc/sys/linux/cmath/s_csqrt.c
newlib/libc/sys/linux/cmath/s_csqrtf.c
newlib/libc/sys/linux/cmath/s_csqrtl.c
newlib/libc/sys/linux/cmath/s_ctan.c
newlib/libc/sys/linux/cmath/s_ctanf.c
newlib/libc/sys/linux/cmath/s_ctanh.c
newlib/libc/sys/linux/cmath/s_ctanhf.c
newlib/libc/sys/linux/cmath/s_ctanhl.c
newlib/libc/sys/linux/cmath/s_ctanl.c
newlib/libc/sys/linux/config.h
newlib/libc/sys/linux/configure
newlib/libc/sys/linux/configure.in
newlib/libc/sys/linux/confstr.c
newlib/libc/sys/linux/confstr.h
newlib/libc/sys/linux/crt1.c
newlib/libc/sys/linux/ctermid.c
newlib/libc/sys/linux/dl/Makefile.am
newlib/libc/sys/linux/dl/Makefile.in
newlib/libc/sys/linux/dl/abi-tag.h
newlib/libc/sys/linux/dl/atomicity.h
newlib/libc/sys/linux/dl/dl-addr.c
newlib/libc/sys/linux/dl/dl-cache.c
newlib/libc/sys/linux/dl/dl-cache.h
newlib/libc/sys/linux/dl/dl-close.c
newlib/libc/sys/linux/dl/dl-debug.c
newlib/libc/sys/linux/dl/dl-deps.c
newlib/libc/sys/linux/dl/dl-dst.h
newlib/libc/sys/linux/dl/dl-error.c
newlib/libc/sys/linux/dl/dl-fini.c
newlib/libc/sys/linux/dl/dl-init.c
newlib/libc/sys/linux/dl/dl-iteratephdr.c
newlib/libc/sys/linux/dl/dl-libc.c
newlib/libc/sys/linux/dl/dl-librecon.h
newlib/libc/sys/linux/dl/dl-load.c
newlib/libc/sys/linux/dl/dl-local.h
newlib/libc/sys/linux/dl/dl-lookup.c
newlib/libc/sys/linux/dl/dl-lookupcfg.h
newlib/libc/sys/linux/dl/dl-minimal.c
newlib/libc/sys/linux/dl/dl-misc.c
newlib/libc/sys/linux/dl/dl-object.c
newlib/libc/sys/linux/dl/dl-open.c
newlib/libc/sys/linux/dl/dl-osinfo.h
newlib/libc/sys/linux/dl/dl-profile.c
newlib/libc/sys/linux/dl/dl-profstub.c
newlib/libc/sys/linux/dl/dl-reloc.c
newlib/libc/sys/linux/dl/dl-runtime.c
newlib/libc/sys/linux/dl/dl-support.c
newlib/libc/sys/linux/dl/dl-sym.c
newlib/libc/sys/linux/dl/dl-version.c
newlib/libc/sys/linux/dl/do-lookup.h
newlib/libc/sys/linux/dl/do-rel.h
newlib/libc/sys/linux/dl/dynamic-link.h
newlib/libc/sys/linux/dl/kernel-features.h
newlib/libc/sys/linux/dl/ldsodefs.h
newlib/libc/sys/linux/dl/libintl.h
newlib/libc/sys/linux/dl/trusted-dirs.h
newlib/libc/sys/linux/dl/unsecvars.h
newlib/libc/sys/linux/fclean.c
newlib/libc/sys/linux/flockfile.c
newlib/libc/sys/linux/fpathconf.c
newlib/libc/sys/linux/free.c
newlib/libc/sys/linux/freer.c
newlib/libc/sys/linux/fstab.c
newlib/libc/sys/linux/fstatvfs.c
newlib/libc/sys/linux/fstatvfs64.c
newlib/libc/sys/linux/ftok.c
newlib/libc/sys/linux/ftw.c
newlib/libc/sys/linux/ftw64.c
newlib/libc/sys/linux/funlockfile.c
newlib/libc/sys/linux/getdate.c
newlib/libc/sys/linux/getdate_err.c
newlib/libc/sys/linux/gethostid.c
newlib/libc/sys/linux/gethostname.c
newlib/libc/sys/linux/getlogin.c
newlib/libc/sys/linux/getopt.c
newlib/libc/sys/linux/getopt1.c
newlib/libc/sys/linux/getpwent.c
newlib/libc/sys/linux/getreent.c
newlib/libc/sys/linux/getrlimit64.c
newlib/libc/sys/linux/getwd.c
newlib/libc/sys/linux/hp-timing.h
newlib/libc/sys/linux/iconv/Makefile.am
newlib/libc/sys/linux/iconv/Makefile.in
newlib/libc/sys/linux/iconv/categories.def
newlib/libc/sys/linux/iconv/dummy-repertoire.c
newlib/libc/sys/linux/iconv/gconv.c
newlib/libc/sys/linux/iconv/gconv_builtin.c
newlib/libc/sys/linux/iconv/gconv_builtin.h
newlib/libc/sys/linux/iconv/gconv_cache.c
newlib/libc/sys/linux/iconv/gconv_charset.h
newlib/libc/sys/linux/iconv/gconv_close.c
newlib/libc/sys/linux/iconv/gconv_conf.c
newlib/libc/sys/linux/iconv/gconv_db.c
newlib/libc/sys/linux/iconv/gconv_dl.c
newlib/libc/sys/linux/iconv/gconv_int.h
newlib/libc/sys/linux/iconv/gconv_open.c
newlib/libc/sys/linux/iconv/gconv_simple.c
newlib/libc/sys/linux/iconv/gconv_trans.c
newlib/libc/sys/linux/iconv/hash-string.h
newlib/libc/sys/linux/iconv/iconv.c
newlib/libc/sys/linux/iconv/iconv.h
newlib/libc/sys/linux/iconv/iconv_charmap.c
newlib/libc/sys/linux/iconv/iconv_close.c
newlib/libc/sys/linux/iconv/iconv_open.c
newlib/libc/sys/linux/iconv/iconvconfig.h
newlib/libc/sys/linux/iconv/loadinfo.h
newlib/libc/sys/linux/iconv/localeinfo.h
newlib/libc/sys/linux/iconv/loop.c
newlib/libc/sys/linux/iconv/skeleton.c
newlib/libc/sys/linux/ids.c
newlib/libc/sys/linux/include/argp.h
newlib/libc/sys/linux/include/arpa/ftp.h
newlib/libc/sys/linux/include/arpa/inet.h
newlib/libc/sys/linux/include/arpa/nameser.h
newlib/libc/sys/linux/include/arpa/nameser_compat.h
newlib/libc/sys/linux/include/arpa/telnet.h
newlib/libc/sys/linux/include/arpa/tftp.h
newlib/libc/sys/linux/include/bp-sym.h
newlib/libc/sys/linux/include/cmathcalls.h
newlib/libc/sys/linux/include/complex.h
newlib/libc/sys/linux/include/dl-hash.h
newlib/libc/sys/linux/include/dlfcn.h
newlib/libc/sys/linux/include/fnmatch.h
newlib/libc/sys/linux/include/gconv.h
newlib/libc/sys/linux/include/getopt.h
newlib/libc/sys/linux/include/glob.h
newlib/libc/sys/linux/include/hesiod.h
newlib/libc/sys/linux/include/iconv.h
newlib/libc/sys/linux/include/ifaddrs.h
newlib/libc/sys/linux/include/limits.h
newlib/libc/sys/linux/include/link.h
newlib/libc/sys/linux/include/ltdl.h
newlib/libc/sys/linux/include/malloc.h
newlib/libc/sys/linux/include/mcheck.h
newlib/libc/sys/linux/include/mqueue.h
newlib/libc/sys/linux/include/namespace.h
newlib/libc/sys/linux/include/net/bpf.h
newlib/libc/sys/linux/include/net/bpf_compat.h
newlib/libc/sys/linux/include/net/bpfdesc.h
newlib/libc/sys/linux/include/net/bridge.h
newlib/libc/sys/linux/include/net/ethernet.h
newlib/libc/sys/linux/include/net/fddi.h
newlib/libc/sys/linux/include/net/if.h
newlib/libc/sys/linux/include/net/if_arc.h
newlib/libc/sys/linux/include/net/if_arp.h
newlib/libc/sys/linux/include/net/if_dl.h
newlib/libc/sys/linux/include/net/if_gif.h
newlib/libc/sys/linux/include/net/if_ieee80211.h
newlib/libc/sys/linux/include/net/if_llc.h
newlib/libc/sys/linux/include/net/if_mib.h
newlib/libc/sys/linux/include/net/if_ppp.h
newlib/libc/sys/linux/include/net/if_slvar.h
newlib/libc/sys/linux/include/net/if_sppp.h
newlib/libc/sys/linux/include/net/if_stf.h
newlib/libc/sys/linux/include/net/if_tap.h
newlib/libc/sys/linux/include/net/if_tapvar.h
newlib/libc/sys/linux/include/net/if_tun.h
newlib/libc/sys/linux/include/net/if_tunvar.h
newlib/libc/sys/linux/include/net/if_types.h
newlib/libc/sys/linux/include/net/if_var.h
newlib/libc/sys/linux/include/net/if_vlan_var.h
newlib/libc/sys/linux/include/net/intrq.h
newlib/libc/sys/linux/include/net/iso88025.h
newlib/libc/sys/linux/include/net/net_osdep.h
newlib/libc/sys/linux/include/net/netisr.h
newlib/libc/sys/linux/include/net/pfil.h
newlib/libc/sys/linux/include/net/pfkeyv2.h
newlib/libc/sys/linux/include/net/ppp_comp.h
newlib/libc/sys/linux/include/net/ppp_defs.h
newlib/libc/sys/linux/include/net/radix.h
newlib/libc/sys/linux/include/net/raw_cb.h
newlib/libc/sys/linux/include/net/route.h
newlib/libc/sys/linux/include/net/slcompress.h
newlib/libc/sys/linux/include/net/slip.h
newlib/libc/sys/linux/include/net/zlib.h
newlib/libc/sys/linux/include/netconfig.h
newlib/libc/sys/linux/include/netdb.h
newlib/libc/sys/linux/include/netinet/icmp6.h
newlib/libc/sys/linux/include/netinet/icmp_var.h
newlib/libc/sys/linux/include/netinet/if_ether.h
newlib/libc/sys/linux/include/netinet/igmp.h
newlib/libc/sys/linux/include/netinet/igmp_var.h
newlib/libc/sys/linux/include/netinet/in.h
newlib/libc/sys/linux/include/netinet/in_gif.h
newlib/libc/sys/linux/include/netinet/in_pcb.h
newlib/libc/sys/linux/include/netinet/in_systm.h
newlib/libc/sys/linux/include/netinet/in_var.h
newlib/libc/sys/linux/include/netinet/ip.h
newlib/libc/sys/linux/include/netinet/ip6.h
newlib/libc/sys/linux/include/netinet/ip_dummynet.h
newlib/libc/sys/linux/include/netinet/ip_ecn.h
newlib/libc/sys/linux/include/netinet/ip_encap.h
newlib/libc/sys/linux/include/netinet/ip_fw.h
newlib/libc/sys/linux/include/netinet/ip_icmp.h
newlib/libc/sys/linux/include/netinet/ip_mroute.h
newlib/libc/sys/linux/include/netinet/ip_var.h
newlib/libc/sys/linux/include/netinet/ipprotosw.h
newlib/libc/sys/linux/include/netinet/tcp.h
newlib/libc/sys/linux/include/netinet/tcp_debug.h
newlib/libc/sys/linux/include/netinet/tcp_fsm.h
newlib/libc/sys/linux/include/netinet/tcp_seq.h
newlib/libc/sys/linux/include/netinet/tcp_timer.h
newlib/libc/sys/linux/include/netinet/tcp_var.h
newlib/libc/sys/linux/include/netinet/tcpip.h
newlib/libc/sys/linux/include/netinet/udp.h
newlib/libc/sys/linux/include/netinet/udp_var.h
newlib/libc/sys/linux/include/netinet6/ah.h
newlib/libc/sys/linux/include/netinet6/ah6.h
newlib/libc/sys/linux/include/netinet6/esp.h
newlib/libc/sys/linux/include/netinet6/esp6.h
newlib/libc/sys/linux/include/netinet6/esp_rijndael.h
newlib/libc/sys/linux/include/netinet6/icmp6.h
newlib/libc/sys/linux/include/netinet6/in6.h
newlib/libc/sys/linux/include/netinet6/in6_gif.h
newlib/libc/sys/linux/include/netinet6/in6_ifattach.h
newlib/libc/sys/linux/include/netinet6/in6_pcb.h
newlib/libc/sys/linux/include/netinet6/in6_prefix.h
newlib/libc/sys/linux/include/netinet6/in6_var.h
newlib/libc/sys/linux/include/netinet6/ip6.h
newlib/libc/sys/linux/include/netinet6/ip6_ecn.h
newlib/libc/sys/linux/include/netinet6/ip6_fw.h
newlib/libc/sys/linux/include/netinet6/ip6_mroute.h
newlib/libc/sys/linux/include/netinet6/ip6_var.h
newlib/libc/sys/linux/include/netinet6/ip6protosw.h
newlib/libc/sys/linux/include/netinet6/ipcomp.h
newlib/libc/sys/linux/include/netinet6/ipcomp6.h
newlib/libc/sys/linux/include/netinet6/ipsec.h
newlib/libc/sys/linux/include/netinet6/ipsec6.h
newlib/libc/sys/linux/include/netinet6/mld6_var.h
newlib/libc/sys/linux/include/netinet6/nd6.h
newlib/libc/sys/linux/include/netinet6/pim6.h
newlib/libc/sys/linux/include/netinet6/pim6_var.h
newlib/libc/sys/linux/include/netinet6/raw_ip6.h
newlib/libc/sys/linux/include/netinet6/scope6_var.h
newlib/libc/sys/linux/include/netinet6/tcp6_var.h
newlib/libc/sys/linux/include/netinet6/udp6_var.h
newlib/libc/sys/linux/include/netns/idp.h
newlib/libc/sys/linux/include/netns/idp_var.h
newlib/libc/sys/linux/include/netns/ns.h
newlib/libc/sys/linux/include/netns/ns_error.h
newlib/libc/sys/linux/include/netns/ns_if.h
newlib/libc/sys/linux/include/netns/ns_pcb.h
newlib/libc/sys/linux/include/netns/sp.h
newlib/libc/sys/linux/include/netns/spidp.h
newlib/libc/sys/linux/include/netns/spp_debug.h
newlib/libc/sys/linux/include/netns/spp_timer.h
newlib/libc/sys/linux/include/netns/spp_var.h
newlib/libc/sys/linux/include/paths.h
newlib/libc/sys/linux/include/pthread.h
newlib/libc/sys/linux/include/regex.h
newlib/libc/sys/linux/include/resolv.h
newlib/libc/sys/linux/include/rpc/Makefile
newlib/libc/sys/linux/include/rpc/auth.h
newlib/libc/sys/linux/include/rpc/auth_des.h
newlib/libc/sys/linux/include/rpc/auth_kerb.h
newlib/libc/sys/linux/include/rpc/auth_unix.h
newlib/libc/sys/linux/include/rpc/clnt.h
newlib/libc/sys/linux/include/rpc/clnt_soc.h
newlib/libc/sys/linux/include/rpc/clnt_stat.h
newlib/libc/sys/linux/include/rpc/des.h
newlib/libc/sys/linux/include/rpc/des_crypt.h
newlib/libc/sys/linux/include/rpc/nettype.h
newlib/libc/sys/linux/include/rpc/pmap_clnt.h
newlib/libc/sys/linux/include/rpc/pmap_prot.h
newlib/libc/sys/linux/include/rpc/pmap_rmt.h
newlib/libc/sys/linux/include/rpc/raw.h
newlib/libc/sys/linux/include/rpc/rpc.h
newlib/libc/sys/linux/include/rpc/rpc_com.h
newlib/libc/sys/linux/include/rpc/rpc_msg.h
newlib/libc/sys/linux/include/rpc/rpcb_clnt.h
newlib/libc/sys/linux/include/rpc/rpcb_prot.h
newlib/libc/sys/linux/include/rpc/rpcb_prot.x
newlib/libc/sys/linux/include/rpc/rpcent.h
newlib/libc/sys/linux/include/rpc/svc.h
newlib/libc/sys/linux/include/rpc/svc_auth.h
newlib/libc/sys/linux/include/rpc/svc_dg.h
newlib/libc/sys/linux/include/rpc/svc_soc.h
newlib/libc/sys/linux/include/rpc/types.h
newlib/libc/sys/linux/include/rpc/xdr.h
newlib/libc/sys/linux/include/rune.h
newlib/libc/sys/linux/include/runetype.h
newlib/libc/sys/linux/include/sched.h
newlib/libc/sys/linux/include/semaphore.h
newlib/libc/sys/linux/include/setjmp.h
newlib/libc/sys/linux/include/setlocale.h
newlib/libc/sys/linux/include/stdint.h
newlib/libc/sys/linux/include/time.h
newlib/libc/sys/linux/include/un-namespace.h
newlib/libc/sys/linux/include/unistd.h
newlib/libc/sys/linux/include/wordexp.h
newlib/libc/sys/linux/inode.c
newlib/libc/sys/linux/internal_statvfs.c
newlib/libc/sys/linux/intl/Makefile.am
newlib/libc/sys/linux/intl/Makefile.in
newlib/libc/sys/linux/intl/bindtextdom.c
newlib/libc/sys/linux/intl/catgets.c
newlib/libc/sys/linux/intl/catgetsinfo.h
newlib/libc/sys/linux/intl/config.h
newlib/libc/sys/linux/intl/dcgettext.c
newlib/libc/sys/linux/intl/dcigettext.c
newlib/libc/sys/linux/intl/dcngettext.c
newlib/libc/sys/linux/intl/dgettext.c
newlib/libc/sys/linux/intl/dngettext.c
newlib/libc/sys/linux/intl/explodename.c
newlib/libc/sys/linux/intl/finddomain.c
newlib/libc/sys/linux/intl/gettext.c
newlib/libc/sys/linux/intl/gettext.h
newlib/libc/sys/linux/intl/gettextP.h
newlib/libc/sys/linux/intl/hash-string.h
newlib/libc/sys/linux/intl/l10nflist.c
newlib/libc/sys/linux/intl/lcl_stpcpy.c
newlib/libc/sys/linux/intl/loadinfo.h
newlib/libc/sys/linux/intl/loadmsgcat.c
newlib/libc/sys/linux/intl/localealias.c
newlib/libc/sys/linux/intl/ngettext.c
newlib/libc/sys/linux/intl/open_catalog.c
newlib/libc/sys/linux/intl/plural.c
newlib/libc/sys/linux/intl/plural.y
newlib/libc/sys/linux/intl/textdomain.c
newlib/libc/sys/linux/io.c
newlib/libc/sys/linux/io64.c
newlib/libc/sys/linux/ipc.c
newlib/libc/sys/linux/isatty.c
newlib/libc/sys/linux/kernel_sigaction.h
newlib/libc/sys/linux/libc-internal.h
newlib/libc/sys/linux/libc-symbols.h
newlib/libc/sys/linux/libc-tsd.h
newlib/libc/sys/linux/libintl.h
newlib/libc/sys/linux/linux.c
newlib/libc/sys/linux/linux_fsinfo.h
newlib/libc/sys/linux/linuxthreads/LICENSE
newlib/libc/sys/linux/linuxthreads/Makefile.am
newlib/libc/sys/linux/linuxthreads/Makefile.in
newlib/libc/sys/linux/linuxthreads/aclocal.m4
newlib/libc/sys/linux/linuxthreads/attr.c
newlib/libc/sys/linux/linuxthreads/barrier.c
newlib/libc/sys/linux/linuxthreads/bits/initspin.h
newlib/libc/sys/linux/linuxthreads/bits/libc-lock.h
newlib/libc/sys/linux/linuxthreads/bits/libc-tsd.h
newlib/libc/sys/linux/linuxthreads/bits/local_lim.h
newlib/libc/sys/linux/linuxthreads/bits/posix_opt.h
newlib/libc/sys/linux/linuxthreads/bits/pthreadtypes.h
newlib/libc/sys/linux/linuxthreads/bits/sigthread.h
newlib/libc/sys/linux/linuxthreads/bp-sym.h
newlib/libc/sys/linux/linuxthreads/cancel.c
newlib/libc/sys/linux/linuxthreads/condvar.c
newlib/libc/sys/linux/linuxthreads/config.h
newlib/libc/sys/linux/linuxthreads/configure
newlib/libc/sys/linux/linuxthreads/configure.in
newlib/libc/sys/linux/linuxthreads/defs.awk
newlib/libc/sys/linux/linuxthreads/ecmutex.c
newlib/libc/sys/linux/linuxthreads/events.c
newlib/libc/sys/linux/linuxthreads/getcpuclockid.c
newlib/libc/sys/linux/linuxthreads/getreent.c
newlib/libc/sys/linux/linuxthreads/internals.h
newlib/libc/sys/linux/linuxthreads/join.c
newlib/libc/sys/linux/linuxthreads/joinrace.c
newlib/libc/sys/linux/linuxthreads/kernel-features.h
newlib/libc/sys/linux/linuxthreads/libc-internal.h
newlib/libc/sys/linux/linuxthreads/libc-symbols.h
newlib/libc/sys/linux/linuxthreads/linuxthreads.texi
newlib/libc/sys/linux/linuxthreads/lockfile.c
newlib/libc/sys/linux/linuxthreads/machine/Makefile.am
newlib/libc/sys/linux/linuxthreads/machine/Makefile.in
newlib/libc/sys/linux/linuxthreads/machine/aclocal.m4
newlib/libc/sys/linux/linuxthreads/machine/configure
newlib/libc/sys/linux/linuxthreads/machine/configure.in
newlib/libc/sys/linux/linuxthreads/machine/generic/generic-sysdep.h
newlib/libc/sys/linux/linuxthreads/machine/i386/Makefile.am
newlib/libc/sys/linux/linuxthreads/machine/i386/Makefile.in
newlib/libc/sys/linux/linuxthreads/machine/i386/aclocal.m4
newlib/libc/sys/linux/linuxthreads/machine/i386/bp-asm.h
newlib/libc/sys/linux/linuxthreads/machine/i386/clone.S
newlib/libc/sys/linux/linuxthreads/machine/i386/configure
newlib/libc/sys/linux/linuxthreads/machine/i386/configure.in
newlib/libc/sys/linux/linuxthreads/machine/i386/i386-sysdep.S
newlib/libc/sys/linux/linuxthreads/machine/i386/i386-sysdep.h
newlib/libc/sys/linux/linuxthreads/machine/i386/pspinlock.c
newlib/libc/sys/linux/linuxthreads/machine/i386/pt-machine.h
newlib/libc/sys/linux/linuxthreads/machine/i386/sigcontextinfo.h
newlib/libc/sys/linux/linuxthreads/machine/i386/stackinfo.h
newlib/libc/sys/linux/linuxthreads/machine/i386/sysdep.S
newlib/libc/sys/linux/linuxthreads/machine/i386/sysdep.h
newlib/libc/sys/linux/linuxthreads/machine/i386/useldt.h
newlib/libc/sys/linux/linuxthreads/manager.c
newlib/libc/sys/linux/linuxthreads/mq_notify.c
newlib/libc/sys/linux/linuxthreads/mutex.c
newlib/libc/sys/linux/linuxthreads/no-tsd.c
newlib/libc/sys/linux/linuxthreads/oldsemaphore.c
newlib/libc/sys/linux/linuxthreads/posix-timer.h
newlib/libc/sys/linux/linuxthreads/prio.c
newlib/libc/sys/linux/linuxthreads/proc_service.h
newlib/libc/sys/linux/linuxthreads/pt-machine.c
newlib/libc/sys/linux/linuxthreads/ptclock_gettime.c
newlib/libc/sys/linux/linuxthreads/ptclock_settime.c
newlib/libc/sys/linux/linuxthreads/ptfork.c
newlib/libc/sys/linux/linuxthreads/pthread.c
newlib/libc/sys/linux/linuxthreads/ptlongjmp.c
newlib/libc/sys/linux/linuxthreads/queue.h
newlib/libc/sys/linux/linuxthreads/reent.c
newlib/libc/sys/linux/linuxthreads/reqsyscalls.c
newlib/libc/sys/linux/linuxthreads/restart.h
newlib/libc/sys/linux/linuxthreads/rwlock.c
newlib/libc/sys/linux/linuxthreads/semaphore.c
newlib/libc/sys/linux/linuxthreads/semaphore.h
newlib/libc/sys/linux/linuxthreads/shlib-compat.h
newlib/libc/sys/linux/linuxthreads/signals.c
newlib/libc/sys/linux/linuxthreads/specific.c
newlib/libc/sys/linux/linuxthreads/spinlock.c
newlib/libc/sys/linux/linuxthreads/spinlock.h
newlib/libc/sys/linux/linuxthreads/sysctl.c
newlib/libc/sys/linux/linuxthreads/td_init.c
newlib/libc/sys/linux/linuxthreads/td_log.c
newlib/libc/sys/linux/linuxthreads/td_symbol_list.c
newlib/libc/sys/linux/linuxthreads/td_ta_clear_event.c
newlib/libc/sys/linux/linuxthreads/td_ta_delete.c
newlib/libc/sys/linux/linuxthreads/td_ta_enable_stats.c
newlib/libc/sys/linux/linuxthreads/td_ta_event_addr.c
newlib/libc/sys/linux/linuxthreads/td_ta_event_getmsg.c
newlib/libc/sys/linux/linuxthreads/td_ta_get_nthreads.c
newlib/libc/sys/linux/linuxthreads/td_ta_get_ph.c
newlib/libc/sys/linux/linuxthreads/td_ta_get_stats.c
newlib/libc/sys/linux/linuxthreads/td_ta_map_id2thr.c
newlib/libc/sys/linux/linuxthreads/td_ta_map_lwp2thr.c
newlib/libc/sys/linux/linuxthreads/td_ta_new.c
newlib/libc/sys/linux/linuxthreads/td_ta_reset_stats.c
newlib/libc/sys/linux/linuxthreads/td_ta_set_event.c
newlib/libc/sys/linux/linuxthreads/td_ta_setconcurrency.c
newlib/libc/sys/linux/linuxthreads/td_ta_thr_iter.c
newlib/libc/sys/linux/linuxthreads/td_ta_tsd_iter.c
newlib/libc/sys/linux/linuxthreads/td_thr_clear_event.c
newlib/libc/sys/linux/linuxthreads/td_thr_dbresume.c
newlib/libc/sys/linux/linuxthreads/td_thr_dbsuspend.c
newlib/libc/sys/linux/linuxthreads/td_thr_event_enable.c
newlib/libc/sys/linux/linuxthreads/td_thr_event_getmsg.c
newlib/libc/sys/linux/linuxthreads/td_thr_get_info.c
newlib/libc/sys/linux/linuxthreads/td_thr_getfpregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_getgregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_getxregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_getxregsize.c
newlib/libc/sys/linux/linuxthreads/td_thr_set_event.c
newlib/libc/sys/linux/linuxthreads/td_thr_setfpregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_setgregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_setprio.c
newlib/libc/sys/linux/linuxthreads/td_thr_setsigpending.c
newlib/libc/sys/linux/linuxthreads/td_thr_setxregs.c
newlib/libc/sys/linux/linuxthreads/td_thr_sigsetmask.c
newlib/libc/sys/linux/linuxthreads/td_thr_tsd.c
newlib/libc/sys/linux/linuxthreads/td_thr_validate.c
newlib/libc/sys/linux/linuxthreads/testrtsig.h
newlib/libc/sys/linux/linuxthreads/thread_db.h
newlib/libc/sys/linux/linuxthreads/thread_dbP.h
newlib/libc/sys/linux/linuxthreads/timer_create.c
newlib/libc/sys/linux/linuxthreads/timer_delete.c
newlib/libc/sys/linux/linuxthreads/timer_getoverr.c
newlib/libc/sys/linux/linuxthreads/timer_gettime.c
newlib/libc/sys/linux/linuxthreads/timer_routines.c
newlib/libc/sys/linux/linuxthreads/timer_settime.c
newlib/libc/sys/linux/linuxthreads/tst-cancel.c
newlib/libc/sys/linux/linuxthreads/tst-context.c
newlib/libc/sys/linux/linuxthreads/tststack.c
newlib/libc/sys/linux/linuxthreads/unload.c
newlib/libc/sys/linux/linuxthreads/weaks.c
newlib/libc/sys/linux/linuxthreads/wrapsyscall.c
newlib/libc/sys/linux/machine/Makefile.am
newlib/libc/sys/linux/machine/Makefile.in
newlib/libc/sys/linux/machine/aclocal.m4
newlib/libc/sys/linux/machine/configure
newlib/libc/sys/linux/machine/configure.in
newlib/libc/sys/linux/machine/hp-timing.h
newlib/libc/sys/linux/machine/i386/Makefile.am
newlib/libc/sys/linux/machine/i386/Makefile.in
newlib/libc/sys/linux/machine/i386/aclocal.m4
newlib/libc/sys/linux/machine/i386/atomic.h
newlib/libc/sys/linux/machine/i386/configure
newlib/libc/sys/linux/machine/i386/configure.in
newlib/libc/sys/linux/machine/i386/crt0.c
newlib/libc/sys/linux/machine/i386/dl-machine.h
newlib/libc/sys/linux/machine/i386/dl-procinfo.c
newlib/libc/sys/linux/machine/i386/dl-procinfo.h
newlib/libc/sys/linux/machine/i386/get_clockfreq.c
newlib/libc/sys/linux/machine/i386/getpagesize.c
newlib/libc/sys/linux/machine/i386/hp-timing.c
newlib/libc/sys/linux/machine/i386/hp-timing.h
newlib/libc/sys/linux/machine/i386/huge_val.h
newlib/libc/sys/linux/machine/i386/i386mach.h
newlib/libc/sys/linux/machine/i386/include/endian.h
newlib/libc/sys/linux/machine/i386/include/param.h
newlib/libc/sys/linux/machine/i386/include/setjmp.h
newlib/libc/sys/linux/machine/i386/include/termios.h
newlib/libc/sys/linux/machine/i386/setjmp.S
newlib/libc/sys/linux/machine/i386/sigaction.c
newlib/libc/sys/linux/machine/i386/sigstack.h
newlib/libc/sys/linux/machine/i386/socketcall.h
newlib/libc/sys/linux/machine/i386/syscall.h
newlib/libc/sys/linux/machine/i386/sysdep.h
newlib/libc/sys/linux/machine/i386/weakalias.h
newlib/libc/sys/linux/malign.c
newlib/libc/sys/linux/malignr.c
newlib/libc/sys/linux/mallinfor.c
newlib/libc/sys/linux/malloc.c
newlib/libc/sys/linux/mallocr.c
newlib/libc/sys/linux/malloptr.c
newlib/libc/sys/linux/mallstatsr.c
newlib/libc/sys/linux/mcheck.c
newlib/libc/sys/linux/mhooks.h
newlib/libc/sys/linux/mmap.c
newlib/libc/sys/linux/mntent.c
newlib/libc/sys/linux/mntent_r.c
newlib/libc/sys/linux/mq_close.c
newlib/libc/sys/linux/mq_getattr.c
newlib/libc/sys/linux/mq_notify.c
newlib/libc/sys/linux/mq_open.c
newlib/libc/sys/linux/mq_receive.c
newlib/libc/sys/linux/mq_send.c
newlib/libc/sys/linux/mq_setattr.c
newlib/libc/sys/linux/mq_unlink.c
newlib/libc/sys/linux/mqlocal.h
newlib/libc/sys/linux/msize.c
newlib/libc/sys/linux/msizer.c
newlib/libc/sys/linux/mstats.c
newlib/libc/sys/linux/mtrim.c
newlib/libc/sys/linux/mtrimr.c
newlib/libc/sys/linux/net/Makefile.am
newlib/libc/sys/linux/net/Makefile.in
newlib/libc/sys/linux/net/XXX-lookup.c
newlib/libc/sys/linux/net/addr2ascii.c
newlib/libc/sys/linux/net/alias-lookup.c
newlib/libc/sys/linux/net/aliases.h
newlib/libc/sys/linux/net/ascii2addr.c
newlib/libc/sys/linux/net/base64.c
newlib/libc/sys/linux/net/check_pf.c
newlib/libc/sys/linux/net/databases.def
newlib/libc/sys/linux/net/digits_dots.c
newlib/libc/sys/linux/net/ether_aton.c
newlib/libc/sys/linux/net/ether_aton_r.c
newlib/libc/sys/linux/net/ether_hton.c
newlib/libc/sys/linux/net/ether_line.c
newlib/libc/sys/linux/net/ether_ntoa.c
newlib/libc/sys/linux/net/ether_ntoa_r.c
newlib/libc/sys/linux/net/ether_ntoh.c
newlib/libc/sys/linux/net/etherent.h
newlib/libc/sys/linux/net/ethers-lookup.c
newlib/libc/sys/linux/net/function.def
newlib/libc/sys/linux/net/getXXbyYY.c
newlib/libc/sys/linux/net/getXXbyYY_r.c
newlib/libc/sys/linux/net/getXXent.c
newlib/libc/sys/linux/net/getXXent_r.c
newlib/libc/sys/linux/net/getaddrinfo.c
newlib/libc/sys/linux/net/getaliasent.c
newlib/libc/sys/linux/net/getaliasent_r.c
newlib/libc/sys/linux/net/getaliasname.c
newlib/libc/sys/linux/net/getaliasname_r.c
newlib/libc/sys/linux/net/gethstbyad.c
newlib/libc/sys/linux/net/gethstbyad_r.c
newlib/libc/sys/linux/net/gethstbynm.c
newlib/libc/sys/linux/net/gethstbynm2.c
newlib/libc/sys/linux/net/gethstbynm2_r.c
newlib/libc/sys/linux/net/gethstbynm_r.c
newlib/libc/sys/linux/net/gethstent.c
newlib/libc/sys/linux/net/gethstent_r.c
newlib/libc/sys/linux/net/getnameinfo.c
newlib/libc/sys/linux/net/getnetbyad.c
newlib/libc/sys/linux/net/getnetbyad_r.c
newlib/libc/sys/linux/net/getnetbynm.c
newlib/libc/sys/linux/net/getnetbynm_r.c
newlib/libc/sys/linux/net/getnetent.c
newlib/libc/sys/linux/net/getnetent_r.c
newlib/libc/sys/linux/net/getnetgrent.c
newlib/libc/sys/linux/net/getnetgrent_r.c
newlib/libc/sys/linux/net/getnssent.c
newlib/libc/sys/linux/net/getnssent_r.c
newlib/libc/sys/linux/net/getproto.c
newlib/libc/sys/linux/net/getproto_r.c
newlib/libc/sys/linux/net/getprtent.c
newlib/libc/sys/linux/net/getprtent_r.c
newlib/libc/sys/linux/net/getprtname.c
newlib/libc/sys/linux/net/getprtname_r.c
newlib/libc/sys/linux/net/getrpcbyname.c
newlib/libc/sys/linux/net/getrpcbyname_r.c
newlib/libc/sys/linux/net/getrpcbynumber.c
newlib/libc/sys/linux/net/getrpcbynumber_r.c
newlib/libc/sys/linux/net/getrpcent.c
newlib/libc/sys/linux/net/getrpcent_r.c
newlib/libc/sys/linux/net/getservent.c
newlib/libc/sys/linux/net/getservent_r.c
newlib/libc/sys/linux/net/getsrvbynm.c
newlib/libc/sys/linux/net/getsrvbynm_r.c
newlib/libc/sys/linux/net/getsrvbypt.c
newlib/libc/sys/linux/net/getsrvbypt_r.c
newlib/libc/sys/linux/net/grp-lookup.c
newlib/libc/sys/linux/net/herrno.c
newlib/libc/sys/linux/net/hosts-lookup.c
newlib/libc/sys/linux/net/ifaddrs.h
newlib/libc/sys/linux/net/ifname.c
newlib/libc/sys/linux/net/ifreq.c
newlib/libc/sys/linux/net/ifreq.h
newlib/libc/sys/linux/net/in6_addr.c
newlib/libc/sys/linux/net/inet6_option.c
newlib/libc/sys/linux/net/inet_addr.c
newlib/libc/sys/linux/net/inet_lnaof.c
newlib/libc/sys/linux/net/inet_mkadr.c
newlib/libc/sys/linux/net/inet_net.c
newlib/libc/sys/linux/net/inet_net_ntop.c
newlib/libc/sys/linux/net/inet_net_pton.c
newlib/libc/sys/linux/net/inet_neta.c
newlib/libc/sys/linux/net/inet_netof.c
newlib/libc/sys/linux/net/inet_ntoa.c
newlib/libc/sys/linux/net/inet_ntop.c
newlib/libc/sys/linux/net/inet_pton.c
newlib/libc/sys/linux/net/issetugid-stub.c
newlib/libc/sys/linux/net/key-lookup.c
newlib/libc/sys/linux/net/local.h
newlib/libc/sys/linux/net/netgroup.h
newlib/libc/sys/linux/net/netgrp-lookup.c
newlib/libc/sys/linux/net/network-lookup.c
newlib/libc/sys/linux/net/not-cancel.h
newlib/libc/sys/linux/net/ns_name.c
newlib/libc/sys/linux/net/ns_netint.c
newlib/libc/sys/linux/net/ns_parse.c
newlib/libc/sys/linux/net/ns_print.c
newlib/libc/sys/linux/net/ns_samedomain.c
newlib/libc/sys/linux/net/ns_ttl.c
newlib/libc/sys/linux/net/nsap_addr.c
newlib/libc/sys/linux/net/nscd-types.h
newlib/libc/sys/linux/net/nscd/nscd-client.h
newlib/libc/sys/linux/net/nscd/nscd_proto.h
newlib/libc/sys/linux/net/nss.h
newlib/libc/sys/linux/net/nsswitch.c
newlib/libc/sys/linux/net/nsswitch.h
newlib/libc/sys/linux/net/opensock.c
newlib/libc/sys/linux/net/proto-lookup.c
newlib/libc/sys/linux/net/pwd-lookup.c
newlib/libc/sys/linux/net/rcmd.c
newlib/libc/sys/linux/net/rcmdsh.c
newlib/libc/sys/linux/net/recv.c
newlib/libc/sys/linux/net/res_comp.c
newlib/libc/sys/linux/net/res_data.c
newlib/libc/sys/linux/net/res_debug.c
newlib/libc/sys/linux/net/res_debug.h
newlib/libc/sys/linux/net/res_hconf.c
newlib/libc/sys/linux/net/res_hconf.h
newlib/libc/sys/linux/net/res_init.c
newlib/libc/sys/linux/net/res_libc.c
newlib/libc/sys/linux/net/res_mkquery.c
newlib/libc/sys/linux/net/res_query.c
newlib/libc/sys/linux/net/res_send.c
newlib/libc/sys/linux/net/rexec.c
newlib/libc/sys/linux/net/rpc-lookup.c
newlib/libc/sys/linux/net/ruserpass.c
newlib/libc/sys/linux/net/send.c
newlib/libc/sys/linux/net/service-lookup.c
newlib/libc/sys/linux/net/spwd-lookup.c
newlib/libc/sys/linux/net/un-namespace.h
newlib/libc/sys/linux/ntp_gettime.c
newlib/libc/sys/linux/pathconf.c
newlib/libc/sys/linux/pread.c
newlib/libc/sys/linux/pread64.c
newlib/libc/sys/linux/process.c
newlib/libc/sys/linux/prof-freq.c
newlib/libc/sys/linux/profile.c
newlib/libc/sys/linux/psignal.c
newlib/libc/sys/linux/pvallocr.c
newlib/libc/sys/linux/pwrite.c
newlib/libc/sys/linux/pwrite64.c
newlib/libc/sys/linux/raise.c
newlib/libc/sys/linux/readdir64.c
newlib/libc/sys/linux/realloc.c
newlib/libc/sys/linux/reallocr.c
newlib/libc/sys/linux/realpath.c
newlib/libc/sys/linux/rename.c
newlib/libc/sys/linux/resource.c
newlib/libc/sys/linux/scandir64.c
newlib/libc/sys/linux/sched.c
newlib/libc/sys/linux/select.c
newlib/libc/sys/linux/seteuid.c
newlib/libc/sys/linux/sethostid.c
newlib/libc/sys/linux/sethostname.c
newlib/libc/sys/linux/setrlimit64.c
newlib/libc/sys/linux/shared.ld
newlib/libc/sys/linux/shlib-compat.h
newlib/libc/sys/linux/shm_open.c
newlib/libc/sys/linux/shm_unlink.c
newlib/libc/sys/linux/sig.c
newlib/libc/sys/linux/sigaction.c
newlib/libc/sys/linux/siglongjmp.c
newlib/libc/sys/linux/signal.c
newlib/libc/sys/linux/sigqueue.c
newlib/libc/sys/linux/sigset.c
newlib/libc/sys/linux/sigwait.c
newlib/libc/sys/linux/sleep.c
newlib/libc/sys/linux/socket.c
newlib/libc/sys/linux/sockops.h
newlib/libc/sys/linux/stack.c
newlib/libc/sys/linux/statvfs.c
newlib/libc/sys/linux/statvfs64.c
newlib/libc/sys/linux/strsignal.c
newlib/libc/sys/linux/strverscmp.c
newlib/libc/sys/linux/sys/_types.h
newlib/libc/sys/linux/sys/cdefs.h
newlib/libc/sys/linux/sys/dirent.h
newlib/libc/sys/linux/sys/dlfcn.h
newlib/libc/sys/linux/sys/elfclass.h
newlib/libc/sys/linux/sys/errno.h
newlib/libc/sys/linux/sys/event.h
newlib/libc/sys/linux/sys/fcntl.h
newlib/libc/sys/linux/sys/features.h
newlib/libc/sys/linux/sys/file.h
newlib/libc/sys/linux/sys/ioccom.h
newlib/libc/sys/linux/sys/ioctl.h
newlib/libc/sys/linux/sys/libc-lock.h
newlib/libc/sys/linux/sys/libc-tsd.h
newlib/libc/sys/linux/sys/link.h
newlib/libc/sys/linux/sys/linux_time.h
newlib/libc/sys/linux/sys/lock.h
newlib/libc/sys/linux/sys/param.h
newlib/libc/sys/linux/sys/resource.h
newlib/libc/sys/linux/sys/select.h
newlib/libc/sys/linux/sys/signal.h
newlib/libc/sys/linux/sys/socket.h
newlib/libc/sys/linux/sys/sockio.h
newlib/libc/sys/linux/sys/stat.h
newlib/libc/sys/linux/sys/stdint.h
newlib/libc/sys/linux/sys/stdio.h
newlib/libc/sys/linux/sys/string.h
newlib/libc/sys/linux/sys/termios.h
newlib/libc/sys/linux/sys/time.h
newlib/libc/sys/linux/sys/types.h
newlib/libc/sys/linux/sys/unistd.h
newlib/libc/sys/linux/sys/utime.h
newlib/libc/sys/linux/sys/utmp.h
newlib/libc/sys/linux/sys/utsname.h
newlib/libc/sys/linux/sys/wait.h
newlib/libc/sys/linux/sysconf.c
newlib/libc/sys/linux/sysctl.c
newlib/libc/sys/linux/systat.c
newlib/libc/sys/linux/system.c
newlib/libc/sys/linux/tcdrain.c
newlib/libc/sys/linux/tcsendbrk.c
newlib/libc/sys/linux/termios.c
newlib/libc/sys/linux/thread-m.h
newlib/libc/sys/linux/time.c
newlib/libc/sys/linux/ttyname_r.c
newlib/libc/sys/linux/usleep.c
newlib/libc/sys/linux/utimes.c
newlib/libc/sys/linux/vallocr.c
newlib/libc/sys/linux/versionsort.c
newlib/libc/sys/linux/versionsort64.c
newlib/libc/sys/linux/wait.c
newlib/libc/sys/m88kbug/Makefile.am
newlib/libc/sys/m88kbug/Makefile.in
newlib/libc/sys/m88kbug/aclocal.m4
newlib/libc/sys/m88kbug/configure
newlib/libc/sys/m88kbug/configure.in
newlib/libc/sys/m88kbug/crt0.c
newlib/libc/sys/m88kbug/sys/systraps.h
newlib/libc/sys/m88kbug/syscalls.c
newlib/libc/sys/mmixware/Makefile.am
newlib/libc/sys/mmixware/Makefile.in
newlib/libc/sys/mmixware/_exit.c
newlib/libc/sys/mmixware/access.c
newlib/libc/sys/mmixware/aclocal.m4
newlib/libc/sys/mmixware/chmod.c
newlib/libc/sys/mmixware/chown.c
newlib/libc/sys/mmixware/close.c
newlib/libc/sys/mmixware/configure
newlib/libc/sys/mmixware/configure.in
newlib/libc/sys/mmixware/creat.c
newlib/libc/sys/mmixware/crt0.c
newlib/libc/sys/mmixware/execv.c
newlib/libc/sys/mmixware/execve.c
newlib/libc/sys/mmixware/fork.c
newlib/libc/sys/mmixware/fstat.c
newlib/libc/sys/mmixware/getpid.c
newlib/libc/sys/mmixware/gettime.c
newlib/libc/sys/mmixware/isatty.c
newlib/libc/sys/mmixware/kill.c
newlib/libc/sys/mmixware/link.c
newlib/libc/sys/mmixware/lseek.c
newlib/libc/sys/mmixware/open.c
newlib/libc/sys/mmixware/pipe.c
newlib/libc/sys/mmixware/read.c
newlib/libc/sys/mmixware/sbrk.c
newlib/libc/sys/mmixware/setjmp.S
newlib/libc/sys/mmixware/stat.c
newlib/libc/sys/mmixware/sys/syscall.h
newlib/libc/sys/mmixware/time.c
newlib/libc/sys/mmixware/times.c
newlib/libc/sys/mmixware/unlink.c
newlib/libc/sys/mmixware/utime.c
newlib/libc/sys/mmixware/wait.c
newlib/libc/sys/mmixware/write.c
newlib/libc/sys/netware/Makefile.am
newlib/libc/sys/netware/Makefile.in
newlib/libc/sys/netware/aclocal.m4
newlib/libc/sys/netware/configure
newlib/libc/sys/netware/configure.in
newlib/libc/sys/netware/crt0.c
newlib/libc/sys/netware/getpid.c
newlib/libc/sys/netware/link.c
newlib/libc/sys/rdos/Makefile.am
newlib/libc/sys/rdos/Makefile.in
newlib/libc/sys/rdos/aclocal.m4
newlib/libc/sys/rdos/chown.c
newlib/libc/sys/rdos/close.c
newlib/libc/sys/rdos/config.h
newlib/libc/sys/rdos/configure
newlib/libc/sys/rdos/configure.in
newlib/libc/sys/rdos/crt0.S
newlib/libc/sys/rdos/execve.c
newlib/libc/sys/rdos/fork.c
newlib/libc/sys/rdos/fstat.c
newlib/libc/sys/rdos/getenv.c
newlib/libc/sys/rdos/getpid.c
newlib/libc/sys/rdos/gettod.c
newlib/libc/sys/rdos/isatty.c
newlib/libc/sys/rdos/kill.c
newlib/libc/sys/rdos/link.c
newlib/libc/sys/rdos/lseek.c
newlib/libc/sys/rdos/open.c
newlib/libc/sys/rdos/rdos.S
newlib/libc/sys/rdos/rdos.h
newlib/libc/sys/rdos/rdoshelp.c
newlib/libc/sys/rdos/read.c
newlib/libc/sys/rdos/readlink.c
newlib/libc/sys/rdos/sbrk.c
newlib/libc/sys/rdos/stat.c
newlib/libc/sys/rdos/symlink.c
newlib/libc/sys/rdos/times.c
newlib/libc/sys/rdos/unlink.c
newlib/libc/sys/rdos/user.def
newlib/libc/sys/rdos/wait.c
newlib/libc/sys/rdos/write.c
newlib/libc/sys/rtems/Makefile.am
newlib/libc/sys/rtems/Makefile.in
newlib/libc/sys/rtems/aclocal.m4
newlib/libc/sys/rtems/configure
newlib/libc/sys/rtems/configure.in
newlib/libc/sys/rtems/crt0.c
newlib/libc/sys/rtems/dummysys.c
newlib/libc/sys/rtems/include/limits.h
newlib/libc/sys/rtems/machine/limits.h
newlib/libc/sys/rtems/machine/param.h
newlib/libc/sys/rtems/sys/dirent.h
newlib/libc/sys/rtems/sys/param.h
newlib/libc/sys/rtems/sys/queue.h
newlib/libc/sys/rtems/sys/syslimits.h
newlib/libc/sys/rtems/sys/utime.h
newlib/libc/sys/sh/Makefile.am
newlib/libc/sys/sh/Makefile.in
newlib/libc/sys/sh/aclocal.m4
newlib/libc/sys/sh/configure
newlib/libc/sys/sh/configure.in
newlib/libc/sys/sh/creat.c
newlib/libc/sys/sh/crt0.S
newlib/libc/sys/sh/ftruncate.c
newlib/libc/sys/sh/sys/syscall.h
newlib/libc/sys/sh/syscalls.c
newlib/libc/sys/sh/trap.S
newlib/libc/sys/sh/truncate.c
newlib/libc/sys/sparc64/Makefile.am
newlib/libc/sys/sparc64/Makefile.in
newlib/libc/sys/sparc64/_exit.S
newlib/libc/sys/sparc64/_main.c
newlib/libc/sys/sparc64/aclocal.m4
newlib/libc/sys/sparc64/cerror.S
newlib/libc/sys/sparc64/closedir.c
newlib/libc/sys/sparc64/configure
newlib/libc/sys/sparc64/configure.in
newlib/libc/sys/sparc64/creat.c
newlib/libc/sys/sparc64/crt0.S
newlib/libc/sys/sparc64/dup2.S
newlib/libc/sys/sparc64/execve.S
newlib/libc/sys/sparc64/ieee.c
newlib/libc/sys/sparc64/isatty.c
newlib/libc/sys/sparc64/lstat.S
newlib/libc/sys/sparc64/opendir.c
newlib/libc/sys/sparc64/readdir.c
newlib/libc/sys/sparc64/rewinddir.c
newlib/libc/sys/sparc64/sbrk.S
newlib/libc/sys/sparc64/scandir.c
newlib/libc/sys/sparc64/seekdir.c
newlib/libc/sys/sparc64/sigsetjmp.S
newlib/libc/sys/sparc64/stat.S
newlib/libc/sys/sparc64/sys/dirent.h
newlib/libc/sys/sparc64/sys/fcntl.h
newlib/libc/sys/sparc64/sys/file.h
newlib/libc/sys/sparc64/sys/stat.h
newlib/libc/sys/sparc64/sys/syscall.h
newlib/libc/sys/sparc64/sys/syscallasm.h
newlib/libc/sys/sparc64/sys/termios.h
newlib/libc/sys/sparc64/sys/time.h
newlib/libc/sys/sparc64/sys/utime.h
newlib/libc/sys/sparc64/sys/utmp.h
newlib/libc/sys/sparc64/sys/wait.h
newlib/libc/sys/sparc64/telldir.c
newlib/libc/sys/sparc64/template.S
newlib/libc/sys/sparc64/template_r.S
newlib/libc/sys/sparc64/utime.S
newlib/libc/sys/sparc64/utime2.c
newlib/libc/sys/sparc64/wait.S
newlib/libc/sys/sun4/Makefile.am
newlib/libc/sys/sun4/Makefile.in
newlib/libc/sys/sun4/_main.c
newlib/libc/sys/sun4/aclocal.m4
newlib/libc/sys/sun4/configure
newlib/libc/sys/sun4/configure.in
newlib/libc/sys/sun4/ieee.c
newlib/libc/sys/sun4/sys/dirent.h
newlib/libc/sys/sun4/sys/file.h
newlib/libc/sys/sun4/sys/termios.h
newlib/libc/sys/sun4/sys/utime.h
newlib/libc/sys/sun4/sys/utmp.h
newlib/libc/sys/sun4/sys/wait.h
newlib/libc/sys/sysmec/Makefile.am
newlib/libc/sys/sysmec/Makefile.in
newlib/libc/sys/sysmec/_exit.c
newlib/libc/sys/sysmec/access.c
newlib/libc/sys/sysmec/aclocal.m4
newlib/libc/sys/sysmec/chmod.c
newlib/libc/sys/sysmec/chown.c
newlib/libc/sys/sysmec/close.c
newlib/libc/sys/sysmec/configure
newlib/libc/sys/sysmec/configure.in
newlib/libc/sys/sysmec/creat.c
newlib/libc/sys/sysmec/crt0.S
newlib/libc/sys/sysmec/crt1.c
newlib/libc/sys/sysmec/execv.c
newlib/libc/sys/sysmec/execve.c
newlib/libc/sys/sysmec/fork.c
newlib/libc/sys/sysmec/fstat.c
newlib/libc/sys/sysmec/getpid.c
newlib/libc/sys/sysmec/gettime.c
newlib/libc/sys/sysmec/isatty.c
newlib/libc/sys/sysmec/kill.c
newlib/libc/sys/sysmec/lseek.c
newlib/libc/sys/sysmec/open.c
newlib/libc/sys/sysmec/pipe.c
newlib/libc/sys/sysmec/read.c
newlib/libc/sys/sysmec/sbrk.c
newlib/libc/sys/sysmec/stat.c
newlib/libc/sys/sysmec/sys/syscall.h
newlib/libc/sys/sysmec/time.c
newlib/libc/sys/sysmec/times.c
newlib/libc/sys/sysmec/trap.S
newlib/libc/sys/sysmec/unlink.c
newlib/libc/sys/sysmec/utime.c
newlib/libc/sys/sysmec/wait.c
newlib/libc/sys/sysmec/write.c
newlib/libc/sys/sysnec810/Makefile.am
newlib/libc/sys/sysnec810/Makefile.in
newlib/libc/sys/sysnec810/aclocal.m4
newlib/libc/sys/sysnec810/configure
newlib/libc/sys/sysnec810/configure.in
newlib/libc/sys/sysnec810/crt0.S
newlib/libc/sys/sysnec810/io.S
newlib/libc/sys/sysnec810/misc.c
newlib/libc/sys/sysnec810/sbrk.c
newlib/libc/sys/sysnec810/write.c
newlib/libc/sys/sysnecv850/Makefile.am
newlib/libc/sys/sysnecv850/Makefile.in
newlib/libc/sys/sysnecv850/_exit.c
newlib/libc/sys/sysnecv850/access.c
newlib/libc/sys/sysnecv850/aclocal.m4
newlib/libc/sys/sysnecv850/chmod.c
newlib/libc/sys/sysnecv850/chown.c
newlib/libc/sys/sysnecv850/close.c
newlib/libc/sys/sysnecv850/configure
newlib/libc/sys/sysnecv850/configure.in
newlib/libc/sys/sysnecv850/creat.c
newlib/libc/sys/sysnecv850/crt0.S
newlib/libc/sys/sysnecv850/crt1.c
newlib/libc/sys/sysnecv850/execv.c
newlib/libc/sys/sysnecv850/execve.c
newlib/libc/sys/sysnecv850/fork.c
newlib/libc/sys/sysnecv850/fstat.c
newlib/libc/sys/sysnecv850/getpid.c
newlib/libc/sys/sysnecv850/gettime.c
newlib/libc/sys/sysnecv850/isatty.c
newlib/libc/sys/sysnecv850/kill.c
newlib/libc/sys/sysnecv850/link.c
newlib/libc/sys/sysnecv850/lseek.c
newlib/libc/sys/sysnecv850/open.c
newlib/libc/sys/sysnecv850/pipe.c
newlib/libc/sys/sysnecv850/read.c
newlib/libc/sys/sysnecv850/sbrk.c
newlib/libc/sys/sysnecv850/stat.c
newlib/libc/sys/sysnecv850/sys/syscall.h
newlib/libc/sys/sysnecv850/time.c
newlib/libc/sys/sysnecv850/times.c
newlib/libc/sys/sysnecv850/trap.S
newlib/libc/sys/sysnecv850/unlink.c
newlib/libc/sys/sysnecv850/utime.c
newlib/libc/sys/sysnecv850/wait.c
newlib/libc/sys/sysnecv850/write.c
newlib/libc/sys/sysvi386/Makefile.am
newlib/libc/sys/sysvi386/Makefile.in
newlib/libc/sys/sysvi386/_exit.S
newlib/libc/sys/sysvi386/_longjmp.S
newlib/libc/sys/sysvi386/_setjmp.S
newlib/libc/sys/sysvi386/access.S
newlib/libc/sys/sysvi386/aclocal.m4
newlib/libc/sys/sysvi386/alarm.S
newlib/libc/sys/sysvi386/brk.S
newlib/libc/sys/sysvi386/cerror.S
newlib/libc/sys/sysvi386/chdir.S
newlib/libc/sys/sysvi386/chmod.S
newlib/libc/sys/sysvi386/close.S
newlib/libc/sys/sysvi386/closedir.c
newlib/libc/sys/sysvi386/configure
newlib/libc/sys/sysvi386/configure.in
newlib/libc/sys/sysvi386/crt0.c
newlib/libc/sys/sysvi386/dup.c
newlib/libc/sys/sysvi386/dup2.c
newlib/libc/sys/sysvi386/exec.c
newlib/libc/sys/sysvi386/execve.S
newlib/libc/sys/sysvi386/fcntl.S
newlib/libc/sys/sysvi386/fork.S
newlib/libc/sys/sysvi386/fpathconf.S
newlib/libc/sys/sysvi386/fps.S
newlib/libc/sys/sysvi386/fpx.c
newlib/libc/sys/sysvi386/fstat.S
newlib/libc/sys/sysvi386/getdents.S
newlib/libc/sys/sysvi386/getegid.S
newlib/libc/sys/sysvi386/geteuid.S
newlib/libc/sys/sysvi386/getgid.S
newlib/libc/sys/sysvi386/getgroups.S
newlib/libc/sys/sysvi386/getpid.S
newlib/libc/sys/sysvi386/getuid.S
newlib/libc/sys/sysvi386/ioctl.S
newlib/libc/sys/sysvi386/isatty.c
newlib/libc/sys/sysvi386/kill.S
newlib/libc/sys/sysvi386/link.S
newlib/libc/sys/sysvi386/lseek.S
newlib/libc/sys/sysvi386/mkdir.S
newlib/libc/sys/sysvi386/open.S
newlib/libc/sys/sysvi386/opendir.c
newlib/libc/sys/sysvi386/pathconf.S
newlib/libc/sys/sysvi386/pause.S
newlib/libc/sys/sysvi386/pipe.S
newlib/libc/sys/sysvi386/read.S
newlib/libc/sys/sysvi386/readdir.c
newlib/libc/sys/sysvi386/rename.S
newlib/libc/sys/sysvi386/rewinddir.c
newlib/libc/sys/sysvi386/rmdir.S
newlib/libc/sys/sysvi386/sbrk.c
newlib/libc/sys/sysvi386/scandir.c
newlib/libc/sys/sysvi386/seekdir.c
newlib/libc/sys/sysvi386/setgid.S
newlib/libc/sys/sysvi386/setuid.S
newlib/libc/sys/sysvi386/sigaction.S
newlib/libc/sys/sysvi386/signal.S
newlib/libc/sys/sysvi386/sigprocmask.S
newlib/libc/sys/sysvi386/sleep.c
newlib/libc/sys/sysvi386/speed.c
newlib/libc/sys/sysvi386/stat.S
newlib/libc/sys/sysvi386/sys/dirent.h
newlib/libc/sys/sysvi386/sys/setjmp.h
newlib/libc/sys/sysvi386/sys/termio.h
newlib/libc/sys/sysvi386/sys/termios.h
newlib/libc/sys/sysvi386/sys/utime.h
newlib/libc/sys/sysvi386/sys/utmp.h
newlib/libc/sys/sysvi386/sys/wait.h
newlib/libc/sys/sysvi386/sysconf.S
newlib/libc/sys/sysvi386/tcgetattr.c
newlib/libc/sys/sysvi386/tcline.c
newlib/libc/sys/sysvi386/tcsetattr.c
newlib/libc/sys/sysvi386/telldir.c
newlib/libc/sys/sysvi386/time.S
newlib/libc/sys/sysvi386/times.S
newlib/libc/sys/sysvi386/unlink.S
newlib/libc/sys/sysvi386/utime.S
newlib/libc/sys/sysvi386/wait.S
newlib/libc/sys/sysvi386/waitpid.S
newlib/libc/sys/sysvi386/write.S
newlib/libc/sys/sysvnecv70/Makefile.am
newlib/libc/sys/sysvnecv70/Makefile.in
newlib/libc/sys/sysvnecv70/aclocal.m4
newlib/libc/sys/sysvnecv70/cerror.S
newlib/libc/sys/sysvnecv70/close.S
newlib/libc/sys/sysvnecv70/configure
newlib/libc/sys/sysvnecv70/configure.in
newlib/libc/sys/sysvnecv70/crt0.S
newlib/libc/sys/sysvnecv70/exit.S
newlib/libc/sys/sysvnecv70/fps.S
newlib/libc/sys/sysvnecv70/fpx.c
newlib/libc/sys/sysvnecv70/fstat.S
newlib/libc/sys/sysvnecv70/ioctl.S
newlib/libc/sys/sysvnecv70/isatty.S
newlib/libc/sys/sysvnecv70/lseek.S
newlib/libc/sys/sysvnecv70/open.S
newlib/libc/sys/sysvnecv70/read.S
newlib/libc/sys/sysvnecv70/sbrk.S
newlib/libc/sys/sysvnecv70/sysv60.S
newlib/libc/sys/sysvnecv70/sysvnecv70.tex
newlib/libc/sys/sysvnecv70/write.S
newlib/libc/sys/tic80/Makefile.am
newlib/libc/sys/tic80/Makefile.in
newlib/libc/sys/tic80/aclocal.m4
newlib/libc/sys/tic80/configure
newlib/libc/sys/tic80/configure.in
newlib/libc/sys/tic80/crt0.c
newlib/libc/sys/w65/Makefile.am
newlib/libc/sys/w65/Makefile.in
newlib/libc/sys/w65/aclocal.m4
newlib/libc/sys/w65/configure
newlib/libc/sys/w65/configure.in
newlib/libc/sys/w65/crt0.c
newlib/libc/sys/w65/sys/syscall.h
newlib/libc/sys/w65/syscalls.c
newlib/libc/sys/w65/trap.c
newlib/libc/sys/z8ksim/Makefile.am
newlib/libc/sys/z8ksim/Makefile.in
newlib/libc/sys/z8ksim/aclocal.m4
newlib/libc/sys/z8ksim/configure
newlib/libc/sys/z8ksim/configure.in
newlib/libc/sys/z8ksim/crt0.c
newlib/libc/sys/z8ksim/glue.c
newlib/libc/sys/z8ksim/sys/syscall.h
newlib/libc/syscalls/Makefile.am
newlib/libc/syscalls/Makefile.in
newlib/libc/syscalls/sysclose.c
newlib/libc/syscalls/sysexecve.c
newlib/libc/syscalls/sysfcntl.c
newlib/libc/syscalls/sysfork.c
newlib/libc/syscalls/sysfstat.c
newlib/libc/syscalls/sysgetpid.c
newlib/libc/syscalls/sysgettod.c
newlib/libc/syscalls/sysisatty.c
newlib/libc/syscalls/syskill.c
newlib/libc/syscalls/syslink.c
newlib/libc/syscalls/syslseek.c
newlib/libc/syscalls/sysopen.c
newlib/libc/syscalls/sysread.c
newlib/libc/syscalls/syssbrk.c
newlib/libc/syscalls/sysstat.c
newlib/libc/syscalls/systimes.c
newlib/libc/syscalls/sysunlink.c
newlib/libc/syscalls/syswait.c
newlib/libc/syscalls/syswrite.c
newlib/libc/time/Makefile.am
newlib/libc/time/Makefile.in
newlib/libc/time/asctime.c
newlib/libc/time/asctime_r.c
newlib/libc/time/clock.c
newlib/libc/time/ctime.c
newlib/libc/time/ctime_r.c
newlib/libc/time/difftime.c
newlib/libc/time/gettzinfo.c
newlib/libc/time/gmtime.c
newlib/libc/time/gmtime_r.c
newlib/libc/time/lcltime.c
newlib/libc/time/lcltime_r.c
newlib/libc/time/local.h
newlib/libc/time/mktime.c
newlib/libc/time/mktm_r.c
newlib/libc/time/strftime.c
newlib/libc/time/strptime.c
newlib/libc/time/time.c
newlib/libc/time/time.tex
newlib/libc/time/tzlock.c
newlib/libc/time/tzset.c
newlib/libc/time/tzset_r.c
newlib/libc/time/tzvars.c
newlib/libc/time/wcsftime.c
newlib/libc/unix/Makefile.am
newlib/libc/unix/Makefile.in
newlib/libc/unix/basename.c
newlib/libc/unix/dirname.c
newlib/libc/unix/getcwd.c
newlib/libc/unix/getlogin.c
newlib/libc/unix/getpass.c
newlib/libc/unix/getpwent.c
newlib/libc/unix/getut.c
newlib/libc/unix/pread.c
newlib/libc/unix/pwrite.c
newlib/libc/unix/sigset.c
newlib/libc/unix/ttyname.c
newlib/libc/unix/ttyname.h
newlib/libc/unix/ttyname_r.c
newlib/libm/Makefile.am
newlib/libm/Makefile.in
newlib/libm/aclocal.m4
newlib/libm/common/Makefile.am
newlib/libm/common/Makefile.in
newlib/libm/common/acoshl.c
newlib/libm/common/acosl.c
newlib/libm/common/asinhl.c
newlib/libm/common/asinl.c
newlib/libm/common/atan2l.c
newlib/libm/common/atanhl.c
newlib/libm/common/atanl.c
newlib/libm/common/cbrtl.c
newlib/libm/common/ceill.c
newlib/libm/common/copysignl.c
newlib/libm/common/coshl.c
newlib/libm/common/cosl.c
newlib/libm/common/erfcl.c
newlib/libm/common/erfl.c
newlib/libm/common/exp2l.c
newlib/libm/common/expl.c
newlib/libm/common/expm1l.c
newlib/libm/common/fabsl.c
newlib/libm/common/fdiml.c
newlib/libm/common/fdlibm.h
newlib/libm/common/floorl.c
newlib/libm/common/fmal.c
newlib/libm/common/fmaxl.c
newlib/libm/common/fminl.c
newlib/libm/common/fmodl.c
newlib/libm/common/frexpl.c
newlib/libm/common/hypotl.c
newlib/libm/common/ilogbl.c
newlib/libm/common/isgreater.c
newlib/libm/common/ldexpl.c
newlib/libm/common/lgammal.c
newlib/libm/common/llrintl.c
newlib/libm/common/llroundl.c
newlib/libm/common/local.h
newlib/libm/common/log10l.c
newlib/libm/common/log1pl.c
newlib/libm/common/logl.c
newlib/libm/common/lrintl.c
newlib/libm/common/lroundl.c
newlib/libm/common/modfl.c
newlib/libm/common/nanl.c
newlib/libm/common/nearbyintl.c
newlib/libm/common/nextafterl.c
newlib/libm/common/powl.c
newlib/libm/common/remainderl.c
newlib/libm/common/remquol.c
newlib/libm/common/rintl.c
newlib/libm/common/roundl.c
newlib/libm/common/s_cbrt.c
newlib/libm/common/s_copysign.c
newlib/libm/common/s_exp10.c
newlib/libm/common/s_expm1.c
newlib/libm/common/s_fdim.c
newlib/libm/common/s_finite.c
newlib/libm/common/s_fma.c
newlib/libm/common/s_fmax.c
newlib/libm/common/s_fmin.c
newlib/libm/common/s_fpclassify.c
newlib/libm/common/s_ilogb.c
newlib/libm/common/s_infconst.c
newlib/libm/common/s_infinity.c
newlib/libm/common/s_isinf.c
newlib/libm/common/s_isinfd.c
newlib/libm/common/s_isnan.c
newlib/libm/common/s_isnand.c
newlib/libm/common/s_lib_ver.c
newlib/libm/common/s_llrint.c
newlib/libm/common/s_llround.c
newlib/libm/common/s_log1p.c
newlib/libm/common/s_log2.c
newlib/libm/common/s_logb.c
newlib/libm/common/s_lrint.c
newlib/libm/common/s_lround.c
newlib/libm/common/s_matherr.c
newlib/libm/common/s_modf.c
newlib/libm/common/s_nan.c
newlib/libm/common/s_nearbyint.c
newlib/libm/common/s_nextafter.c
newlib/libm/common/s_pow10.c
newlib/libm/common/s_remquo.c
newlib/libm/common/s_rint.c
newlib/libm/common/s_round.c
newlib/libm/common/s_scalbln.c
newlib/libm/common/s_scalbn.c
newlib/libm/common/s_signbit.c
newlib/libm/common/s_trunc.c
newlib/libm/common/scalblnl.c
newlib/libm/common/scalbnl.c
newlib/libm/common/sf_cbrt.c
newlib/libm/common/sf_copysign.c
newlib/libm/common/sf_exp10.c
newlib/libm/common/sf_expm1.c
newlib/libm/common/sf_fdim.c
newlib/libm/common/sf_finite.c
newlib/libm/common/sf_fma.c
newlib/libm/common/sf_fmax.c
newlib/libm/common/sf_fmin.c
newlib/libm/common/sf_fpclassify.c
newlib/libm/common/sf_ilogb.c
newlib/libm/common/sf_infinity.c
newlib/libm/common/sf_isinf.c
newlib/libm/common/sf_isinff.c
newlib/libm/common/sf_isnan.c
newlib/libm/common/sf_isnanf.c
newlib/libm/common/sf_llrint.c
newlib/libm/common/sf_llround.c
newlib/libm/common/sf_log1p.c
newlib/libm/common/sf_log2.c
newlib/libm/common/sf_logb.c
newlib/libm/common/sf_lrint.c
newlib/libm/common/sf_lround.c
newlib/libm/common/sf_modf.c
newlib/libm/common/sf_nan.c
newlib/libm/common/sf_nearbyint.c
newlib/libm/common/sf_nextafter.c
newlib/libm/common/sf_pow10.c
newlib/libm/common/sf_remquo.c
newlib/libm/common/sf_rint.c
newlib/libm/common/sf_round.c
newlib/libm/common/sf_scalbln.c
newlib/libm/common/sf_scalbn.c
newlib/libm/common/sf_trunc.c
newlib/libm/common/sinhl.c
newlib/libm/common/sinl.c
newlib/libm/common/sqrtl.c
newlib/libm/common/tanhl.c
newlib/libm/common/tanl.c
newlib/libm/common/tgammal.c
newlib/libm/common/truncl.c
newlib/libm/config.h.in
newlib/libm/configure
newlib/libm/configure.in
newlib/libm/libm.texinfo
newlib/libm/machine/Makefile.am
newlib/libm/machine/Makefile.in
newlib/libm/machine/aclocal.m4
newlib/libm/machine/configure
newlib/libm/machine/configure.in
newlib/libm/machine/i386/Makefile.am
newlib/libm/machine/i386/Makefile.in
newlib/libm/machine/i386/aclocal.m4
newlib/libm/machine/i386/configure
newlib/libm/machine/i386/configure.in
newlib/libm/machine/i386/f_atan2.S
newlib/libm/machine/i386/f_atan2f.S
newlib/libm/machine/i386/f_exp.c
newlib/libm/machine/i386/f_expf.c
newlib/libm/machine/i386/f_frexp.S
newlib/libm/machine/i386/f_frexpf.S
newlib/libm/machine/i386/f_ldexp.S
newlib/libm/machine/i386/f_ldexpf.S
newlib/libm/machine/i386/f_llrint.c
newlib/libm/machine/i386/f_llrintf.c
newlib/libm/machine/i386/f_llrintl.c
newlib/libm/machine/i386/f_log.S
newlib/libm/machine/i386/f_log10.S
newlib/libm/machine/i386/f_log10f.S
newlib/libm/machine/i386/f_logf.S
newlib/libm/machine/i386/f_lrint.c
newlib/libm/machine/i386/f_lrintf.c
newlib/libm/machine/i386/f_lrintl.c
newlib/libm/machine/i386/f_math.h
newlib/libm/machine/i386/f_pow.c
newlib/libm/machine/i386/f_powf.c
newlib/libm/machine/i386/f_rint.c
newlib/libm/machine/i386/f_rintf.c
newlib/libm/machine/i386/f_rintl.c
newlib/libm/machine/i386/f_tan.S
newlib/libm/machine/i386/f_tanf.S
newlib/libm/machine/i386/i386mach.h
newlib/libm/machine/spu/Makefile.am
newlib/libm/machine/spu/Makefile.in
newlib/libm/machine/spu/aclocal.m4
newlib/libm/machine/spu/configure
newlib/libm/machine/spu/configure.in
newlib/libm/machine/spu/fe_dfl_env.c
newlib/libm/machine/spu/feclearexcept.c
newlib/libm/machine/spu/fegetenv.c
newlib/libm/machine/spu/fegetexceptflag.c
newlib/libm/machine/spu/fegetround.c
newlib/libm/machine/spu/feholdexcept.c
newlib/libm/machine/spu/feraiseexcept.c
newlib/libm/machine/spu/fesetenv.c
newlib/libm/machine/spu/fesetexceptflag.c
newlib/libm/machine/spu/fesetround.c
newlib/libm/machine/spu/fetestexcept.c
newlib/libm/machine/spu/feupdateenv.c
newlib/libm/machine/spu/headers/acos.h
newlib/libm/machine/spu/headers/acosd2.h
newlib/libm/machine/spu/headers/acosf.h
newlib/libm/machine/spu/headers/acosf4.h
newlib/libm/machine/spu/headers/acosh.h
newlib/libm/machine/spu/headers/acoshd2.h
newlib/libm/machine/spu/headers/acoshf.h
newlib/libm/machine/spu/headers/acoshf4.h
newlib/libm/machine/spu/headers/asin.h
newlib/libm/machine/spu/headers/asind2.h
newlib/libm/machine/spu/headers/asinf.h
newlib/libm/machine/spu/headers/asinf4.h
newlib/libm/machine/spu/headers/asinh.h
newlib/libm/machine/spu/headers/asinhd2.h
newlib/libm/machine/spu/headers/asinhf.h
newlib/libm/machine/spu/headers/asinhf4.h
newlib/libm/machine/spu/headers/atan.h
newlib/libm/machine/spu/headers/atan2.h
newlib/libm/machine/spu/headers/atan2d2.h
newlib/libm/machine/spu/headers/atan2f.h
newlib/libm/machine/spu/headers/atan2f4.h
newlib/libm/machine/spu/headers/atand2.h
newlib/libm/machine/spu/headers/atanf.h
newlib/libm/machine/spu/headers/atanf4.h
newlib/libm/machine/spu/headers/atanh.h
newlib/libm/machine/spu/headers/atanhd2.h
newlib/libm/machine/spu/headers/atanhf.h
newlib/libm/machine/spu/headers/atanhf4.h
newlib/libm/machine/spu/headers/cbrt.h
newlib/libm/machine/spu/headers/cbrtf.h
newlib/libm/machine/spu/headers/ceil.h
newlib/libm/machine/spu/headers/ceilf.h
newlib/libm/machine/spu/headers/copysign.h
newlib/libm/machine/spu/headers/copysignf.h
newlib/libm/machine/spu/headers/cos.h
newlib/libm/machine/spu/headers/cos_sin.h
newlib/libm/machine/spu/headers/cosd2.h
newlib/libm/machine/spu/headers/cosf.h
newlib/libm/machine/spu/headers/cosf4.h
newlib/libm/machine/spu/headers/cosh.h
newlib/libm/machine/spu/headers/coshd2.h
newlib/libm/machine/spu/headers/coshf.h
newlib/libm/machine/spu/headers/coshf4.h
newlib/libm/machine/spu/headers/divd2.h
newlib/libm/machine/spu/headers/divf4.h
newlib/libm/machine/spu/headers/dom_chkd_less_than.h
newlib/libm/machine/spu/headers/dom_chkd_negone_one.h
newlib/libm/machine/spu/headers/dom_chkf_less_than.h
newlib/libm/machine/spu/headers/dom_chkf_negone_one.h
newlib/libm/machine/spu/headers/erf.h
newlib/libm/machine/spu/headers/erf_utils.h
newlib/libm/machine/spu/headers/erfc.h
newlib/libm/machine/spu/headers/erfcd2.h
newlib/libm/machine/spu/headers/erfcf.h
newlib/libm/machine/spu/headers/erfcf4.h
newlib/libm/machine/spu/headers/erfd2.h
newlib/libm/machine/spu/headers/erff.h
newlib/libm/machine/spu/headers/erff4.h
newlib/libm/machine/spu/headers/exp.h
newlib/libm/machine/spu/headers/exp2.h
newlib/libm/machine/spu/headers/exp2d2.h
newlib/libm/machine/spu/headers/exp2f.h
newlib/libm/machine/spu/headers/exp2f4.h
newlib/libm/machine/spu/headers/expd2.h
newlib/libm/machine/spu/headers/expf.h
newlib/libm/machine/spu/headers/expf4.h
newlib/libm/machine/spu/headers/expm1.h
newlib/libm/machine/spu/headers/expm1d2.h
newlib/libm/machine/spu/headers/expm1f.h
newlib/libm/machine/spu/headers/expm1f4.h
newlib/libm/machine/spu/headers/fabs.h
newlib/libm/machine/spu/headers/fabsf.h
newlib/libm/machine/spu/headers/fdim.h
newlib/libm/machine/spu/headers/fdimf.h
newlib/libm/machine/spu/headers/feclearexcept.h
newlib/libm/machine/spu/headers/fefpscr.h
newlib/libm/machine/spu/headers/fegetenv.h
newlib/libm/machine/spu/headers/fegetexceptflag.h
newlib/libm/machine/spu/headers/fegetround.h
newlib/libm/machine/spu/headers/feholdexcept.h
newlib/libm/machine/spu/headers/feraiseexcept.h
newlib/libm/machine/spu/headers/fesetenv.h
newlib/libm/machine/spu/headers/fesetexceptflag.h
newlib/libm/machine/spu/headers/fesetround.h
newlib/libm/machine/spu/headers/fetestexcept.h
newlib/libm/machine/spu/headers/feupdateenv.h
newlib/libm/machine/spu/headers/floor.h
newlib/libm/machine/spu/headers/floord2.h
newlib/libm/machine/spu/headers/floorf.h
newlib/libm/machine/spu/headers/floorf4.h
newlib/libm/machine/spu/headers/fma.h
newlib/libm/machine/spu/headers/fmaf.h
newlib/libm/machine/spu/headers/fmax.h
newlib/libm/machine/spu/headers/fmaxf.h
newlib/libm/machine/spu/headers/fmin.h
newlib/libm/machine/spu/headers/fminf.h
newlib/libm/machine/spu/headers/fmod.h
newlib/libm/machine/spu/headers/fmodf.h
newlib/libm/machine/spu/headers/frexp.h
newlib/libm/machine/spu/headers/frexpf.h
newlib/libm/machine/spu/headers/hypot.h
newlib/libm/machine/spu/headers/hypotd2.h
newlib/libm/machine/spu/headers/hypotf.h
newlib/libm/machine/spu/headers/hypotf4.h
newlib/libm/machine/spu/headers/ilogb.h
newlib/libm/machine/spu/headers/ilogbf.h
newlib/libm/machine/spu/headers/isnan.h
newlib/libm/machine/spu/headers/isnand2.h
newlib/libm/machine/spu/headers/isnanf.h
newlib/libm/machine/spu/headers/isnanf4.h
newlib/libm/machine/spu/headers/ldexp.h
newlib/libm/machine/spu/headers/ldexpd2.h
newlib/libm/machine/spu/headers/ldexpf.h
newlib/libm/machine/spu/headers/ldexpf4.h
newlib/libm/machine/spu/headers/lgamma.h
newlib/libm/machine/spu/headers/lgammad2.h
newlib/libm/machine/spu/headers/lgammaf.h
newlib/libm/machine/spu/headers/lgammaf4.h
newlib/libm/machine/spu/headers/llrint.h
newlib/libm/machine/spu/headers/llrintf.h
newlib/libm/machine/spu/headers/llround.h
newlib/libm/machine/spu/headers/llroundf.h
newlib/libm/machine/spu/headers/log.h
newlib/libm/machine/spu/headers/log10.h
newlib/libm/machine/spu/headers/log10d2.h
newlib/libm/machine/spu/headers/log10f.h
newlib/libm/machine/spu/headers/log1p.h
newlib/libm/machine/spu/headers/log1pd2.h
newlib/libm/machine/spu/headers/log1pf.h
newlib/libm/machine/spu/headers/log1pf4.h
newlib/libm/machine/spu/headers/log2.h
newlib/libm/machine/spu/headers/log2d2.h
newlib/libm/machine/spu/headers/log2f.h
newlib/libm/machine/spu/headers/log2f4.h
newlib/libm/machine/spu/headers/logbf.h
newlib/libm/machine/spu/headers/logbf4.h
newlib/libm/machine/spu/headers/logd2.h
newlib/libm/machine/spu/headers/logf.h
newlib/libm/machine/spu/headers/logf4.h
newlib/libm/machine/spu/headers/lrint.h
newlib/libm/machine/spu/headers/lrintf.h
newlib/libm/machine/spu/headers/lround.h
newlib/libm/machine/spu/headers/lroundf.h
newlib/libm/machine/spu/headers/nearbyint.h
newlib/libm/machine/spu/headers/nearbyintf.h
newlib/libm/machine/spu/headers/nearbyintf4.h
newlib/libm/machine/spu/headers/nextafter.h
newlib/libm/machine/spu/headers/nextafterd2.h
newlib/libm/machine/spu/headers/nextafterf.h
newlib/libm/machine/spu/headers/nextafterf4.h
newlib/libm/machine/spu/headers/pow.h
newlib/libm/machine/spu/headers/powd2.h
newlib/libm/machine/spu/headers/powf.h
newlib/libm/machine/spu/headers/powf4.h
newlib/libm/machine/spu/headers/recipd2.h
newlib/libm/machine/spu/headers/recipf4.h
newlib/libm/machine/spu/headers/remainder.h
newlib/libm/machine/spu/headers/remainderf.h
newlib/libm/machine/spu/headers/remquo.h
newlib/libm/machine/spu/headers/remquof.h
newlib/libm/machine/spu/headers/rint.h
newlib/libm/machine/spu/headers/rintf.h
newlib/libm/machine/spu/headers/rintf4.h
newlib/libm/machine/spu/headers/round.h
newlib/libm/machine/spu/headers/roundf.h
newlib/libm/machine/spu/headers/scalbn.h
newlib/libm/machine/spu/headers/scalbnf.h
newlib/libm/machine/spu/headers/scalbnf4.h
newlib/libm/machine/spu/headers/signbit.h
newlib/libm/machine/spu/headers/signbitd2.h
newlib/libm/machine/spu/headers/simdmath.h
newlib/libm/machine/spu/headers/sin.h
newlib/libm/machine/spu/headers/sincos.h
newlib/libm/machine/spu/headers/sincosd2.h
newlib/libm/machine/spu/headers/sincosf.h
newlib/libm/machine/spu/headers/sincosf4.h
newlib/libm/machine/spu/headers/sind2.h
newlib/libm/machine/spu/headers/sinf.h
newlib/libm/machine/spu/headers/sinf4.h
newlib/libm/machine/spu/headers/sinh.h
newlib/libm/machine/spu/headers/sinhd2.h
newlib/libm/machine/spu/headers/sinhf.h
newlib/libm/machine/spu/headers/sinhf4.h
newlib/libm/machine/spu/headers/sqrt.h
newlib/libm/machine/spu/headers/sqrtd2.h
newlib/libm/machine/spu/headers/sqrtf.h
newlib/libm/machine/spu/headers/sqrtf4.h
newlib/libm/machine/spu/headers/tan.h
newlib/libm/machine/spu/headers/tand2.h
newlib/libm/machine/spu/headers/tanf.h
newlib/libm/machine/spu/headers/tanf4.h
newlib/libm/machine/spu/headers/tanh.h
newlib/libm/machine/spu/headers/tanhd2.h
newlib/libm/machine/spu/headers/tanhf.h
newlib/libm/machine/spu/headers/tanhf4.h
newlib/libm/machine/spu/headers/tgamma.h
newlib/libm/machine/spu/headers/tgammad2.h
newlib/libm/machine/spu/headers/tgammaf.h
newlib/libm/machine/spu/headers/tgammaf4.h
newlib/libm/machine/spu/headers/trunc.h
newlib/libm/machine/spu/headers/truncd2.h
newlib/libm/machine/spu/headers/truncf.h
newlib/libm/machine/spu/headers/truncf4.h
newlib/libm/machine/spu/headers/vec_literal.h
newlib/libm/machine/spu/llrint.c
newlib/libm/machine/spu/llrintf.c
newlib/libm/machine/spu/llround.c
newlib/libm/machine/spu/llroundf.c
newlib/libm/machine/spu/log2.c
newlib/libm/machine/spu/log2f.c
newlib/libm/machine/spu/s_asinh.c
newlib/libm/machine/spu/s_atan.c
newlib/libm/machine/spu/s_cbrt.c
newlib/libm/machine/spu/s_ceil.c
newlib/libm/machine/spu/s_copysign.c
newlib/libm/machine/spu/s_cos.c
newlib/libm/machine/spu/s_erf.c
newlib/libm/machine/spu/s_expm1.c
newlib/libm/machine/spu/s_fabs.c
newlib/libm/machine/spu/s_fdim.c
newlib/libm/machine/spu/s_floor.c
newlib/libm/machine/spu/s_fma.c
newlib/libm/machine/spu/s_fmax.c
newlib/libm/machine/spu/s_fmin.c
newlib/libm/machine/spu/s_frexp.c
newlib/libm/machine/spu/s_ilogb.c
newlib/libm/machine/spu/s_isnan.c
newlib/libm/machine/spu/s_ldexp.c
newlib/libm/machine/spu/s_log1p.c
newlib/libm/machine/spu/s_lrint.c
newlib/libm/machine/spu/s_lround.c
newlib/libm/machine/spu/s_nearbyint.c
newlib/libm/machine/spu/s_nextafter.c
newlib/libm/machine/spu/s_remquo.c
newlib/libm/machine/spu/s_rint.c
newlib/libm/machine/spu/s_round.c
newlib/libm/machine/spu/s_scalbn.c
newlib/libm/machine/spu/s_sin.c
newlib/libm/machine/spu/s_tan.c
newlib/libm/machine/spu/s_tanh.c
newlib/libm/machine/spu/s_trunc.c
newlib/libm/machine/spu/sf_asinh.c
newlib/libm/machine/spu/sf_atan.c
newlib/libm/machine/spu/sf_cbrt.c
newlib/libm/machine/spu/sf_ceil.c
newlib/libm/machine/spu/sf_copysign.c
newlib/libm/machine/spu/sf_cos.c
newlib/libm/machine/spu/sf_erf.c
newlib/libm/machine/spu/sf_expm1.c
newlib/libm/machine/spu/sf_fabs.c
newlib/libm/machine/spu/sf_fdim.c
newlib/libm/machine/spu/sf_finite.c
newlib/libm/machine/spu/sf_floor.c
newlib/libm/machine/spu/sf_fma.c
newlib/libm/machine/spu/sf_fmax.c
newlib/libm/machine/spu/sf_fmin.c
newlib/libm/machine/spu/sf_fpclassify.c
newlib/libm/machine/spu/sf_frexp.c
newlib/libm/machine/spu/sf_ilogb.c
newlib/libm/machine/spu/sf_isinf.c
newlib/libm/machine/spu/sf_isinff.c
newlib/libm/machine/spu/sf_isnan.c
newlib/libm/machine/spu/sf_isnanf.c
newlib/libm/machine/spu/sf_ldexp.c
newlib/libm/machine/spu/sf_log1p.c
newlib/libm/machine/spu/sf_logb.c
newlib/libm/machine/spu/sf_lrint.c
newlib/libm/machine/spu/sf_lround.c
newlib/libm/machine/spu/sf_nan.c
newlib/libm/machine/spu/sf_nearbyint.c
newlib/libm/machine/spu/sf_nextafter.c
newlib/libm/machine/spu/sf_remquo.c
newlib/libm/machine/spu/sf_rint.c
newlib/libm/machine/spu/sf_round.c
newlib/libm/machine/spu/sf_scalbn.c
newlib/libm/machine/spu/sf_sin.c
newlib/libm/machine/spu/sf_tan.c
newlib/libm/machine/spu/sf_tanh.c
newlib/libm/machine/spu/sf_trunc.c
newlib/libm/machine/spu/w_acos.c
newlib/libm/machine/spu/w_acosh.c
newlib/libm/machine/spu/w_asin.c
newlib/libm/machine/spu/w_atan2.c
newlib/libm/machine/spu/w_atanh.c
newlib/libm/machine/spu/w_cosh.c
newlib/libm/machine/spu/w_exp.c
newlib/libm/machine/spu/w_exp2.c
newlib/libm/machine/spu/w_fmod.c
newlib/libm/machine/spu/w_hypot.c
newlib/libm/machine/spu/w_lgamma.c
newlib/libm/machine/spu/w_log.c
newlib/libm/machine/spu/w_log10.c
newlib/libm/machine/spu/w_pow.c
newlib/libm/machine/spu/w_remainder.c
newlib/libm/machine/spu/w_sincos.c
newlib/libm/machine/spu/w_sinh.c
newlib/libm/machine/spu/w_sqrt.c
newlib/libm/machine/spu/w_tgamma.c
newlib/libm/machine/spu/wf_acos.c
newlib/libm/machine/spu/wf_acosh.c
newlib/libm/machine/spu/wf_asin.c
newlib/libm/machine/spu/wf_atan2.c
newlib/libm/machine/spu/wf_atanh.c
newlib/libm/machine/spu/wf_cosh.c
newlib/libm/machine/spu/wf_exp.c
newlib/libm/machine/spu/wf_exp2.c
newlib/libm/machine/spu/wf_fmod.c
newlib/libm/machine/spu/wf_hypot.c
newlib/libm/machine/spu/wf_lgamma.c
newlib/libm/machine/spu/wf_log.c
newlib/libm/machine/spu/wf_log10.c
newlib/libm/machine/spu/wf_pow.c
newlib/libm/machine/spu/wf_remainder.c
newlib/libm/machine/spu/wf_sincos.c
newlib/libm/machine/spu/wf_sinh.c
newlib/libm/machine/spu/wf_sqrt.c
newlib/libm/machine/spu/wf_tgamma.c
newlib/libm/math/Makefile.am
newlib/libm/math/Makefile.in
newlib/libm/math/e_acos.c
newlib/libm/math/e_acosh.c
newlib/libm/math/e_asin.c
newlib/libm/math/e_atan2.c
newlib/libm/math/e_atanh.c
newlib/libm/math/e_cosh.c
newlib/libm/math/e_exp.c
newlib/libm/math/e_fmod.c
newlib/libm/math/e_hypot.c
newlib/libm/math/e_j0.c
newlib/libm/math/e_j1.c
newlib/libm/math/e_jn.c
newlib/libm/math/e_log.c
newlib/libm/math/e_log10.c
newlib/libm/math/e_pow.c
newlib/libm/math/e_rem_pio2.c
newlib/libm/math/e_remainder.c
newlib/libm/math/e_scalb.c
newlib/libm/math/e_sinh.c
newlib/libm/math/e_sqrt.c
newlib/libm/math/ef_acos.c
newlib/libm/math/ef_acosh.c
newlib/libm/math/ef_asin.c
newlib/libm/math/ef_atan2.c
newlib/libm/math/ef_atanh.c
newlib/libm/math/ef_cosh.c
newlib/libm/math/ef_exp.c
newlib/libm/math/ef_fmod.c
newlib/libm/math/ef_hypot.c
newlib/libm/math/ef_j0.c
newlib/libm/math/ef_j1.c
newlib/libm/math/ef_jn.c
newlib/libm/math/ef_log.c
newlib/libm/math/ef_log10.c
newlib/libm/math/ef_pow.c
newlib/libm/math/ef_rem_pio2.c
newlib/libm/math/ef_remainder.c
newlib/libm/math/ef_scalb.c
newlib/libm/math/ef_sinh.c
newlib/libm/math/ef_sqrt.c
newlib/libm/math/er_gamma.c
newlib/libm/math/er_lgamma.c
newlib/libm/math/erf_gamma.c
newlib/libm/math/erf_lgamma.c
newlib/libm/math/k_cos.c
newlib/libm/math/k_rem_pio2.c
newlib/libm/math/k_sin.c
newlib/libm/math/k_standard.c
newlib/libm/math/k_tan.c
newlib/libm/math/kf_cos.c
newlib/libm/math/kf_rem_pio2.c
newlib/libm/math/kf_sin.c
newlib/libm/math/kf_tan.c
newlib/libm/math/math.tex
newlib/libm/math/s_asinh.c
newlib/libm/math/s_atan.c
newlib/libm/math/s_ceil.c
newlib/libm/math/s_cos.c
newlib/libm/math/s_erf.c
newlib/libm/math/s_fabs.c
newlib/libm/math/s_floor.c
newlib/libm/math/s_frexp.c
newlib/libm/math/s_ldexp.c
newlib/libm/math/s_signif.c
newlib/libm/math/s_sin.c
newlib/libm/math/s_tan.c
newlib/libm/math/s_tanh.c
newlib/libm/math/sf_asinh.c
newlib/libm/math/sf_atan.c
newlib/libm/math/sf_ceil.c
newlib/libm/math/sf_cos.c
newlib/libm/math/sf_erf.c
newlib/libm/math/sf_fabs.c
newlib/libm/math/sf_floor.c
newlib/libm/math/sf_frexp.c
newlib/libm/math/sf_ldexp.c
newlib/libm/math/sf_signif.c
newlib/libm/math/sf_sin.c
newlib/libm/math/sf_tan.c
newlib/libm/math/sf_tanh.c
newlib/libm/math/w_acos.c
newlib/libm/math/w_acosh.c
newlib/libm/math/w_asin.c
newlib/libm/math/w_atan2.c
newlib/libm/math/w_atanh.c
newlib/libm/math/w_cabs.c
newlib/libm/math/w_cosh.c
newlib/libm/math/w_drem.c
newlib/libm/math/w_exp.c
newlib/libm/math/w_exp2.c
newlib/libm/math/w_fmod.c
newlib/libm/math/w_gamma.c
newlib/libm/math/w_hypot.c
newlib/libm/math/w_j0.c
newlib/libm/math/w_j1.c
newlib/libm/math/w_jn.c
newlib/libm/math/w_lgamma.c
newlib/libm/math/w_log.c
newlib/libm/math/w_log10.c
newlib/libm/math/w_pow.c
newlib/libm/math/w_remainder.c
newlib/libm/math/w_scalb.c
newlib/libm/math/w_sincos.c
newlib/libm/math/w_sinh.c
newlib/libm/math/w_sqrt.c
newlib/libm/math/w_tgamma.c
newlib/libm/math/wf_acos.c
newlib/libm/math/wf_acosh.c
newlib/libm/math/wf_asin.c
newlib/libm/math/wf_atan2.c
newlib/libm/math/wf_atanh.c
newlib/libm/math/wf_cabs.c
newlib/libm/math/wf_cosh.c
newlib/libm/math/wf_drem.c
newlib/libm/math/wf_exp.c
newlib/libm/math/wf_exp2.c
newlib/libm/math/wf_fmod.c
newlib/libm/math/wf_gamma.c
newlib/libm/math/wf_hypot.c
newlib/libm/math/wf_j0.c
newlib/libm/math/wf_j1.c
newlib/libm/math/wf_jn.c
newlib/libm/math/wf_lgamma.c
newlib/libm/math/wf_log.c
newlib/libm/math/wf_log10.c
newlib/libm/math/wf_pow.c
newlib/libm/math/wf_remainder.c
newlib/libm/math/wf_scalb.c
newlib/libm/math/wf_sincos.c
newlib/libm/math/wf_sinh.c
newlib/libm/math/wf_sqrt.c
newlib/libm/math/wf_tgamma.c
newlib/libm/math/wr_gamma.c
newlib/libm/math/wr_lgamma.c
newlib/libm/math/wrf_gamma.c
newlib/libm/math/wrf_lgamma.c
newlib/libm/mathfp/Makefile.am
newlib/libm/mathfp/Makefile.in
newlib/libm/mathfp/e_acosh.c
newlib/libm/mathfp/e_atanh.c
newlib/libm/mathfp/e_hypot.c
newlib/libm/mathfp/e_j0.c
newlib/libm/mathfp/e_j1.c
newlib/libm/mathfp/e_remainder.c
newlib/libm/mathfp/e_scalb.c
newlib/libm/mathfp/ef_acosh.c
newlib/libm/mathfp/ef_atanh.c
newlib/libm/mathfp/ef_hypot.c
newlib/libm/mathfp/ef_j0.c
newlib/libm/mathfp/ef_j1.c
newlib/libm/mathfp/ef_remainder.c
newlib/libm/mathfp/ef_scalb.c
newlib/libm/mathfp/er_gamma.c
newlib/libm/mathfp/er_lgamma.c
newlib/libm/mathfp/erf_gamma.c
newlib/libm/mathfp/erf_lgamma.c
newlib/libm/mathfp/mathfp.tex
newlib/libm/mathfp/s_acos.c
newlib/libm/mathfp/s_asin.c
newlib/libm/mathfp/s_asine.c
newlib/libm/mathfp/s_asinh.c
newlib/libm/mathfp/s_atan.c
newlib/libm/mathfp/s_atan2.c
newlib/libm/mathfp/s_atangent.c
newlib/libm/mathfp/s_ceil.c
newlib/libm/mathfp/s_cos.c
newlib/libm/mathfp/s_cosh.c
newlib/libm/mathfp/s_erf.c
newlib/libm/mathfp/s_exp.c
newlib/libm/mathfp/s_exp2.c
newlib/libm/mathfp/s_fabs.c
newlib/libm/mathfp/s_floor.c
newlib/libm/mathfp/s_fmod.c
newlib/libm/mathfp/s_frexp.c
newlib/libm/mathfp/s_ispos.c
newlib/libm/mathfp/s_ldexp.c
newlib/libm/mathfp/s_log.c
newlib/libm/mathfp/s_log10.c
newlib/libm/mathfp/s_logarithm.c
newlib/libm/mathfp/s_mathcnst.c
newlib/libm/mathfp/s_numtest.c
newlib/libm/mathfp/s_pow.c
newlib/libm/mathfp/s_signif.c
newlib/libm/mathfp/s_sin.c
newlib/libm/mathfp/s_sincos.c
newlib/libm/mathfp/s_sine.c
newlib/libm/mathfp/s_sineh.c
newlib/libm/mathfp/s_sinf.c
newlib/libm/mathfp/s_sinh.c
newlib/libm/mathfp/s_sqrt.c
newlib/libm/mathfp/s_tan.c
newlib/libm/mathfp/s_tanh.c
newlib/libm/mathfp/s_tgamma.c
newlib/libm/mathfp/sf_acos.c
newlib/libm/mathfp/sf_asin.c
newlib/libm/mathfp/sf_asine.c
newlib/libm/mathfp/sf_asinh.c
newlib/libm/mathfp/sf_atan.c
newlib/libm/mathfp/sf_atan2.c
newlib/libm/mathfp/sf_atangent.c
newlib/libm/mathfp/sf_ceil.c
newlib/libm/mathfp/sf_cos.c
newlib/libm/mathfp/sf_cosh.c
newlib/libm/mathfp/sf_erf.c
newlib/libm/mathfp/sf_exp.c
newlib/libm/mathfp/sf_exp2.c
newlib/libm/mathfp/sf_fabs.c
newlib/libm/mathfp/sf_floor.c
newlib/libm/mathfp/sf_fmod.c
newlib/libm/mathfp/sf_frexp.c
newlib/libm/mathfp/sf_ispos.c
newlib/libm/mathfp/sf_ldexp.c
newlib/libm/mathfp/sf_log.c
newlib/libm/mathfp/sf_log10.c
newlib/libm/mathfp/sf_logarithm.c
newlib/libm/mathfp/sf_numtest.c
newlib/libm/mathfp/sf_pow.c
newlib/libm/mathfp/sf_signif.c
newlib/libm/mathfp/sf_sin.c
newlib/libm/mathfp/sf_sincos.c
newlib/libm/mathfp/sf_sine.c
newlib/libm/mathfp/sf_sineh.c
newlib/libm/mathfp/sf_sinh.c
newlib/libm/mathfp/sf_sqrt.c
newlib/libm/mathfp/sf_tan.c
newlib/libm/mathfp/sf_tanh.c
newlib/libm/mathfp/sf_tgamma.c
newlib/libm/mathfp/w_cabs.c
newlib/libm/mathfp/w_drem.c
newlib/libm/mathfp/w_jn.c
newlib/libm/mathfp/wf_cabs.c
newlib/libm/mathfp/wf_drem.c
newlib/libm/mathfp/wf_jn.c
newlib/libm/mathfp/zmath.h
newlib/libm/test/Makefile.in
newlib/libm/test/acos_vec.c
newlib/libm/test/acosf_vec.c
newlib/libm/test/acosh_vec.c
newlib/libm/test/acoshf_vec.c
newlib/libm/test/asin_vec.c
newlib/libm/test/asinf_vec.c
newlib/libm/test/asinh_vec.c
newlib/libm/test/asinhf_vec.c
newlib/libm/test/atan2_vec.c
newlib/libm/test/atan2f_vec.c
newlib/libm/test/atan_vec.c
newlib/libm/test/atanf_vec.c
newlib/libm/test/atanh_vec.c
newlib/libm/test/atanhf_vec.c
newlib/libm/test/ceil_vec.c
newlib/libm/test/ceilf_vec.c
newlib/libm/test/conv_vec.c
newlib/libm/test/convert.c
newlib/libm/test/cos_vec.c
newlib/libm/test/cosf_vec.c
newlib/libm/test/cosh_vec.c
newlib/libm/test/coshf_vec.c
newlib/libm/test/dcvt.c
newlib/libm/test/dvec.c
newlib/libm/test/erf_vec.c
newlib/libm/test/erfc_vec.c
newlib/libm/test/erfcf_vec.c
newlib/libm/test/erff_vec.c
newlib/libm/test/exp_vec.c
newlib/libm/test/expf_vec.c
newlib/libm/test/fabs_vec.c
newlib/libm/test/fabsf_vec.c
newlib/libm/test/floor_vec.c
newlib/libm/test/floorf_vec.c
newlib/libm/test/fmod_vec.c
newlib/libm/test/fmodf_vec.c
newlib/libm/test/gamma_vec.c
newlib/libm/test/gammaf_vec.c
newlib/libm/test/hypot_vec.c
newlib/libm/test/hypotf_vec.c
newlib/libm/test/iconv_vec.c
newlib/libm/test/j0_vec.c
newlib/libm/test/j0f_vec.c
newlib/libm/test/j1_vec.c
newlib/libm/test/j1f_vec.c
newlib/libm/test/jn_vec.c
newlib/libm/test/jnf_vec.c
newlib/libm/test/log10_vec.c
newlib/libm/test/log10f_vec.c
newlib/libm/test/log1p_vec.c
newlib/libm/test/log1pf_vec.c
newlib/libm/test/log2_vec.c
newlib/libm/test/log2f_vec.c
newlib/libm/test/log_vec.c
newlib/libm/test/logf_vec.c
newlib/libm/test/math.c
newlib/libm/test/math2.c
newlib/libm/test/sin_vec.c
newlib/libm/test/sinf_vec.c
newlib/libm/test/sinh_vec.c
newlib/libm/test/sinhf_vec.c
newlib/libm/test/sprint_ivec.c
newlib/libm/test/sprint_vec.c
newlib/libm/test/sqrt_vec.c
newlib/libm/test/sqrtf_vec.c
newlib/libm/test/string.c
newlib/libm/test/tan_vec.c
newlib/libm/test/tanf_vec.c
newlib/libm/test/tanh_vec.c
newlib/libm/test/tanhf_vec.c
newlib/libm/test/test.c
newlib/libm/test/test.h
newlib/libm/test/test_ieee.c
newlib/libm/test/test_is.c
newlib/libm/test/y0_vec.c
newlib/libm/test/y0f_vec.c
newlib/libm/test/y1_vec.c
newlib/libm/test/y1f_vec.c
newlib/libm/test/yn_vec.c
newlib/libm/test/ynf_vec.c
newlib/newlib.hin
newlib/stamp-h.in
newlib/testsuite/config/default.exp
newlib/testsuite/include/check.h
newlib/testsuite/lib/checkoutput.exp
newlib/testsuite/lib/flags.exp
newlib/testsuite/lib/newlib.exp
newlib/testsuite/lib/passfail.exp
newlib/testsuite/newlib.elix/elix.exp
newlib/testsuite/newlib.elix/tmmap.c
newlib/testsuite/newlib.iconv/iconv.exp
newlib/testsuite/newlib.iconv/iconvjp.c
newlib/testsuite/newlib.iconv/iconvnm.c
newlib/testsuite/newlib.iconv/iconvru.c
newlib/testsuite/newlib.locale/UTF-8.c
newlib/testsuite/newlib.locale/UTF-8.exp
newlib/testsuite/newlib.locale/locale.exp
newlib/testsuite/newlib.search/hsearchtest.c
newlib/testsuite/newlib.search/hsearchtest.exp
newlib/testsuite/newlib.stdlib/atexit.c
newlib/testsuite/newlib.stdlib/atexit.exp
newlib/testsuite/newlib.stdlib/size_max.c
newlib/testsuite/newlib.stdlib/stdlib.exp
newlib/testsuite/newlib.string/memmove1.c
newlib/testsuite/newlib.string/string.exp
newlib/testsuite/newlib.string/tstring.c
newlib/testsuite/newlib.wctype/tiswctype.c
newlib/testsuite/newlib.wctype/twctrans.c
newlib/testsuite/newlib.wctype/twctype.c
newlib/testsuite/newlib.wctype/wctype.exp
winsup/COPYING
winsup/CYGWIN_LICENSE
winsup/ChangeLog
winsup/Makefile.common
winsup/Makefile.in
winsup/README
winsup/acinclude.m4
winsup/aclocal.m4
winsup/configure
winsup/configure.in
winsup/cygserver/ChangeLog
winsup/cygserver/Makefile.in
winsup/cygserver/README
winsup/cygserver/aclocal.m4
winsup/cygserver/bsd_helper.cc
winsup/cygserver/bsd_helper.h
winsup/cygserver/bsd_log.cc
winsup/cygserver/bsd_log.h
winsup/cygserver/bsd_mutex.cc
winsup/cygserver/bsd_mutex.h
winsup/cygserver/client.cc
winsup/cygserver/configure
winsup/cygserver/configure.in
winsup/cygserver/cygserver-config
winsup/cygserver/cygserver.cc
winsup/cygserver/cygserver.conf
winsup/cygserver/msg.cc
winsup/cygserver/process.cc
winsup/cygserver/process.h
winsup/cygserver/sem.cc
winsup/cygserver/setpwd.cc
winsup/cygserver/shm.cc
winsup/cygserver/sysv_msg.cc
winsup/cygserver/sysv_sem.cc
winsup/cygserver/sysv_shm.cc
winsup/cygserver/threaded_queue.cc
winsup/cygserver/threaded_queue.h
winsup/cygserver/transport.cc
winsup/cygserver/transport.h
winsup/cygserver/transport_pipes.cc
winsup/cygserver/transport_pipes.h
winsup/cygserver/woutsup.h
winsup/cygwin/ChangeLog
winsup/cygwin/ChangeLog-1995
winsup/cygwin/ChangeLog-1996
winsup/cygwin/ChangeLog-1997
winsup/cygwin/ChangeLog-1998
winsup/cygwin/ChangeLog-1999
winsup/cygwin/ChangeLog-2000
winsup/cygwin/ChangeLog-2001
winsup/cygwin/ChangeLog-2002
winsup/cygwin/ChangeLog-2003
winsup/cygwin/ChangeLog-2004
winsup/cygwin/ChangeLog-2005
winsup/cygwin/ChangeLog-2006
winsup/cygwin/ChangeLog-2007
winsup/cygwin/ChangeLog-2008
winsup/cygwin/Makefile.in
winsup/cygwin/ROADMAP
winsup/cygwin/acconfig.h
winsup/cygwin/aclocal.m4
winsup/cygwin/analyze_sigfe
winsup/cygwin/assert.cc
winsup/cygwin/autoload.cc
winsup/cygwin/automode.c
winsup/cygwin/binmode.c
winsup/cygwin/child_info.h
winsup/cygwin/config.h.in
winsup/cygwin/config/i386/profile.h
winsup/cygwin/configure
winsup/cygwin/configure.in
winsup/cygwin/cpuid.h
winsup/cygwin/crt0.c
winsup/cygwin/ctype.cc
winsup/cygwin/cxx.cc
winsup/cygwin/cygerrno.h
winsup/cygwin/cygheap.cc
winsup/cygwin/cygheap.h
winsup/cygwin/cygheap_malloc.h
winsup/cygwin/cyglsa.h
winsup/cygwin/cygmagic
winsup/cygwin/cygmalloc.h
winsup/cygwin/cygserver.h
winsup/cygwin/cygserver_ipc.h
winsup/cygwin/cygserver_msg.h
winsup/cygwin/cygserver_sem.h
winsup/cygwin/cygserver_setpwd.h
winsup/cygwin/cygserver_shm.h
winsup/cygwin/cygthread.cc
winsup/cygwin/cygthread.h
winsup/cygwin/cygtls.cc
winsup/cygwin/cygtls.h
winsup/cygwin/cygwin-cxx.h
winsup/cygwin/cygwin-shilka
winsup/cygwin/cygwin.din
winsup/cygwin/cygwin.sc
winsup/cygwin/cygwin_version.h
winsup/cygwin/dcrt0.cc
winsup/cygwin/debug.cc
winsup/cygwin/debug.h
winsup/cygwin/devices.cc
winsup/cygwin/devices.h
winsup/cygwin/devices.in
winsup/cygwin/dir.cc
winsup/cygwin/dlfcn.cc
winsup/cygwin/dll_init.cc
winsup/cygwin/dll_init.h
winsup/cygwin/dll_init.sgml
winsup/cygwin/dllfixdbg
winsup/cygwin/dlmalloc.c
winsup/cygwin/dlmalloc.h
winsup/cygwin/dtable.cc
winsup/cygwin/dtable.h
winsup/cygwin/dtable.sgml
winsup/cygwin/environ.cc
winsup/cygwin/environ.h
winsup/cygwin/errno.cc
winsup/cygwin/exceptions.cc
winsup/cygwin/exec.cc
winsup/cygwin/external.cc
winsup/cygwin/external.sgml
winsup/cygwin/fcntl.cc
winsup/cygwin/fhandler.cc
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_clipboard.cc
winsup/cygwin/fhandler_console.cc
winsup/cygwin/fhandler_disk_file.cc
winsup/cygwin/fhandler_dsp.cc
winsup/cygwin/fhandler_fifo.cc
winsup/cygwin/fhandler_floppy.cc
winsup/cygwin/fhandler_mailslot.cc
winsup/cygwin/fhandler_mem.cc
winsup/cygwin/fhandler_netdrive.cc
winsup/cygwin/fhandler_nodevice.cc
winsup/cygwin/fhandler_proc.cc
winsup/cygwin/fhandler_process.cc
winsup/cygwin/fhandler_procnet.cc
winsup/cygwin/fhandler_random.cc
winsup/cygwin/fhandler_raw.cc
winsup/cygwin/fhandler_registry.cc
winsup/cygwin/fhandler_serial.cc
winsup/cygwin/fhandler_socket.cc
winsup/cygwin/fhandler_tape.cc
winsup/cygwin/fhandler_termios.cc
winsup/cygwin/fhandler_tty.cc
winsup/cygwin/fhandler_virtual.cc
winsup/cygwin/fhandler_virtual.h
winsup/cygwin/fhandler_windows.cc
winsup/cygwin/fhandler_zero.cc
winsup/cygwin/flock.cc
winsup/cygwin/fork.cc
winsup/cygwin/gcrt0.c
winsup/cygwin/gendef
winsup/cygwin/gendevices
winsup/cygwin/gentls_offsets
winsup/cygwin/glob.cc
winsup/cygwin/glob_pattern_p.cc
winsup/cygwin/globals.cc
winsup/cygwin/gmon.c
winsup/cygwin/gmon.h
winsup/cygwin/grp.cc
winsup/cygwin/heap.cc
winsup/cygwin/heap.h
winsup/cygwin/hires.h
winsup/cygwin/hookapi.cc
winsup/cygwin/how-autoload-works.txt
winsup/cygwin/how-cygheap-works.txt
winsup/cygwin/how-cygtls-works.txt
winsup/cygwin/how-fhandlers-work.txt
winsup/cygwin/how-signals-work.txt
winsup/cygwin/how-spawn-works.txt
winsup/cygwin/how-to-debug-cygwin.txt
winsup/cygwin/how-vfork-works.txt
winsup/cygwin/include/a.out.h
winsup/cygwin/include/arpa/ftp.h
winsup/cygwin/include/arpa/inet.h
winsup/cygwin/include/arpa/nameser.h
winsup/cygwin/include/arpa/nameser_compat.h
winsup/cygwin/include/arpa/telnet.h
winsup/cygwin/include/asm/byteorder.h
winsup/cygwin/include/asm/socket.h
winsup/cygwin/include/asm/types.h
winsup/cygwin/include/attr/xattr.h
winsup/cygwin/include/bits/wordsize.h
winsup/cygwin/include/byteswap.h
winsup/cygwin/include/cygwin/_types.h
winsup/cygwin/include/cygwin/acl.h
winsup/cygwin/include/cygwin/config.h
winsup/cygwin/include/cygwin/core_dump.h
winsup/cygwin/include/cygwin/cygwin_dll.h
winsup/cygwin/include/cygwin/fs.h
winsup/cygwin/include/cygwin/grp.h
winsup/cygwin/include/cygwin/hdreg.h
winsup/cygwin/include/cygwin/icmp.h
winsup/cygwin/include/cygwin/if.h
winsup/cygwin/include/cygwin/in.h
winsup/cygwin/include/cygwin/in6.h
winsup/cygwin/include/cygwin/in_systm.h
winsup/cygwin/include/cygwin/ipc.h
winsup/cygwin/include/cygwin/kd.h
winsup/cygwin/include/cygwin/msg.h
winsup/cygwin/include/cygwin/mtio.h
winsup/cygwin/include/cygwin/rdevio.h
winsup/cygwin/include/cygwin/sem.h
winsup/cygwin/include/cygwin/shm.h
winsup/cygwin/include/cygwin/signal.h
winsup/cygwin/include/cygwin/socket.h
winsup/cygwin/include/cygwin/sockios.h
winsup/cygwin/include/cygwin/stat.h
winsup/cygwin/include/cygwin/stdlib.h
winsup/cygwin/include/cygwin/sys_time.h
winsup/cygwin/include/cygwin/sysproto.h
winsup/cygwin/include/cygwin/time.h
winsup/cygwin/include/cygwin/types.h
winsup/cygwin/include/cygwin/utmp.h
winsup/cygwin/include/cygwin/version.h
winsup/cygwin/include/cygwin/wait.h
winsup/cygwin/include/dlfcn.h
winsup/cygwin/include/elf.h
winsup/cygwin/include/endian.h
winsup/cygwin/include/err.h
winsup/cygwin/include/exceptions.h
winsup/cygwin/include/fcntl.h
winsup/cygwin/include/features.h
winsup/cygwin/include/fnmatch.h
winsup/cygwin/include/fts.h
winsup/cygwin/include/ftw.h
winsup/cygwin/include/getopt.h
winsup/cygwin/include/glob.h
winsup/cygwin/include/icmp.h
winsup/cygwin/include/ifaddrs.h
winsup/cygwin/include/inttypes.h
winsup/cygwin/include/io.h
winsup/cygwin/include/lastlog.h
winsup/cygwin/include/libgen.h
winsup/cygwin/include/limits.h
winsup/cygwin/include/machine/stdlib.h
winsup/cygwin/include/mapi.h
winsup/cygwin/include/memory.h
winsup/cygwin/include/mntent.h
winsup/cygwin/include/mqueue.h
winsup/cygwin/include/net/if.h
winsup/cygwin/include/netdb.h
winsup/cygwin/include/netinet/in.h
winsup/cygwin/include/netinet/in_systm.h
winsup/cygwin/include/netinet/ip.h
winsup/cygwin/include/netinet/ip_icmp.h
winsup/cygwin/include/netinet/tcp.h
winsup/cygwin/include/netinet/udp.h
winsup/cygwin/include/paths.h
winsup/cygwin/include/poll.h
winsup/cygwin/include/pthread.h
winsup/cygwin/include/pty.h
winsup/cygwin/include/resolv.h
winsup/cygwin/include/sched.h
winsup/cygwin/include/search.h
winsup/cygwin/include/semaphore.h
winsup/cygwin/include/stdint.h
winsup/cygwin/include/strings.h
winsup/cygwin/include/sys/acl.h
winsup/cygwin/include/sys/copying.dj
winsup/cygwin/include/sys/cygwin.h
winsup/cygwin/include/sys/dirent.h
winsup/cygwin/include/sys/elf32.h
winsup/cygwin/include/sys/elf64.h
winsup/cygwin/include/sys/elf_common.h
winsup/cygwin/include/sys/elf_generic.h
winsup/cygwin/include/sys/file.h
winsup/cygwin/include/sys/ioctl.h
winsup/cygwin/include/sys/ipc.h
winsup/cygwin/include/sys/kd.h
winsup/cygwin/include/sys/lock.h
winsup/cygwin/include/sys/mman.h
winsup/cygwin/include/sys/mount.h
winsup/cygwin/include/sys/msg.h
winsup/cygwin/include/sys/mtio.h
winsup/cygwin/include/sys/param.h
winsup/cygwin/include/sys/poll.h
winsup/cygwin/include/sys/procfs.h
winsup/cygwin/include/sys/queue.h
winsup/cygwin/include/sys/resource.h
winsup/cygwin/include/sys/sched.h
winsup/cygwin/include/sys/select.h
winsup/cygwin/include/sys/sem.h
winsup/cygwin/include/sys/shm.h
winsup/cygwin/include/sys/smallprint.h
winsup/cygwin/include/sys/socket.h
winsup/cygwin/include/sys/soundcard.h
winsup/cygwin/include/sys/statfs.h
winsup/cygwin/include/sys/statvfs.h
winsup/cygwin/include/sys/stdio.h
winsup/cygwin/include/sys/strace.h
winsup/cygwin/include/sys/syslimits.h
winsup/cygwin/include/sys/syslog.h
winsup/cygwin/include/sys/sysmacros.h
winsup/cygwin/include/sys/sysproto.h
winsup/cygwin/include/sys/termio.h
winsup/cygwin/include/sys/termios.h
winsup/cygwin/include/sys/ttychars.h
winsup/cygwin/include/sys/uio.h
winsup/cygwin/include/sys/un.h
winsup/cygwin/include/sys/utime.h
winsup/cygwin/include/sys/utmp.h
winsup/cygwin/include/sys/utsname.h
winsup/cygwin/include/sys/vfs.h
winsup/cygwin/include/sys/wait.h
winsup/cygwin/include/sysexits.h
winsup/cygwin/include/syslog.h
winsup/cygwin/include/termio.h
winsup/cygwin/include/tzfile.h
winsup/cygwin/include/utmpx.h
winsup/cygwin/include/wait.h
winsup/cygwin/init.cc
winsup/cygwin/ioctl.cc
winsup/cygwin/ipc.cc
winsup/cygwin/kernel32.cc
winsup/cygwin/lib/_cygwin_crt0_common.cc
winsup/cygwin/lib/crt0.h
winsup/cygwin/lib/cygwin_attach_dll.c
winsup/cygwin/lib/cygwin_crt0.c
winsup/cygwin/lib/dll_entry.c
winsup/cygwin/lib/dll_main.cc
winsup/cygwin/lib/libcmain.c
winsup/cygwin/lib/premain0.c
winsup/cygwin/lib/premain1.c
winsup/cygwin/lib/premain2.c
winsup/cygwin/lib/premain3.c
winsup/cygwin/lib/pseudo-reloc.c
winsup/cygwin/libc/bsdlib.cc
winsup/cygwin/libc/fnmatch.c
winsup/cygwin/libc/fts.c
winsup/cygwin/libc/ftw.c
winsup/cygwin/libc/getopt.c
winsup/cygwin/libc/inet_addr.c
winsup/cygwin/libc/inet_network.c
winsup/cygwin/libc/minires-os-if.c
winsup/cygwin/libc/minires.c
winsup/cygwin/libc/minires.h
winsup/cygwin/libc/nftw.c
winsup/cygwin/libc/rcmd.cc
winsup/cygwin/libc/rexec.cc
winsup/cygwin/libc/strptime.cc
winsup/cygwin/libc/xsique.cc
winsup/cygwin/libstdcxx_wrapper.cc
winsup/cygwin/localtime.cc
winsup/cygwin/lsearch.cc
winsup/cygwin/malloc.cc
winsup/cygwin/malloc_wrapper.cc
winsup/cygwin/mcount.c
winsup/cygwin/miscfuncs.cc
winsup/cygwin/miscfuncs.h
winsup/cygwin/mkglobals_h
winsup/cygwin/mkimport
winsup/cygwin/mkstatic
winsup/cygwin/mktemp.cc
winsup/cygwin/mkvers.sh
winsup/cygwin/mmap.cc
winsup/cygwin/mmap_helper.h
winsup/cygwin/mount.cc
winsup/cygwin/mount.h
winsup/cygwin/msg.cc
winsup/cygwin/mtinfo.h
winsup/cygwin/net.cc
winsup/cygwin/netdb.cc
winsup/cygwin/nfs.cc
winsup/cygwin/nfs.h
winsup/cygwin/ntdll.h
winsup/cygwin/ntea.cc
winsup/cygwin/passwd.cc
winsup/cygwin/path.cc
winsup/cygwin/path.h
winsup/cygwin/path.sgml
winsup/cygwin/perprocess.h
winsup/cygwin/pinfo.cc
winsup/cygwin/pinfo.h
winsup/cygwin/pipe.cc
winsup/cygwin/poll.cc
winsup/cygwin/posix.sgml
winsup/cygwin/posix_ipc.cc
winsup/cygwin/profil.c
winsup/cygwin/profil.h
winsup/cygwin/pseudo-reloc.cc
winsup/cygwin/pthread.cc
winsup/cygwin/pwdgrp.h
winsup/cygwin/random.cc
winsup/cygwin/regex/COPYRIGHT
winsup/cygwin/regex/cclass.h
winsup/cygwin/regex/cname.h
winsup/cygwin/regex/engine.c
winsup/cygwin/regex/engine.ih
winsup/cygwin/regex/mkh
winsup/cygwin/regex/regcomp.c
winsup/cygwin/regex/regcomp.ih
winsup/cygwin/regex/regerror.c
winsup/cygwin/regex/regerror.ih
winsup/cygwin/regex/regex.3
winsup/cygwin/regex/regex.7
winsup/cygwin/regex/regex.h
winsup/cygwin/regex/regex2.h
winsup/cygwin/regex/regexec.c
winsup/cygwin/regex/regfree.c
winsup/cygwin/regex/tests
winsup/cygwin/regex/utils.h
winsup/cygwin/registry.cc
winsup/cygwin/registry.h
winsup/cygwin/resource.cc
winsup/cygwin/scandir.cc
winsup/cygwin/sched.cc
winsup/cygwin/sec_acl.cc
winsup/cygwin/sec_auth.cc
winsup/cygwin/sec_helper.cc
winsup/cygwin/security.cc
winsup/cygwin/security.h
winsup/cygwin/security.sgml
winsup/cygwin/select.cc
winsup/cygwin/select.h
winsup/cygwin/sem.cc
winsup/cygwin/setlsapwd.cc
winsup/cygwin/shared.cc
winsup/cygwin/shared_info.h
winsup/cygwin/shm.cc
winsup/cygwin/signal.cc
winsup/cygwin/sigproc.cc
winsup/cygwin/sigproc.h
winsup/cygwin/smallprint.cc
winsup/cygwin/sortdin
winsup/cygwin/spawn.cc
winsup/cygwin/speclib
winsup/cygwin/stackdump.sgml
winsup/cygwin/strace.cc
winsup/cygwin/strfuncs.cc
winsup/cygwin/string.h
winsup/cygwin/strsep.cc
winsup/cygwin/strsig.cc
winsup/cygwin/sync.cc
winsup/cygwin/sync.h
winsup/cygwin/syscalls.cc
winsup/cygwin/sysconf.cc
winsup/cygwin/syslog.cc
winsup/cygwin/termios.cc
winsup/cygwin/textmode.c
winsup/cygwin/textreadmode.c
winsup/cygwin/thread.cc
winsup/cygwin/thread.h
winsup/cygwin/timer.cc
winsup/cygwin/times.cc
winsup/cygwin/tls_pbuf.cc
winsup/cygwin/tls_pbuf.h
winsup/cygwin/tlsoffsets.h
winsup/cygwin/tty.cc
winsup/cygwin/tty.h
winsup/cygwin/tz_posixrules.h
winsup/cygwin/uinfo.cc
winsup/cygwin/uname.cc
winsup/cygwin/wait.cc
winsup/cygwin/wchar.h
winsup/cygwin/winbase.h
winsup/cygwin/wincap.cc
winsup/cygwin/wincap.h
winsup/cygwin/window.cc
winsup/cygwin/winf.cc
winsup/cygwin/winf.h
winsup/cygwin/wininfo.h
winsup/cygwin/winsup.h
winsup/cygwin/winver.rc
winsup/doc/ChangeLog
winsup/doc/Makefile.in
winsup/doc/README
winsup/doc/aclocal.m4
winsup/doc/configure
winsup/doc/configure.in
winsup/doc/cygserver.sgml
winsup/doc/cygwin-api.in.sgml
winsup/doc/cygwin-ug-net.in.sgml
winsup/doc/cygwin-ug.in.sgml
winsup/doc/cygwin.dsl
winsup/doc/cygwinenv.sgml
winsup/doc/dll.sgml
winsup/doc/doctool.c
winsup/doc/doctool.txt
winsup/doc/effectively.sgml
winsup/doc/faq-api.xml
winsup/doc/faq-programming.xml
winsup/doc/faq-resources.xml
winsup/doc/faq-sections.xml
winsup/doc/faq-setup.xml
winsup/doc/faq-using.xml
winsup/doc/faq-what.xml
winsup/doc/faq.xml
winsup/doc/fhandler-tut.txt
winsup/doc/filemodes.sgml
winsup/doc/gcc.sgml
winsup/doc/gdb.sgml
winsup/doc/legal.sgml
winsup/doc/new-features.sgml
winsup/doc/ntsec.sgml
winsup/doc/overview.sgml
winsup/doc/overview2.sgml
winsup/doc/pathnames.sgml
winsup/doc/programming.sgml
winsup/doc/setup-net.sgml
winsup/doc/setup.sgml
winsup/doc/setup2.sgml
winsup/doc/textbinary.sgml
winsup/doc/using.sgml
winsup/doc/windres.sgml
winsup/lsaauth/ChangeLog
winsup/lsaauth/Makefile.in
winsup/lsaauth/aclocal.m4
winsup/lsaauth/configure
winsup/lsaauth/configure.in
winsup/lsaauth/cyglsa-config
winsup/lsaauth/cyglsa.c
winsup/lsaauth/cyglsa.din
winsup/lsaauth/cyglsa64.dll
winsup/lsaauth/make-64bit-version-with-visual-c.bat
winsup/lsaauth/mslsa.def
winsup/mingw/CONTRIBUTORS
winsup/mingw/CRT_fp10.c
winsup/mingw/CRT_fp8.c
winsup/mingw/CRT_noglob.c
winsup/mingw/CRTfmode.c
winsup/mingw/CRTglob.c
winsup/mingw/CRTinit.c
winsup/mingw/ChangeLog
winsup/mingw/DISCLAIMER
winsup/mingw/Makefile.in
winsup/mingw/README
winsup/mingw/TODO
winsup/mingw/aclocal.m4
winsup/mingw/binmode.c
winsup/mingw/config.guess
winsup/mingw/config.sub
winsup/mingw/configure
winsup/mingw/configure.in
winsup/mingw/cpu_features.c
winsup/mingw/cpu_features.h
winsup/mingw/crt1.c
winsup/mingw/crtdll.def
winsup/mingw/crtmt.c
winsup/mingw/crtst.c
winsup/mingw/dllcrt1.c
winsup/mingw/dllmain.c
winsup/mingw/gccmain.c
winsup/mingw/include/_mingw.h
winsup/mingw/include/assert.h
winsup/mingw/include/complex.h
winsup/mingw/include/conio.h
winsup/mingw/include/ctype.h
winsup/mingw/include/dir.h
winsup/mingw/include/direct.h
winsup/mingw/include/dirent.h
winsup/mingw/include/dos.h
winsup/mingw/include/errno.h
winsup/mingw/include/excpt.h
winsup/mingw/include/fcntl.h
winsup/mingw/include/fenv.h
winsup/mingw/include/float.h
winsup/mingw/include/getopt.h
winsup/mingw/include/inttypes.h
winsup/mingw/include/io.h
winsup/mingw/include/libgen.h
winsup/mingw/include/limits.h
winsup/mingw/include/locale.h
winsup/mingw/include/malloc.h
winsup/mingw/include/math.h
winsup/mingw/include/mbctype.h
winsup/mingw/include/mbstring.h
winsup/mingw/include/mem.h
winsup/mingw/include/memory.h
winsup/mingw/include/process.h
winsup/mingw/include/search.h
winsup/mingw/include/setjmp.h
winsup/mingw/include/share.h
winsup/mingw/include/signal.h
winsup/mingw/include/stdint.h
winsup/mingw/include/stdio.h
winsup/mingw/include/stdlib.h
winsup/mingw/include/string.h
winsup/mingw/include/strings.h
winsup/mingw/include/sys/fcntl.h
winsup/mingw/include/sys/file.h
winsup/mingw/include/sys/locking.h
winsup/mingw/include/sys/param.h
winsup/mingw/include/sys/stat.h
winsup/mingw/include/sys/time.h
winsup/mingw/include/sys/timeb.h
winsup/mingw/include/sys/types.h
winsup/mingw/include/sys/unistd.h
winsup/mingw/include/sys/utime.h
winsup/mingw/include/tchar.h
winsup/mingw/include/time.h
winsup/mingw/include/unistd.h
winsup/mingw/include/utime.h
winsup/mingw/include/values.h
winsup/mingw/include/varargs.h
winsup/mingw/include/wchar.h
winsup/mingw/include/wctype.h
winsup/mingw/init.c
winsup/mingw/install-sh
winsup/mingw/isascii.c
winsup/mingw/iscsym.c
winsup/mingw/iscsymf.c
winsup/mingw/jamfile
winsup/mingw/main.c
winsup/mingw/man/dirname.man
winsup/mingw/mingwex/Makefile.in
winsup/mingw/mingwex/_Exit.c
winsup/mingw/mingwex/atoll.c
winsup/mingw/mingwex/basename.c
winsup/mingw/mingwex/btowc.c
winsup/mingw/mingwex/complex/cabs.c
winsup/mingw/mingwex/complex/cabsf.c
winsup/mingw/mingwex/complex/cabsl.c
winsup/mingw/mingwex/complex/cacos.c
winsup/mingw/mingwex/complex/cacosf.c
winsup/mingw/mingwex/complex/cacosh.c
winsup/mingw/mingwex/complex/cacoshf.c
winsup/mingw/mingwex/complex/cacoshl.c
winsup/mingw/mingwex/complex/cacosl.c
winsup/mingw/mingwex/complex/carg.c
winsup/mingw/mingwex/complex/cargf.c
winsup/mingw/mingwex/complex/cargl.c
winsup/mingw/mingwex/complex/casin.c
winsup/mingw/mingwex/complex/casinf.c
winsup/mingw/mingwex/complex/casinh.c
winsup/mingw/mingwex/complex/casinhf.c
winsup/mingw/mingwex/complex/casinhl.c
winsup/mingw/mingwex/complex/casinl.c
winsup/mingw/mingwex/complex/catan.c
winsup/mingw/mingwex/complex/catanf.c
winsup/mingw/mingwex/complex/catanh.c
winsup/mingw/mingwex/complex/catanhf.c
winsup/mingw/mingwex/complex/catanhl.c
winsup/mingw/mingwex/complex/catanl.c
winsup/mingw/mingwex/complex/ccos.c
winsup/mingw/mingwex/complex/ccosf.c
winsup/mingw/mingwex/complex/ccosh.c
winsup/mingw/mingwex/complex/ccoshf.c
winsup/mingw/mingwex/complex/ccoshl.c
winsup/mingw/mingwex/complex/ccosl.c
winsup/mingw/mingwex/complex/cexp.c
winsup/mingw/mingwex/complex/cexpf.c
winsup/mingw/mingwex/complex/cexpl.c
winsup/mingw/mingwex/complex/cimag.c
winsup/mingw/mingwex/complex/cimagf.c
winsup/mingw/mingwex/complex/cimagl.c
winsup/mingw/mingwex/complex/clog.c
winsup/mingw/mingwex/complex/clogf.c
winsup/mingw/mingwex/complex/clogl.c
winsup/mingw/mingwex/complex/cpow.c
winsup/mingw/mingwex/complex/cpowf.c
winsup/mingw/mingwex/complex/cpowl.c
winsup/mingw/mingwex/complex/cproj.c
winsup/mingw/mingwex/complex/cprojf.c
winsup/mingw/mingwex/complex/cprojl.c
winsup/mingw/mingwex/complex/creal.c
winsup/mingw/mingwex/complex/crealf.c
winsup/mingw/mingwex/complex/creall.c
winsup/mingw/mingwex/complex/csin.c
winsup/mingw/mingwex/complex/csinf.c
winsup/mingw/mingwex/complex/csinh.c
winsup/mingw/mingwex/complex/csinhf.c
winsup/mingw/mingwex/complex/csinhl.c
winsup/mingw/mingwex/complex/csinl.c
winsup/mingw/mingwex/complex/csqrt.c
winsup/mingw/mingwex/complex/csqrtf.c
winsup/mingw/mingwex/complex/csqrtl.c
winsup/mingw/mingwex/complex/ctan.c
winsup/mingw/mingwex/complex/ctanf.c
winsup/mingw/mingwex/complex/ctanh.c
winsup/mingw/mingwex/complex/ctanhf.c
winsup/mingw/mingwex/complex/ctanhl.c
winsup/mingw/mingwex/complex/ctanl.c
winsup/mingw/mingwex/dirent.c
winsup/mingw/mingwex/dirname.c
winsup/mingw/mingwex/feclearexcept.c
winsup/mingw/mingwex/fegetenv.c
winsup/mingw/mingwex/fegetexceptflag.c
winsup/mingw/mingwex/fegetround.c
winsup/mingw/mingwex/feholdexcept.c
winsup/mingw/mingwex/feraiseexcept.c
winsup/mingw/mingwex/fesetenv.c
winsup/mingw/mingwex/fesetexceptflag.c
winsup/mingw/mingwex/fesetround.c
winsup/mingw/mingwex/fetestexcept.c
winsup/mingw/mingwex/feupdateenv.c
winsup/mingw/mingwex/ftruncate.c
winsup/mingw/mingwex/fwide.c
winsup/mingw/mingwex/gdtoa/README
winsup/mingw/mingwex/gdtoa/README.mingw
winsup/mingw/mingwex/gdtoa/arithchk.c
winsup/mingw/mingwex/gdtoa/dmisc.c
winsup/mingw/mingwex/gdtoa/dtoa.c
winsup/mingw/mingwex/gdtoa/g__fmt.c
winsup/mingw/mingwex/gdtoa/g_dfmt.c
winsup/mingw/mingwex/gdtoa/g_ffmt.c
winsup/mingw/mingwex/gdtoa/g_xfmt.c
winsup/mingw/mingwex/gdtoa/gd_arith.h
winsup/mingw/mingwex/gdtoa/gd_qnan.h
winsup/mingw/mingwex/gdtoa/gdtoa.c
winsup/mingw/mingwex/gdtoa/gdtoa.h
winsup/mingw/mingwex/gdtoa/gdtoa_fltrnds.h
winsup/mingw/mingwex/gdtoa/gdtoaimp.h
winsup/mingw/mingwex/gdtoa/gethex.c
winsup/mingw/mingwex/gdtoa/gmisc.c
winsup/mingw/mingwex/gdtoa/hd_init.c
winsup/mingw/mingwex/gdtoa/hexnan.c
winsup/mingw/mingwex/gdtoa/misc.c
winsup/mingw/mingwex/gdtoa/qnan.c
winsup/mingw/mingwex/gdtoa/smisc.c
winsup/mingw/mingwex/gdtoa/strtodg.c
winsup/mingw/mingwex/gdtoa/strtodnrp.c
winsup/mingw/mingwex/gdtoa/strtof.c
winsup/mingw/mingwex/gdtoa/strtopx.c
winsup/mingw/mingwex/gdtoa/sum.c
winsup/mingw/mingwex/gdtoa/ulp.c
winsup/mingw/mingwex/getopt.c
winsup/mingw/mingwex/gettimeofday.c
winsup/mingw/mingwex/imaxabs.c
winsup/mingw/mingwex/imaxdiv.c
winsup/mingw/mingwex/isblank.c
winsup/mingw/mingwex/iswblank.c
winsup/mingw/mingwex/lltoa.c
winsup/mingw/mingwex/lltow.c
winsup/mingw/mingwex/math/acosf.c
winsup/mingw/mingwex/math/acosh.c
winsup/mingw/mingwex/math/acoshf.c
winsup/mingw/mingwex/math/acoshl.c
winsup/mingw/mingwex/math/acosl.c
winsup/mingw/mingwex/math/asinf.c
winsup/mingw/mingwex/math/asinh.c
winsup/mingw/mingwex/math/asinhf.c
winsup/mingw/mingwex/math/asinhl.c
winsup/mingw/mingwex/math/asinl.c
winsup/mingw/mingwex/math/atan2f.c
winsup/mingw/mingwex/math/atan2l.c
winsup/mingw/mingwex/math/atanf.c
winsup/mingw/mingwex/math/atanh.c
winsup/mingw/mingwex/math/atanhf.c
winsup/mingw/mingwex/math/atanhl.c
winsup/mingw/mingwex/math/atanl.c
winsup/mingw/mingwex/math/cbrt.c
winsup/mingw/mingwex/math/cbrtf.c
winsup/mingw/mingwex/math/cbrtl.c
winsup/mingw/mingwex/math/ceilf.S
winsup/mingw/mingwex/math/ceill.S
winsup/mingw/mingwex/math/cephes_mconf.h
winsup/mingw/mingwex/math/copysign.S
winsup/mingw/mingwex/math/copysignf.S
winsup/mingw/mingwex/math/copysignl.S
winsup/mingw/mingwex/math/cosf.S
winsup/mingw/mingwex/math/coshf.c
winsup/mingw/mingwex/math/coshl.c
winsup/mingw/mingwex/math/cosl.S
winsup/mingw/mingwex/math/erfl.c
winsup/mingw/mingwex/math/exp2.S
winsup/mingw/mingwex/math/exp2f.S
winsup/mingw/mingwex/math/exp2l.S
winsup/mingw/mingwex/math/expf.c
winsup/mingw/mingwex/math/expl.c
winsup/mingw/mingwex/math/expm1.c
winsup/mingw/mingwex/math/expm1f.c
winsup/mingw/mingwex/math/expm1l.c
winsup/mingw/mingwex/math/fabs.c
winsup/mingw/mingwex/math/fabsf.c
winsup/mingw/mingwex/math/fabsl.c
winsup/mingw/mingwex/math/fastmath.h
winsup/mingw/mingwex/math/fdim.c
winsup/mingw/mingwex/math/fdimf.c
winsup/mingw/mingwex/math/fdiml.c
winsup/mingw/mingwex/math/floorf.S
winsup/mingw/mingwex/math/floorl.S
winsup/mingw/mingwex/math/fma.S
winsup/mingw/mingwex/math/fmaf.S
winsup/mingw/mingwex/math/fmal.c
winsup/mingw/mingwex/math/fmax.c
winsup/mingw/mingwex/math/fmaxf.c
winsup/mingw/mingwex/math/fmaxl.c
winsup/mingw/mingwex/math/fmin.c
winsup/mingw/mingwex/math/fminf.c
winsup/mingw/mingwex/math/fminl.c
winsup/mingw/mingwex/math/fmodf.c
winsup/mingw/mingwex/math/fmodl.c
winsup/mingw/mingwex/math/fp_consts.c
winsup/mingw/mingwex/math/fp_consts.h
winsup/mingw/mingwex/math/fp_constsf.c
winsup/mingw/mingwex/math/fp_constsl.c
winsup/mingw/mingwex/math/fpclassify.c
winsup/mingw/mingwex/math/fpclassifyf.c
winsup/mingw/mingwex/math/fpclassifyl.c
winsup/mingw/mingwex/math/frexpf.c
winsup/mingw/mingwex/math/frexpl.S
winsup/mingw/mingwex/math/fucom.c
winsup/mingw/mingwex/math/hypotf.c
winsup/mingw/mingwex/math/hypotl.c
winsup/mingw/mingwex/math/ilogb.S
winsup/mingw/mingwex/math/ilogbf.S
winsup/mingw/mingwex/math/ilogbl.S
winsup/mingw/mingwex/math/isnan.c
winsup/mingw/mingwex/math/isnanf.c
winsup/mingw/mingwex/math/isnanl.c
winsup/mingw/mingwex/math/ldexpf.c
winsup/mingw/mingwex/math/ldexpl.c
winsup/mingw/mingwex/math/lgamma.c
winsup/mingw/mingwex/math/lgammaf.c
winsup/mingw/mingwex/math/lgammal.c
winsup/mingw/mingwex/math/llrint.c
winsup/mingw/mingwex/math/llrintf.c
winsup/mingw/mingwex/math/llrintl.c
winsup/mingw/mingwex/math/log10f.S
winsup/mingw/mingwex/math/log10l.S
winsup/mingw/mingwex/math/log1p.S
winsup/mingw/mingwex/math/log1pf.S
winsup/mingw/mingwex/math/log1pl.S
winsup/mingw/mingwex/math/log2.S
winsup/mingw/mingwex/math/log2f.S
winsup/mingw/mingwex/math/log2l.S
winsup/mingw/mingwex/math/logb.c
winsup/mingw/mingwex/math/logbf.c
winsup/mingw/mingwex/math/logbl.c
winsup/mingw/mingwex/math/logf.S
winsup/mingw/mingwex/math/logl.S
winsup/mingw/mingwex/math/lrint.c
winsup/mingw/mingwex/math/lrintf.c
winsup/mingw/mingwex/math/lrintl.c
winsup/mingw/mingwex/math/lround_generic.c
winsup/mingw/mingwex/math/modff.c
winsup/mingw/mingwex/math/modfl.c
winsup/mingw/mingwex/math/nearbyint.S
winsup/mingw/mingwex/math/nearbyintf.S
winsup/mingw/mingwex/math/nearbyintl.S
winsup/mingw/mingwex/math/nextafterf.c
winsup/mingw/mingwex/math/nextafterl.c
winsup/mingw/mingwex/math/nexttoward.c
winsup/mingw/mingwex/math/nexttowardf.c
winsup/mingw/mingwex/math/pow.c
winsup/mingw/mingwex/math/powf.c
winsup/mingw/mingwex/math/powi.c
winsup/mingw/mingwex/math/powif.c
winsup/mingw/mingwex/math/powil.c
winsup/mingw/mingwex/math/powl.c
winsup/mingw/mingwex/math/remainder.S
winsup/mingw/mingwex/math/remainderf.S
winsup/mingw/mingwex/math/remainderl.S
winsup/mingw/mingwex/math/remquo.S
winsup/mingw/mingwex/math/remquof.S
winsup/mingw/mingwex/math/remquol.S
winsup/mingw/mingwex/math/rint.c
winsup/mingw/mingwex/math/rintf.c
winsup/mingw/mingwex/math/rintl.c
winsup/mingw/mingwex/math/round_generic.c
winsup/mingw/mingwex/math/round_internal.h
winsup/mingw/mingwex/math/s_erf.c
winsup/mingw/mingwex/math/scalbn.S
winsup/mingw/mingwex/math/scalbnf.S
winsup/mingw/mingwex/math/scalbnl.S
winsup/mingw/mingwex/math/sf_erf.c
winsup/mingw/mingwex/math/signbit.c
winsup/mingw/mingwex/math/signbitf.c
winsup/mingw/mingwex/math/signbitl.c
winsup/mingw/mingwex/math/sinf.S
winsup/mingw/mingwex/math/sinhf.c
winsup/mingw/mingwex/math/sinhl.c
winsup/mingw/mingwex/math/sinl.S
winsup/mingw/mingwex/math/sqrtf.c
winsup/mingw/mingwex/math/sqrtl.c
winsup/mingw/mingwex/math/tanf.S
winsup/mingw/mingwex/math/tanhf.c
winsup/mingw/mingwex/math/tanhl.c
winsup/mingw/mingwex/math/tanl.S
winsup/mingw/mingwex/math/tgamma.c
winsup/mingw/mingwex/math/tgammaf.c
winsup/mingw/mingwex/math/tgammal.c
winsup/mingw/mingwex/math/trunc.c
winsup/mingw/mingwex/math/truncf.c
winsup/mingw/mingwex/math/truncl.c
winsup/mingw/mingwex/mb_wc_common.h
winsup/mingw/mingwex/mbrtowc.c
winsup/mingw/mingwex/mbsinit.c
winsup/mingw/mingwex/mingw-aligned-malloc.c
winsup/mingw/mingwex/mingw-fseek.c
winsup/mingw/mingwex/sitest.c
winsup/mingw/mingwex/stdio/fopen64.c
winsup/mingw/mingwex/stdio/fprintf.c
winsup/mingw/mingwex/stdio/fseeko64.c
winsup/mingw/mingwex/stdio/ftello64.c
winsup/mingw/mingwex/stdio/lseek64.c
winsup/mingw/mingwex/stdio/pformat.c
winsup/mingw/mingwex/stdio/pformat.h
winsup/mingw/mingwex/stdio/printf.c
winsup/mingw/mingwex/stdio/snprintf.c
winsup/mingw/mingwex/stdio/snwprintf.c
winsup/mingw/mingwex/stdio/sprintf.c
winsup/mingw/mingwex/stdio/vfprintf.c
winsup/mingw/mingwex/stdio/vfscanf.c
winsup/mingw/mingwex/stdio/vfwscanf.c
winsup/mingw/mingwex/stdio/vprintf.c
winsup/mingw/mingwex/stdio/vscanf.c
winsup/mingw/mingwex/stdio/vsnprintf.c
winsup/mingw/mingwex/stdio/vsnwprintf.c
winsup/mingw/mingwex/stdio/vsprintf.c
winsup/mingw/mingwex/stdio/vsscanf.c
winsup/mingw/mingwex/stdio/vswscanf.c
winsup/mingw/mingwex/stdio/vwscanf.c
winsup/mingw/mingwex/strtoimax.c
winsup/mingw/mingwex/strtoumax.c
winsup/mingw/mingwex/tdelete.c
winsup/mingw/mingwex/testwmem.c
winsup/mingw/mingwex/tfind.c
winsup/mingw/mingwex/tsearch.c
winsup/mingw/mingwex/tst-aligned-malloc.c
winsup/mingw/mingwex/twalk.c
winsup/mingw/mingwex/ulltoa.c
winsup/mingw/mingwex/ulltow.c
winsup/mingw/mingwex/usleep.c
winsup/mingw/mingwex/wcrtomb.c
winsup/mingw/mingwex/wcstof.c
winsup/mingw/mingwex/wcstoimax.c
winsup/mingw/mingwex/wcstold.c
winsup/mingw/mingwex/wcstoumax.c
winsup/mingw/mingwex/wctob.c
winsup/mingw/mingwex/wctrans.c
winsup/mingw/mingwex/wctype.c
winsup/mingw/mingwex/wdirent.c
winsup/mingw/mingwex/wmemchr.c
winsup/mingw/mingwex/wmemcmp.c
winsup/mingw/mingwex/wmemcpy.c
winsup/mingw/mingwex/wmemmove.c
winsup/mingw/mingwex/wmemset.c
winsup/mingw/mingwex/wtoll.c
winsup/mingw/mkinstalldirs
winsup/mingw/moldname.def.in
winsup/mingw/msvcrt.def.in
winsup/mingw/mthr.c
winsup/mingw/mthr_init.c
winsup/mingw/mthr_stub.c
winsup/mingw/ofmt_stub.s
winsup/mingw/profile/COPYING
winsup/mingw/profile/CYGWIN_LICENSE
winsup/mingw/profile/Makefile.in
winsup/mingw/profile/gcrt0.c
winsup/mingw/profile/gmon.c
winsup/mingw/profile/gmon.h
winsup/mingw/profile/mcount.c
winsup/mingw/profile/profil.c
winsup/mingw/profile/profil.h
winsup/mingw/profile/profile.h
winsup/mingw/pseudo-reloc-list.c
winsup/mingw/pseudo-reloc.c
winsup/mingw/readme.txt
winsup/mingw/samples/dirent/jamfile
winsup/mingw/samples/dirent/test.c
winsup/mingw/samples/dirent/wtest.c
winsup/mingw/samples/dlltest/dll.c
winsup/mingw/samples/dlltest/dll.def
winsup/mingw/samples/dlltest/dll.h
winsup/mingw/samples/dlltest/exe.c
winsup/mingw/samples/dlltest/exe.exp
winsup/mingw/samples/dlltest/expexe.c
winsup/mingw/samples/dlltest/expexe.def
winsup/mingw/samples/dlltest/jamfile
winsup/mingw/samples/dlltest/loaddll.c
winsup/mingw/samples/dlltest/loadexe.c
winsup/mingw/samples/dlltest/readme.txt
winsup/mingw/samples/dlltest/silly.cpp
winsup/mingw/samples/dlltest/silly.def
winsup/mingw/samples/dlltest/silly.exp
winsup/mingw/samples/dlltest/silly.h
winsup/mingw/samples/dlltest/sillydll.cpp
winsup/mingw/samples/filehand/filehand.c
winsup/mingw/samples/filehand/jamfile
winsup/mingw/samples/filehand/junk.txt
winsup/mingw/samples/fixargv/fixargv.c
winsup/mingw/samples/fixargv/fixargv.h
winsup/mingw/samples/fixargv/readme.txt
winsup/mingw/samples/fmode/all.c
winsup/mingw/samples/fmode/jamfile
winsup/mingw/samples/fmode/readme.txt
winsup/mingw/samples/fmode/test.c
winsup/mingw/samples/fmode/test2.c
winsup/mingw/samples/globbing/glob.c
winsup/mingw/samples/globbing/jamfile
winsup/mingw/samples/globbing/noglob.c
winsup/mingw/samples/globbing/readme.txt
winsup/mingw/samples/print/jamfile
winsup/mingw/samples/print/prntest.c
winsup/mingw/samples/seh/eh3.c
winsup/mingw/samples/seh/exutil.c
winsup/mingw/samples/seh/exutil.def
winsup/mingw/samples/seh/exutil.h
winsup/mingw/samples/seh/jamfile
winsup/mingw/samples/seh/sehfix.c
winsup/mingw/samples/seh/sehsub.c
winsup/mingw/samples/seh/sehtest.c
winsup/mingw/samples/simpledll/dll.c
winsup/mingw/samples/simpledll/dll.cpp
winsup/mingw/samples/simpledll/dll.def
winsup/mingw/samples/simpledll/exe.c
winsup/mingw/samples/simpledll/jamfile
winsup/mingw/samples/simpledll/makedll.bat
winsup/mingw/samples/test/jamfile
winsup/mingw/samples/test/test.c
winsup/mingw/samples/wintest/jamfile
winsup/mingw/samples/wintest/test.c
winsup/mingw/strcasecmp.c
winsup/mingw/strncasecmp.c
winsup/mingw/test_headers.c
winsup/mingw/toascii.c
winsup/mingw/txtmode.c
winsup/mingw/wcscmpi.c
winsup/testsuite/ChangeLog
winsup/testsuite/Makefile.in
winsup/testsuite/README
winsup/testsuite/aclocal.m4
winsup/testsuite/config/default.exp
winsup/testsuite/configure
winsup/testsuite/configure.in
winsup/testsuite/cygrun.c
winsup/testsuite/libltp/include/dataascii.h
winsup/testsuite/libltp/include/databin.h
winsup/testsuite/libltp/include/file_lock.h
winsup/testsuite/libltp/include/forker.h
winsup/testsuite/libltp/include/open_flags.h
winsup/testsuite/libltp/include/pattern.h
winsup/testsuite/libltp/include/random_range.h
winsup/testsuite/libltp/include/rmobj.h
winsup/testsuite/libltp/include/search_path.h
winsup/testsuite/libltp/include/str_to_bytes.h
winsup/testsuite/libltp/include/string_to_tokens.h
winsup/testsuite/libltp/include/test.h
winsup/testsuite/libltp/include/tlibio.h
winsup/testsuite/libltp/include/usctest.h
winsup/testsuite/libltp/include/write_log.h
winsup/testsuite/libltp/lib/dataascii.c
winsup/testsuite/libltp/lib/databin.c
winsup/testsuite/libltp/lib/datapid.c
winsup/testsuite/libltp/lib/forker.c
winsup/testsuite/libltp/lib/get_high_address.c
winsup/testsuite/libltp/lib/libtestsuite.c
winsup/testsuite/libltp/lib/open_flags.c
winsup/testsuite/libltp/lib/parse_opts.c
winsup/testsuite/libltp/lib/pattern.c
winsup/testsuite/libltp/lib/rmobj.c
winsup/testsuite/libltp/lib/search_path.c
winsup/testsuite/libltp/lib/str_to_bytes.c
winsup/testsuite/libltp/lib/string_to_tokens.c
winsup/testsuite/libltp/lib/tst_res.c
winsup/testsuite/libltp/lib/tst_sig.c
winsup/testsuite/libltp/lib/tst_tmpdir.c
winsup/testsuite/libltp/lib/write_log.c
winsup/testsuite/winsup.api/checksignal.c
winsup/testsuite/winsup.api/crlf.c
winsup/testsuite/winsup.api/cygload.cc
winsup/testsuite/winsup.api/cygload.exp
winsup/testsuite/winsup.api/cygload.h
winsup/testsuite/winsup.api/devdsp.c
winsup/testsuite/winsup.api/devdsp_okay.h
winsup/testsuite/winsup.api/devzero.c
winsup/testsuite/winsup.api/iospeed.c
winsup/testsuite/winsup.api/known_bugs.tcl
winsup/testsuite/winsup.api/ltp/access01.c
winsup/testsuite/winsup.api/ltp/access03.c
winsup/testsuite/winsup.api/ltp/access04.c
winsup/testsuite/winsup.api/ltp/access05.c
winsup/testsuite/winsup.api/ltp/alarm01.c
winsup/testsuite/winsup.api/ltp/alarm02.c
winsup/testsuite/winsup.api/ltp/alarm03.c
winsup/testsuite/winsup.api/ltp/alarm07.c
winsup/testsuite/winsup.api/ltp/asyncio02.c
winsup/testsuite/winsup.api/ltp/chdir02.c
winsup/testsuite/winsup.api/ltp/chdir04.c
winsup/testsuite/winsup.api/ltp/chmod01.c
winsup/testsuite/winsup.api/ltp/chmod02.c
winsup/testsuite/winsup.api/ltp/chown01.c
winsup/testsuite/winsup.api/ltp/close01.c
winsup/testsuite/winsup.api/ltp/close02.c
winsup/testsuite/winsup.api/ltp/close08.c
winsup/testsuite/winsup.api/ltp/creat01.c
winsup/testsuite/winsup.api/ltp/creat03.c
winsup/testsuite/winsup.api/ltp/creat09.c
winsup/testsuite/winsup.api/ltp/dup01.c
winsup/testsuite/winsup.api/ltp/dup02.c
winsup/testsuite/winsup.api/ltp/dup03.c
winsup/testsuite/winsup.api/ltp/dup04.c
winsup/testsuite/winsup.api/ltp/dup05.c
winsup/testsuite/winsup.api/ltp/execl01.c
winsup/testsuite/winsup.api/ltp/execle01.c
winsup/testsuite/winsup.api/ltp/execlp01.c
winsup/testsuite/winsup.api/ltp/execv01.c
winsup/testsuite/winsup.api/ltp/execve01.c
winsup/testsuite/winsup.api/ltp/execvp01.c
winsup/testsuite/winsup.api/ltp/exit01.c
winsup/testsuite/winsup.api/ltp/exit02.c
winsup/testsuite/winsup.api/ltp/fchdir01.c
winsup/testsuite/winsup.api/ltp/fchdir02.c
winsup/testsuite/winsup.api/ltp/fchmod01.c
winsup/testsuite/winsup.api/ltp/fchown01.c
winsup/testsuite/winsup.api/ltp/fcntl02.c
winsup/testsuite/winsup.api/ltp/fcntl03.c
winsup/testsuite/winsup.api/ltp/fcntl04.c
winsup/testsuite/winsup.api/ltp/fcntl05.c
winsup/testsuite/winsup.api/ltp/fcntl07.c
winsup/testsuite/winsup.api/ltp/fcntl07B.c
winsup/testsuite/winsup.api/ltp/fcntl08.c
winsup/testsuite/winsup.api/ltp/fcntl09.c
winsup/testsuite/winsup.api/ltp/fcntl10.c
winsup/testsuite/winsup.api/ltp/fork01.c
winsup/testsuite/winsup.api/ltp/fork02.c
winsup/testsuite/winsup.api/ltp/fork03.c
winsup/testsuite/winsup.api/ltp/fork04.c
winsup/testsuite/winsup.api/ltp/fork06.c
winsup/testsuite/winsup.api/ltp/fork07.c
winsup/testsuite/winsup.api/ltp/fork09.c
winsup/testsuite/winsup.api/ltp/fork10.c
winsup/testsuite/winsup.api/ltp/fork11.c
winsup/testsuite/winsup.api/ltp/fpathconf01.c
winsup/testsuite/winsup.api/ltp/fstat01.c
winsup/testsuite/winsup.api/ltp/fstat02.c
winsup/testsuite/winsup.api/ltp/fstat03.c
winsup/testsuite/winsup.api/ltp/fstat04.c
winsup/testsuite/winsup.api/ltp/fsync01.c
winsup/testsuite/winsup.api/ltp/ftruncate01.c
winsup/testsuite/winsup.api/ltp/ftruncate02.c
winsup/testsuite/winsup.api/ltp/ftruncate03.c
winsup/testsuite/winsup.api/ltp/getegid01.c
winsup/testsuite/winsup.api/ltp/geteuid01.c
winsup/testsuite/winsup.api/ltp/getgid01.c
winsup/testsuite/winsup.api/ltp/getgid02.c
winsup/testsuite/winsup.api/ltp/getgid03.c
winsup/testsuite/winsup.api/ltp/getgroups01.c
winsup/testsuite/winsup.api/ltp/getgroups02.c
winsup/testsuite/winsup.api/ltp/gethostid01.c
winsup/testsuite/winsup.api/ltp/gethostname01.c
winsup/testsuite/winsup.api/ltp/getpgid01.c
winsup/testsuite/winsup.api/ltp/getpgid02.c
winsup/testsuite/winsup.api/ltp/getpgrp01.c
winsup/testsuite/winsup.api/ltp/getpid01.c
winsup/testsuite/winsup.api/ltp/getpid02.c
winsup/testsuite/winsup.api/ltp/getppid01.c
winsup/testsuite/winsup.api/ltp/getppid02.c
winsup/testsuite/winsup.api/ltp/getuid01.c
winsup/testsuite/winsup.api/ltp/getuid02.c
winsup/testsuite/winsup.api/ltp/getuid03.c
winsup/testsuite/winsup.api/ltp/kill01.c
winsup/testsuite/winsup.api/ltp/kill02.c
winsup/testsuite/winsup.api/ltp/kill03.c
winsup/testsuite/winsup.api/ltp/kill04.c
winsup/testsuite/winsup.api/ltp/kill09.c
winsup/testsuite/winsup.api/ltp/link02.c
winsup/testsuite/winsup.api/ltp/link03.c
winsup/testsuite/winsup.api/ltp/link04.c
winsup/testsuite/winsup.api/ltp/link05.c
winsup/testsuite/winsup.api/ltp/lseek01.c
winsup/testsuite/winsup.api/ltp/lseek02.c
winsup/testsuite/winsup.api/ltp/lseek03.c
winsup/testsuite/winsup.api/ltp/lseek04.c
winsup/testsuite/winsup.api/ltp/lseek05.c
winsup/testsuite/winsup.api/ltp/lseek06.c
winsup/testsuite/winsup.api/ltp/lseek07.c
winsup/testsuite/winsup.api/ltp/lseek08.c
winsup/testsuite/winsup.api/ltp/lseek09.c
winsup/testsuite/winsup.api/ltp/lseek10.c
winsup/testsuite/winsup.api/ltp/lstat02.c
winsup/testsuite/winsup.api/ltp/mkdir01.c
winsup/testsuite/winsup.api/ltp/mkdir08.c
winsup/testsuite/winsup.api/ltp/mknod01.c
winsup/testsuite/winsup.api/ltp/mmap001.c
winsup/testsuite/winsup.api/ltp/mmap02.c
winsup/testsuite/winsup.api/ltp/mmap03.c
winsup/testsuite/winsup.api/ltp/mmap04.c
winsup/testsuite/winsup.api/ltp/mmap05.c
winsup/testsuite/winsup.api/ltp/mmap06.c
winsup/testsuite/winsup.api/ltp/mmap07.c
winsup/testsuite/winsup.api/ltp/mmap08.c
winsup/testsuite/winsup.api/ltp/munmap01.c
winsup/testsuite/winsup.api/ltp/munmap02.c
winsup/testsuite/winsup.api/ltp/nice05.c
winsup/testsuite/winsup.api/ltp/open02.c
winsup/testsuite/winsup.api/ltp/open03.c
winsup/testsuite/winsup.api/ltp/pathconf01.c
winsup/testsuite/winsup.api/ltp/pause01.c
winsup/testsuite/winsup.api/ltp/pipe01.c
winsup/testsuite/winsup.api/ltp/pipe08.c
winsup/testsuite/winsup.api/ltp/pipe09.c
winsup/testsuite/winsup.api/ltp/pipe10.c
winsup/testsuite/winsup.api/ltp/pipe11.c
winsup/testsuite/winsup.api/ltp/poll01.c
winsup/testsuite/winsup.api/ltp/read01.c
winsup/testsuite/winsup.api/ltp/read04.c
winsup/testsuite/winsup.api/ltp/readdir01.c
winsup/testsuite/winsup.api/ltp/readlink01.c
winsup/testsuite/winsup.api/ltp/readlink02.c
winsup/testsuite/winsup.api/ltp/readlink03.c
winsup/testsuite/winsup.api/ltp/rename01.c
winsup/testsuite/winsup.api/ltp/rename02.c
winsup/testsuite/winsup.api/ltp/rename08.c
winsup/testsuite/winsup.api/ltp/rename10.c
winsup/testsuite/winsup.api/ltp/rmdir01.c
winsup/testsuite/winsup.api/ltp/rmdir04.c
winsup/testsuite/winsup.api/ltp/rmdir05.c
winsup/testsuite/winsup.api/ltp/sbrk01.c
winsup/testsuite/winsup.api/ltp/select01.c
winsup/testsuite/winsup.api/ltp/select02.c
winsup/testsuite/winsup.api/ltp/select03.c
winsup/testsuite/winsup.api/ltp/setgid01.c
winsup/testsuite/winsup.api/ltp/setgroups01.c
winsup/testsuite/winsup.api/ltp/setpgid01.c
winsup/testsuite/winsup.api/ltp/setregid01.c
winsup/testsuite/winsup.api/ltp/setreuid01.c
winsup/testsuite/winsup.api/ltp/setuid01.c
winsup/testsuite/winsup.api/ltp/setuid02.c
winsup/testsuite/winsup.api/ltp/signal03.c
winsup/testsuite/winsup.api/ltp/stat01.c
winsup/testsuite/winsup.api/ltp/stat02.c
winsup/testsuite/winsup.api/ltp/stat03.c
winsup/testsuite/winsup.api/ltp/stat05.c
winsup/testsuite/winsup.api/ltp/stat06.c
winsup/testsuite/winsup.api/ltp/symlink01.c
winsup/testsuite/winsup.api/ltp/symlink02.c
winsup/testsuite/winsup.api/ltp/symlink03.c
winsup/testsuite/winsup.api/ltp/symlink04.c
winsup/testsuite/winsup.api/ltp/symlink05.c
winsup/testsuite/winsup.api/ltp/sync01.c
winsup/testsuite/winsup.api/ltp/sync02.c
winsup/testsuite/winsup.api/ltp/time01.c
winsup/testsuite/winsup.api/ltp/time02.c
winsup/testsuite/winsup.api/ltp/times01.c
winsup/testsuite/winsup.api/ltp/times02.c
winsup/testsuite/winsup.api/ltp/times03.c
winsup/testsuite/winsup.api/ltp/truncate01.c
winsup/testsuite/winsup.api/ltp/truncate02.c
winsup/testsuite/winsup.api/ltp/ulimit01.c
winsup/testsuite/winsup.api/ltp/umask01.c
winsup/testsuite/winsup.api/ltp/umask02.c
winsup/testsuite/winsup.api/ltp/umask03.c
winsup/testsuite/winsup.api/ltp/uname01.c
winsup/testsuite/winsup.api/ltp/unlink05.c
winsup/testsuite/winsup.api/ltp/unlink06.c
winsup/testsuite/winsup.api/ltp/unlink07.c
winsup/testsuite/winsup.api/ltp/unlink08.c
winsup/testsuite/winsup.api/ltp/vfork01.c
winsup/testsuite/winsup.api/ltp/wait02.c
winsup/testsuite/winsup.api/ltp/wait401.c
winsup/testsuite/winsup.api/ltp/wait402.c
winsup/testsuite/winsup.api/ltp/write01.c
winsup/testsuite/winsup.api/ltp/write02.c
winsup/testsuite/winsup.api/ltp/write03.c
winsup/testsuite/winsup.api/mmaptest01.c
winsup/testsuite/winsup.api/mmaptest02.c
winsup/testsuite/winsup.api/mmaptest03.c
winsup/testsuite/winsup.api/mmaptest04.c
winsup/testsuite/winsup.api/msgtest.c
winsup/testsuite/winsup.api/nullgetcwd.c
winsup/testsuite/winsup.api/pthread/cancel1.c
winsup/testsuite/winsup.api/pthread/cancel10.c
winsup/testsuite/winsup.api/pthread/cancel11.c
winsup/testsuite/winsup.api/pthread/cancel12.c
winsup/testsuite/winsup.api/pthread/cancel2.c
winsup/testsuite/winsup.api/pthread/cancel3.c
winsup/testsuite/winsup.api/pthread/cancel4.c
winsup/testsuite/winsup.api/pthread/cancel5.c
winsup/testsuite/winsup.api/pthread/cancel6.c
winsup/testsuite/winsup.api/pthread/cancel7.c
winsup/testsuite/winsup.api/pthread/cancel8.c
winsup/testsuite/winsup.api/pthread/cancel9.c
winsup/testsuite/winsup.api/pthread/cleanup2.c
winsup/testsuite/winsup.api/pthread/cleanup3.c
winsup/testsuite/winsup.api/pthread/condvar1.c
winsup/testsuite/winsup.api/pthread/condvar2.c
winsup/testsuite/winsup.api/pthread/condvar2_1.c
winsup/testsuite/winsup.api/pthread/condvar3.c
winsup/testsuite/winsup.api/pthread/condvar3_1.c
winsup/testsuite/winsup.api/pthread/condvar3_2.c
winsup/testsuite/winsup.api/pthread/condvar3_3.c
winsup/testsuite/winsup.api/pthread/condvar4.c
winsup/testsuite/winsup.api/pthread/condvar5.c
winsup/testsuite/winsup.api/pthread/condvar6.c
winsup/testsuite/winsup.api/pthread/condvar7.c
winsup/testsuite/winsup.api/pthread/condvar8.c
winsup/testsuite/winsup.api/pthread/condvar9.c
winsup/testsuite/winsup.api/pthread/count1.c
winsup/testsuite/winsup.api/pthread/create1.c
winsup/testsuite/winsup.api/pthread/create2.c
winsup/testsuite/winsup.api/pthread/equal1.c
winsup/testsuite/winsup.api/pthread/exit1.c
winsup/testsuite/winsup.api/pthread/exit2.c
winsup/testsuite/winsup.api/pthread/exit3.c
winsup/testsuite/winsup.api/pthread/inherit1.c
winsup/testsuite/winsup.api/pthread/join0.c
winsup/testsuite/winsup.api/pthread/join1.c
winsup/testsuite/winsup.api/pthread/join2.c
winsup/testsuite/winsup.api/pthread/mainthreadexits.c
winsup/testsuite/winsup.api/pthread/mutex1.c
winsup/testsuite/winsup.api/pthread/mutex1d.c
winsup/testsuite/winsup.api/pthread/mutex1e.c
winsup/testsuite/winsup.api/pthread/mutex1n.c
winsup/testsuite/winsup.api/pthread/mutex1r.c
winsup/testsuite/winsup.api/pthread/mutex2.c
winsup/testsuite/winsup.api/pthread/mutex3.c
winsup/testsuite/winsup.api/pthread/mutex4.c
winsup/testsuite/winsup.api/pthread/mutex5.c
winsup/testsuite/winsup.api/pthread/mutex6d.c
winsup/testsuite/winsup.api/pthread/mutex6e.c
winsup/testsuite/winsup.api/pthread/mutex6n.c
winsup/testsuite/winsup.api/pthread/mutex6r.c
winsup/testsuite/winsup.api/pthread/mutex7.c
winsup/testsuite/winsup.api/pthread/mutex7d.c
winsup/testsuite/winsup.api/pthread/mutex7e.c
winsup/testsuite/winsup.api/pthread/mutex7n.c
winsup/testsuite/winsup.api/pthread/mutex7r.c
winsup/testsuite/winsup.api/pthread/mutex8e.c
winsup/testsuite/winsup.api/pthread/mutex8n.c
winsup/testsuite/winsup.api/pthread/mutex8r.c
winsup/testsuite/winsup.api/pthread/once1.c
winsup/testsuite/winsup.api/pthread/priority1.c
winsup/testsuite/winsup.api/pthread/priority2.c
winsup/testsuite/winsup.api/pthread/rwlock1.c
winsup/testsuite/winsup.api/pthread/rwlock2.c
winsup/testsuite/winsup.api/pthread/rwlock3.c
winsup/testsuite/winsup.api/pthread/rwlock4.c
winsup/testsuite/winsup.api/pthread/rwlock5.c
winsup/testsuite/winsup.api/pthread/rwlock6.c
winsup/testsuite/winsup.api/pthread/rwlock7.c
winsup/testsuite/winsup.api/pthread/self1.c
winsup/testsuite/winsup.api/pthread/self2.c
winsup/testsuite/winsup.api/pthread/test.h
winsup/testsuite/winsup.api/pthread/threadidafterfork.c
winsup/testsuite/winsup.api/pthread/tsd1.c
winsup/testsuite/winsup.api/resethand.c
winsup/testsuite/winsup.api/samples/sample-fail.c
winsup/testsuite/winsup.api/samples/sample-miscompile.c
winsup/testsuite/winsup.api/samples/sample-pass.c
winsup/testsuite/winsup.api/semtest.c
winsup/testsuite/winsup.api/shmtest.c
winsup/testsuite/winsup.api/sigchld.c
winsup/testsuite/winsup.api/signal-into-win32-api.c
winsup/testsuite/winsup.api/systemcall.c
winsup/testsuite/winsup.api/user_malloc.c
winsup/testsuite/winsup.api/waitpid.c
winsup/testsuite/winsup.api/winsup.exp
winsup/utils/COPYING.dumper
winsup/utils/ChangeLog
winsup/utils/ChangeLog-2000
winsup/utils/Makefile.in
winsup/utils/aclocal.m4
winsup/utils/bloda.cc
winsup/utils/configure
winsup/utils/configure.in
winsup/utils/cygcheck.cc
winsup/utils/cygpath.cc
winsup/utils/cygwin-console-helper.cc
winsup/utils/dump_setup.cc
winsup/utils/dumper.cc
winsup/utils/dumper.h
winsup/utils/getfacl.c
winsup/utils/kill.cc
winsup/utils/ldd.cc
winsup/utils/ldh.cc
winsup/utils/mingw
winsup/utils/mkgroup.c
winsup/utils/mkpasswd.c
winsup/utils/module_info.cc
winsup/utils/mount.cc
winsup/utils/parse_pe.cc
winsup/utils/passwd.c
winsup/utils/path.cc
winsup/utils/path.h
winsup/utils/ps.cc
winsup/utils/regtool.cc
winsup/utils/setfacl.c
winsup/utils/setmetamode.c
winsup/utils/ssp.c
winsup/utils/ssp.txt
winsup/utils/strace.cc
winsup/utils/testsuite.cc
winsup/utils/testsuite.h
winsup/utils/umount.cc
winsup/utils/utils.sgml
winsup/utils/wide_path.h
winsup/w32api/CONTRIBUTIONS
winsup/w32api/ChangeLog
winsup/w32api/Makefile.in
winsup/w32api/README.w32api
winsup/w32api/TODO
winsup/w32api/aclocal.m4
winsup/w32api/config.guess
winsup/w32api/config.sub
winsup/w32api/configure
winsup/w32api/configure.in
winsup/w32api/include/GL/gl.h
winsup/w32api/include/GL/glext.h
winsup/w32api/include/GL/glu.h
winsup/w32api/include/accctrl.h
winsup/w32api/include/aclapi.h
winsup/w32api/include/aclui.h
winsup/w32api/include/adsprop.h
winsup/w32api/include/afxres.h
winsup/w32api/include/amaudio.h
winsup/w32api/include/amvideo.h
winsup/w32api/include/audevcod.h
winsup/w32api/include/aviriff.h
winsup/w32api/include/aygshell.h
winsup/w32api/include/basetsd.h
winsup/w32api/include/basetyps.h
winsup/w32api/include/bdatypes.h
winsup/w32api/include/cderr.h
winsup/w32api/include/cguid.h
winsup/w32api/include/cmnquery.h
winsup/w32api/include/comcat.h
winsup/w32api/include/commctrl.h
winsup/w32api/include/commdlg.h
winsup/w32api/include/control.h
winsup/w32api/include/cpl.h
winsup/w32api/include/cplext.h
winsup/w32api/include/custcntl.h
winsup/w32api/include/dbt.h
winsup/w32api/include/dde.h
winsup/w32api/include/ddeml.h
winsup/w32api/include/ddk/atm.h
winsup/w32api/include/ddk/batclass.h
winsup/w32api/include/ddk/cfg.h
winsup/w32api/include/ddk/cfgmgr32.h
winsup/w32api/include/ddk/d4drvif.h
winsup/w32api/include/ddk/d4iface.h
winsup/w32api/include/ddk/ddkmapi.h
winsup/w32api/include/ddk/hidclass.h
winsup/w32api/include/ddk/hidpi.h
winsup/w32api/include/ddk/hidsdi.h
winsup/w32api/include/ddk/hidusage.h
winsup/w32api/include/ddk/kbdmou.h
winsup/w32api/include/ddk/mcd.h
winsup/w32api/include/ddk/miniport.h
winsup/w32api/include/ddk/minitape.h
winsup/w32api/include/ddk/mountdev.h
winsup/w32api/include/ddk/mountmgr.h
winsup/w32api/include/ddk/ndis.h
winsup/w32api/include/ddk/ndisguid.h
winsup/w32api/include/ddk/ndistapi.h
winsup/w32api/include/ddk/ndiswan.h
winsup/w32api/include/ddk/netevent.h
winsup/w32api/include/ddk/netpnp.h
winsup/w32api/include/ddk/newdev.h
winsup/w32api/include/ddk/ntapi.h
winsup/w32api/include/ddk/ntdd8042.h
winsup/w32api/include/ddk/ntddbeep.h
winsup/w32api/include/ddk/ntddcdrm.h
winsup/w32api/include/ddk/ntddcdvd.h
winsup/w32api/include/ddk/ntddchgr.h
winsup/w32api/include/ddk/ntdddisk.h
winsup/w32api/include/ddk/ntddk.h
winsup/w32api/include/ddk/ntddkbd.h
winsup/w32api/include/ddk/ntddmou.h
winsup/w32api/include/ddk/ntddndis.h
winsup/w32api/include/ddk/ntddpar.h
winsup/w32api/include/ddk/ntddpcm.h
winsup/w32api/include/ddk/ntddscsi.h
winsup/w32api/include/ddk/ntddser.h
winsup/w32api/include/ddk/ntddstor.h
winsup/w32api/include/ddk/ntddtape.h
winsup/w32api/include/ddk/ntddtdi.h
winsup/w32api/include/ddk/ntddvdeo.h
winsup/w32api/include/ddk/ntddvol.h
winsup/w32api/include/ddk/ntifs.h
winsup/w32api/include/ddk/ntpoapi.h
winsup/w32api/include/ddk/ntstatus.h
winsup/w32api/include/ddk/parallel.h
winsup/w32api/include/ddk/pfhook.h
winsup/w32api/include/ddk/poclass.h
winsup/w32api/include/ddk/scsi.h
winsup/w32api/include/ddk/scsiscan.h
winsup/w32api/include/ddk/scsiwmi.h
winsup/w32api/include/ddk/smbus.h
winsup/w32api/include/ddk/srb.h
winsup/w32api/include/ddk/storport.h
winsup/w32api/include/ddk/tdi.h
winsup/w32api/include/ddk/tdiinfo.h
winsup/w32api/include/ddk/tdikrnl.h
winsup/w32api/include/ddk/tdistat.h
winsup/w32api/include/ddk/tvout.h
winsup/w32api/include/ddk/upssvc.h
winsup/w32api/include/ddk/usb.h
winsup/w32api/include/ddk/usb100.h
winsup/w32api/include/ddk/usbcamdi.h
winsup/w32api/include/ddk/usbdi.h
winsup/w32api/include/ddk/usbioctl.h
winsup/w32api/include/ddk/usbiodef.h
winsup/w32api/include/ddk/usbscan.h
winsup/w32api/include/ddk/usbuser.h
winsup/w32api/include/ddk/video.h
winsup/w32api/include/ddk/videoagp.h
winsup/w32api/include/ddk/win2k.h
winsup/w32api/include/ddk/winddi.h
winsup/w32api/include/ddk/winddk.h
winsup/w32api/include/ddk/winnt4.h
winsup/w32api/include/ddk/winxp.h
winsup/w32api/include/ddk/ws2san.h
winsup/w32api/include/ddk/xfilter.h
winsup/w32api/include/devguid.h
winsup/w32api/include/dhcpcsdk.h
winsup/w32api/include/directx/d3d9.h
winsup/w32api/include/directx/d3d9caps.h
winsup/w32api/include/directx/d3d9types.h
winsup/w32api/include/directx/dxerr8.h
winsup/w32api/include/directx/dxerr9.h
winsup/w32api/include/dlgs.h
winsup/w32api/include/docobj.h
winsup/w32api/include/dsadmin.h
winsup/w32api/include/dsclient.h
winsup/w32api/include/dsgetdc.h
winsup/w32api/include/dshow.h
winsup/w32api/include/dsquery.h
winsup/w32api/include/dsrole.h
winsup/w32api/include/dvdevcod.h
winsup/w32api/include/dvdmedia.h
winsup/w32api/include/edevdefs.h
winsup/w32api/include/errorrep.h
winsup/w32api/include/errors.h
winsup/w32api/include/evcode.h
winsup/w32api/include/exdisp.h
winsup/w32api/include/exdispid.h
winsup/w32api/include/fltdefs.h
winsup/w32api/include/httpext.h
winsup/w32api/include/icm.h
winsup/w32api/include/idispids.h
winsup/w32api/include/il21dec.h
winsup/w32api/include/imagehlp.h
winsup/w32api/include/imm.h
winsup/w32api/include/initguid.h
winsup/w32api/include/intshcut.h
winsup/w32api/include/ipexport.h
winsup/w32api/include/iphlpapi.h
winsup/w32api/include/ipifcons.h
winsup/w32api/include/ipinfoid.h
winsup/w32api/include/iprtrmib.h
winsup/w32api/include/iptypes.h
winsup/w32api/include/ipxconst.h
winsup/w32api/include/ipxrtdef.h
winsup/w32api/include/ipxtfflt.h
winsup/w32api/include/isguids.h
winsup/w32api/include/ks.h
winsup/w32api/include/ksmedia.h
winsup/w32api/include/largeint.h
winsup/w32api/include/lm.h
winsup/w32api/include/lmaccess.h
winsup/w32api/include/lmalert.h
winsup/w32api/include/lmapibuf.h
winsup/w32api/include/lmat.h
winsup/w32api/include/lmaudit.h
winsup/w32api/include/lmbrowsr.h
winsup/w32api/include/lmchdev.h
winsup/w32api/include/lmconfig.h
winsup/w32api/include/lmcons.h
winsup/w32api/include/lmerr.h
winsup/w32api/include/lmerrlog.h
winsup/w32api/include/lmmsg.h
winsup/w32api/include/lmremutl.h
winsup/w32api/include/lmrepl.h
winsup/w32api/include/lmserver.h
winsup/w32api/include/lmshare.h
winsup/w32api/include/lmsname.h
winsup/w32api/include/lmstats.h
winsup/w32api/include/lmsvc.h
winsup/w32api/include/lmuse.h
winsup/w32api/include/lmuseflg.h
winsup/w32api/include/lmwksta.h
winsup/w32api/include/lzexpand.h
winsup/w32api/include/mapi.h
winsup/w32api/include/mciavi.h
winsup/w32api/include/mcx.h
winsup/w32api/include/mgm.h
winsup/w32api/include/mgmtapi.h
winsup/w32api/include/mlang.h
winsup/w32api/include/mmreg.h
winsup/w32api/include/mmsystem.h
winsup/w32api/include/mpegtype.h
winsup/w32api/include/mprapi.h
winsup/w32api/include/mq.h
winsup/w32api/include/msacm.h
winsup/w32api/include/mshtml.h
winsup/w32api/include/mswsock.h
winsup/w32api/include/nb30.h
winsup/w32api/include/nddeapi.h
winsup/w32api/include/nspapi.h
winsup/w32api/include/ntdef.h
winsup/w32api/include/ntdll.h
winsup/w32api/include/ntdsapi.h
winsup/w32api/include/ntdsbcli.h
winsup/w32api/include/ntldap.h
winsup/w32api/include/ntsecapi.h
winsup/w32api/include/ntsecpkg.h
winsup/w32api/include/oaidl.h
winsup/w32api/include/objbase.h
winsup/w32api/include/objfwd.h
winsup/w32api/include/objidl.h
winsup/w32api/include/objsafe.h
winsup/w32api/include/objsel.h
winsup/w32api/include/ocidl.h
winsup/w32api/include/odbcinst.h
winsup/w32api/include/ole.h
winsup/w32api/include/ole2.h
winsup/w32api/include/ole2ver.h
winsup/w32api/include/oleacc.h
winsup/w32api/include/oleauto.h
winsup/w32api/include/olectl.h
winsup/w32api/include/olectlid.h
winsup/w32api/include/oledlg.h
winsup/w32api/include/oleidl.h
winsup/w32api/include/pbt.h
winsup/w32api/include/poppack.h
winsup/w32api/include/powrprof.h
winsup/w32api/include/prsht.h
winsup/w32api/include/psapi.h
winsup/w32api/include/pshpack1.h
winsup/w32api/include/pshpack2.h
winsup/w32api/include/pshpack4.h
winsup/w32api/include/pshpack8.h
winsup/w32api/include/qedit.h
winsup/w32api/include/rapi.h
winsup/w32api/include/ras.h
winsup/w32api/include/rasdlg.h
winsup/w32api/include/raserror.h
winsup/w32api/include/rassapi.h
winsup/w32api/include/reason.h
winsup/w32api/include/regstr.h
winsup/w32api/include/richedit.h
winsup/w32api/include/richole.h
winsup/w32api/include/routprot.h
winsup/w32api/include/rpc.h
winsup/w32api/include/rpcdce.h
winsup/w32api/include/rpcdce2.h
winsup/w32api/include/rpcdcep.h
winsup/w32api/include/rpcndr.h
winsup/w32api/include/rpcnsi.h
winsup/w32api/include/rpcnsip.h
winsup/w32api/include/rpcnterr.h
winsup/w32api/include/rpcproxy.h
winsup/w32api/include/rtutils.h
winsup/w32api/include/schannel.h
winsup/w32api/include/schnlsp.h
winsup/w32api/include/scrnsave.h
winsup/w32api/include/sddl.h
winsup/w32api/include/secext.h
winsup/w32api/include/security.h
winsup/w32api/include/servprov.h
winsup/w32api/include/setupapi.h
winsup/w32api/include/shellapi.h
winsup/w32api/include/shldisp.h
winsup/w32api/include/shlguid.h
winsup/w32api/include/shlobj.h
winsup/w32api/include/shlwapi.h
winsup/w32api/include/snmp.h
winsup/w32api/include/specstrings.h
winsup/w32api/include/sql.h
winsup/w32api/include/sqlext.h
winsup/w32api/include/sqltypes.h
winsup/w32api/include/sqlucode.h
winsup/w32api/include/sspi.h
winsup/w32api/include/stm.h
winsup/w32api/include/strmif.h
winsup/w32api/include/subauth.h
winsup/w32api/include/svcguid.h
winsup/w32api/include/tlhelp32.h
winsup/w32api/include/tmschema.h
winsup/w32api/include/unknwn.h
winsup/w32api/include/userenv.h
winsup/w32api/include/usp10.h
winsup/w32api/include/uxtheme.h
winsup/w32api/include/vfw.h
winsup/w32api/include/vidcap.h
winsup/w32api/include/vmr9.h
winsup/w32api/include/vptype.h
winsup/w32api/include/w32api.h
winsup/w32api/include/winable.h
winsup/w32api/include/winbase.h
winsup/w32api/include/winber.h
winsup/w32api/include/wincon.h
winsup/w32api/include/wincrypt.h
winsup/w32api/include/windef.h
winsup/w32api/include/windns.h
winsup/w32api/include/windows.h
winsup/w32api/include/windowsx.h
winsup/w32api/include/winerror.h
winsup/w32api/include/wingdi.h
winsup/w32api/include/wininet.h
winsup/w32api/include/winioctl.h
winsup/w32api/include/winldap.h
winsup/w32api/include/winnetwk.h
winsup/w32api/include/winnls.h
winsup/w32api/include/winnt.h
winsup/w32api/include/winperf.h
winsup/w32api/include/winreg.h
winsup/w32api/include/winresrc.h
winsup/w32api/include/winsnmp.h
winsup/w32api/include/winsock.h
winsup/w32api/include/winsock2.h
winsup/w32api/include/winspool.h
winsup/w32api/include/winsvc.h
winsup/w32api/include/winuser.h
winsup/w32api/include/winver.h
winsup/w32api/include/ws2spi.h
winsup/w32api/include/ws2tcpip.h
winsup/w32api/include/wsahelp.h
winsup/w32api/include/wsipx.h
winsup/w32api/include/wsnetbs.h
winsup/w32api/include/wtsapi32.h
winsup/w32api/include/wtypes.h
winsup/w32api/include/xprtdefs.h
winsup/w32api/include/zmouse.h
winsup/w32api/install-sh
winsup/w32api/lib/Makefile.in
winsup/w32api/lib/aclui.def
winsup/w32api/lib/advapi32.def
winsup/w32api/lib/ativscp-uuid.c
winsup/w32api/lib/avicap32.def
winsup/w32api/lib/avifil32.def
winsup/w32api/lib/bthprops.def
winsup/w32api/lib/cap.def
winsup/w32api/lib/cguid-uuid.c
winsup/w32api/lib/comcat-uuid.c
winsup/w32api/lib/comctl32.def
winsup/w32api/lib/comdlg32.def
winsup/w32api/lib/crypt32.def
winsup/w32api/lib/ctl3d32.def
winsup/w32api/lib/ddk/Makefile.in
winsup/w32api/lib/ddk/apcups.def
winsup/w32api/lib/ddk/cfgmgr32.def
winsup/w32api/lib/ddk/dxapi.def
winsup/w32api/lib/ddk/hal.def
winsup/w32api/lib/ddk/hid.def
winsup/w32api/lib/ddk/hidparse.def
winsup/w32api/lib/ddk/mcd.def
winsup/w32api/lib/ddk/ndis.def
winsup/w32api/lib/ddk/newdev.def
winsup/w32api/lib/ddk/ntoskrnl.def
winsup/w32api/lib/ddk/scsiport.def
winsup/w32api/lib/ddk/tdi.def
winsup/w32api/lib/ddk/usbcamd.def
winsup/w32api/lib/ddk/usbcamd2.def
winsup/w32api/lib/ddk/videoprt.def
winsup/w32api/lib/ddk/win32k.def
winsup/w32api/lib/devguid.c
winsup/w32api/lib/dhcpcsvc.def
winsup/w32api/lib/directx/Makefile.in
winsup/w32api/lib/directx/d3d8.def
winsup/w32api/lib/directx/d3d9.def
winsup/w32api/lib/directx/d3dim.def
winsup/w32api/lib/directx/d3drm.def
winsup/w32api/lib/directx/d3dx8d.def
winsup/w32api/lib/directx/d3dx9d.def
winsup/w32api/lib/directx/d3dxof.def
winsup/w32api/lib/directx/ddraw.def
winsup/w32api/lib/directx/dinput.def
winsup/w32api/lib/directx/dinput8.def
winsup/w32api/lib/directx/dinput_joy.c
winsup/w32api/lib/directx/dinput_joy2.c
winsup/w32api/lib/directx/dinput_kbd.c
winsup/w32api/lib/directx/dinput_mouse.c
winsup/w32api/lib/directx/dinput_mouse2.c
winsup/w32api/lib/directx/dinput_private.h
winsup/w32api/lib/directx/dmoguids.c
winsup/w32api/lib/directx/dplayx.def
winsup/w32api/lib/directx/dpnaddr.def
winsup/w32api/lib/directx/dpnet.def
winsup/w32api/lib/directx/dpnlobby.def
winsup/w32api/lib/directx/dpvoice.def
winsup/w32api/lib/directx/dsetup.def
winsup/w32api/lib/directx/dsound.def
winsup/w32api/lib/directx/dxerr.c
winsup/w32api/lib/directx/dxerr8.c
winsup/w32api/lib/directx/dxerr8w.c
winsup/w32api/lib/directx/dxerr9.c
winsup/w32api/lib/directx/dxerr9w.c
winsup/w32api/lib/directx/dxguid.c
winsup/w32api/lib/directx/ksproxy.def
winsup/w32api/lib/directx/ksuser.c
winsup/w32api/lib/directx/ksuser.def
winsup/w32api/lib/directx/msdmo.def
winsup/w32api/lib/directx/strmiids.c
winsup/w32api/lib/directx/test.c
winsup/w32api/lib/dlcapi.def
winsup/w32api/lib/dnsapi.def
winsup/w32api/lib/docobj-uuid.c
winsup/w32api/lib/exdisp-uuid.c
winsup/w32api/lib/extras-uuid.c
winsup/w32api/lib/faultrep.def
winsup/w32api/lib/gdi32.def
winsup/w32api/lib/glaux.def
winsup/w32api/lib/glu32.def
winsup/w32api/lib/hlguids-uuid.c
winsup/w32api/lib/hlink-uuid.c
winsup/w32api/lib/icmui.def
winsup/w32api/lib/igmpagnt.def
winsup/w32api/lib/imagehlp.def
winsup/w32api/lib/imm32.def
winsup/w32api/lib/iphlpapi.def
winsup/w32api/lib/kernel32.def
winsup/w32api/lib/largeint.c
winsup/w32api/lib/lz32.def
winsup/w32api/lib/mapi32.def
winsup/w32api/lib/mfcuia32.def
winsup/w32api/lib/mgmtapi.def
winsup/w32api/lib/mlang-uuid.c
winsup/w32api/lib/mpr.def
winsup/w32api/lib/mprapi.def
winsup/w32api/lib/mqrt.def
winsup/w32api/lib/msacm32.def
winsup/w32api/lib/mscms.def
winsup/w32api/lib/mshtml-uuid.c
winsup/w32api/lib/msimg32.def
winsup/w32api/lib/msvcp60.def
winsup/w32api/lib/msvfw32.def
winsup/w32api/lib/mswsock.def
winsup/w32api/lib/msxml-uuid.c
winsup/w32api/lib/nddeapi.def
winsup/w32api/lib/netapi32.def
winsup/w32api/lib/ntdll.def
winsup/w32api/lib/oaidl-uuid.c
winsup/w32api/lib/objidl-uuid.c
winsup/w32api/lib/objsafe-uuid.c
winsup/w32api/lib/ocidl-uuid.c
winsup/w32api/lib/odbc32.def
winsup/w32api/lib/odbccp32.def
winsup/w32api/lib/ole32.def
winsup/w32api/lib/oleacc-uuid.c
winsup/w32api/lib/oleacc.def
winsup/w32api/lib/oleaut32.def
winsup/w32api/lib/olecli32.def
winsup/w32api/lib/olectlid-uuid.c
winsup/w32api/lib/oledlg.def
winsup/w32api/lib/oleidl-uuid.c
winsup/w32api/lib/olepro32.def
winsup/w32api/lib/olesvr32.def
winsup/w32api/lib/opengl32.def
winsup/w32api/lib/penwin32.def
winsup/w32api/lib/pkpd32.def
winsup/w32api/lib/power-uuid.c
winsup/w32api/lib/powrprof.def
winsup/w32api/lib/psapi.def
winsup/w32api/lib/quartz.def
winsup/w32api/lib/rapi.def
winsup/w32api/lib/rasapi32.def
winsup/w32api/lib/rasdlg.def
winsup/w32api/lib/res.rc
winsup/w32api/lib/rpcdce4.def
winsup/w32api/lib/rpcns4.def
winsup/w32api/lib/rpcrt4.def
winsup/w32api/lib/rtm.def
winsup/w32api/lib/rtutils.def
winsup/w32api/lib/scrnsave.c
winsup/w32api/lib/secur32.def
winsup/w32api/lib/servprov-uuid.c
winsup/w32api/lib/setupapi.def
winsup/w32api/lib/shell32.c
winsup/w32api/lib/shell32.def
winsup/w32api/lib/shfolder.def
winsup/w32api/lib/shlwapi.def
winsup/w32api/lib/snmpapi.def
winsup/w32api/lib/svrapi.def
winsup/w32api/lib/tapi32.def
winsup/w32api/lib/test.c
winsup/w32api/lib/th32.def
winsup/w32api/lib/thunk32.def
winsup/w32api/lib/unknwn-uuid.c
winsup/w32api/lib/url.def
winsup/w32api/lib/urlmon-uuid.c
winsup/w32api/lib/user32.def
winsup/w32api/lib/userenv.def
winsup/w32api/lib/usp10.def
winsup/w32api/lib/uxtheme.def
winsup/w32api/lib/vdmdbg.def
winsup/w32api/lib/version.def
winsup/w32api/lib/vfw32.mri
winsup/w32api/lib/win32spl.def
winsup/w32api/lib/wininet.def
winsup/w32api/lib/winmm.def
winsup/w32api/lib/winspool.def
winsup/w32api/lib/winstrm.def
winsup/w32api/lib/wldap32.def
winsup/w32api/lib/wow32.def
winsup/w32api/lib/ws2_32.c
winsup/w32api/lib/ws2_32.def
winsup/w32api/lib/wsnmp32.def
winsup/w32api/lib/wsock32.def
winsup/w32api/lib/wst.def
winsup/w32api/lib/wtsapi32.def
Diffstat (limited to 'winsup/w32api/include/ddk')
79 files changed, 0 insertions, 52400 deletions
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 d92a9edd2..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 4595ce7ad..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 7772b34a8..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 4cbc6fc94..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 10ea48c0c..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 400eac69c..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 dcf13d658..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 d5a7017aa..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 fef88a05d..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 2e61beaa1..000000000 --- a/winsup/w32api/include/ddk/ndis.h +++ /dev/null @@ -1,5317 +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 -#define NDIS_MINIPORT_MAJOR_VERSION 5 -#define NDIS_MINIPORT_MINOR_VERSION 0 -#endif -#endif /* NDIS50_MINIPORT */ - -#if defined(NDIS51_MINIPORT) -#ifndef NDIS51 -#define NDIS51 -#define NDIS_MINIPORT_MAJOR_VERSION 5 -#define NDIS_MINIPORT_MINOR_VERSION 1 -#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; - _ANONYMOUS_UNION union { - _ANONYMOUS_STRUCT struct { - UCHAR MiniportReserved[2 * sizeof(PVOID)]; - UCHAR WrapperReserved[2 * sizeof(PVOID)]; - } DUMMYSTRUCTNAME; - _ANONYMOUS_STRUCT struct { - UCHAR MiniportReservedEx[3 * sizeof(PVOID)]; - UCHAR WrapperReservedEx[sizeof(PVOID)]; - } DUMMYSTRUCTNAME; - _ANONYMOUS_STRUCT struct { - UCHAR MacReserved[4 * sizeof(PVOID)]; - } DUMMYSTRUCTNAME; - } DUMMYUNIONNAME; - 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 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_OFFLOAD_HEADER -{ - ULONG Version; - ULONG Size; - ULONG Reserved; - UCHAR OffsetFirstTask; - NDIS_ENCAPSULATION_FORMAT EncapsulationFormat; -} NDIS_TASK_OFFLOAD_HEADER, *PNDIS_TASK_OFFLOAD_HEADER; - -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 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); - -#define PROTOCOL_RESERVED_SIZE_IN_PACKET (4 * sizeof(PVOID)) - -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 - * NdisGetFirstBufferFromPacketSafe( - * IN PNDIS_PACKET _Packet, - * OUT PNDIS_BUFFER * _FirstBuffer, - * OUT PVOID * _FirstBufferVA, - * OUT PUINT _FirstBufferLength, - * OUT PUINT _TotalBufferLength), - * IN MM_PAGE_PRIORITY _Priority) - */ -#define NdisGetFirstBufferFromPacketSafe(_Packet, \ - _FirstBuffer, \ - _FirstBufferVA, \ - _FirstBufferLength, \ - _TotalBufferLength, \ - _Priority) \ -{ \ - PNDIS_BUFFER _Buffer; \ - \ - _Buffer = (_Packet)->Private.Head; \ - *(_FirstBuffer) = _Buffer; \ - if (_Buffer != NULL) \ - { \ - *(_FirstBufferVA) = MmGetSystemAddressForMdlSafe(_Buffer, _Priority); \ - *(_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 NdisReinitializePacket(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); - -#define NdisMIndicateReceivePacket(_handle, _packets, _number) \ -{ \ - (*((PNDIS_MINIPORT_BLOCK)(_handle))->PacketIndicateHandler)(_handle, _packets, _number); \ -} - -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); - -NTOSAPI -VOID -DDKAPI -NdisSetPacketPoolProtocolId( - /*IN*/ NDIS_HANDLE PacketPoolHandle, - /*IN*/ UINT ProtocolId); - -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 */ - -NTOSAPI -VOID -DDKAPI -NdisMInitializeTimer( - /*IN*/ /*OUT*/ PNDIS_MINIPORT_TIMER Timer, - /*IN*/ NDIS_HANDLE MiniportAdapterHandle, - /*IN*/ PNDIS_TIMER_FUNCTION TimerFunction, - /*IN*/ PVOID FunctionContext); - -NTOSAPI -VOID -DDKAPI -NdisMSetPeriodicTimer( - /*IN*/ PNDIS_MINIPORT_TIMER Timer, - /*IN*/ UINT MillisecondsPeriod); - -NTOSAPI -VOID -DDKAPI -NdisMCancelTimer( - /*IN*/ PNDIS_MINIPORT_TIMER Timer, - /*OUT*/ PBOOLEAN TimerCancelled); - -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 1a8029e33..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 22ea978eb..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 9b4b6d1bb..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 cab4d52fd..000000000 --- a/winsup/w32api/include/ddk/ntapi.h +++ /dev/null @@ -1,4073 +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 -NtSetSystemInformation( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*IN OUT*/ PVOID SystemInformation, - /*IN*/ ULONG SystemInformationLength); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetSystemInformation( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*IN OUT*/ PVOID SystemInformation, - /*IN*/ ULONG SystemInformationLength); - -NTOSAPI -NTSTATUS -NTAPI -NtQuerySystemEnvironmentValue( - /*IN*/ PUNICODE_STRING Name, - /*OUT*/ PVOID Value, - /*IN*/ ULONG ValueLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwQuerySystemEnvironmentValue( - /*IN*/ PUNICODE_STRING Name, - /*OUT*/ PVOID Value, - /*IN*/ ULONG ValueLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtSetSystemEnvironmentValue( - /*IN*/ PUNICODE_STRING Name, - /*IN*/ PUNICODE_STRING Value); - -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); - -NTOSAPI -NTSTATUS -NTAPI -ZwShutdownSystem( - /*IN*/ SHUTDOWN_ACTION Action); - -typedef enum _DEBUG_CONTROL_CODE { - DebugGetTraceInformation = 1, - DebugSetInternalBreakpoint, - DebugSetSpecialCall, - DebugClearSpecialCalls, - DebugQuerySpecialCalls, - DebugDbgBreakPoint, - DebugMaximum -} DEBUG_CONTROL_CODE; - - -NTOSAPI -NTSTATUS -NTAPI -NtSystemDebugControl( - /*IN*/ DEBUG_CONTROL_CODE ControlCode, - /*IN*/ PVOID InputBuffer /*OPTIONAL*/, - /*IN*/ ULONG InputBufferLength, - /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, - /*IN*/ ULONG OutputBufferLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtQueryObject( - /*IN*/ HANDLE ObjectHandle, - /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, - /*OUT*/ PVOID ObjectInformation, - /*IN*/ ULONG ObjectInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtSetInformationObject( - /*IN*/ HANDLE ObjectHandle, - /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, - /*IN*/ PVOID ObjectInformation, - /*IN*/ ULONG ObjectInformationLength); - -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 -NtOpenDirectoryObject( - /*OUT*/ PHANDLE DirectoryHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -ZwOpenDirectoryObject( - /*OUT*/ PHANDLE DirectoryHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryDirectoryObject( - /*IN*/ HANDLE DirectoryHandle, - /*OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength, - /*IN*/ BOOLEAN ReturnSingleEntry, - /*IN*/ BOOLEAN RestartScan, - /*IN OUT*/ PULONG Context, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtCreateSymbolicLinkObject( - /*OUT*/ PHANDLE SymbolicLinkHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PUNICODE_STRING TargetName); - -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 -NtQueryVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress, - /*IN*/ MEMORY_INFORMATION_CLASS MemoryInformationClass, - /*OUT*/ PVOID MemoryInformation, - /*IN*/ ULONG MemoryInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtLockVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG LockSize, - /*IN*/ ULONG LockType); - -NTOSAPI -NTSTATUS -NTAPI -ZwLockVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG LockSize, - /*IN*/ ULONG LockType); - -NTOSAPI -NTSTATUS -NTAPI -NtUnlockVirtualMemory( - /*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 -NtReadVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress, - /*OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwReadVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress, - /*OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtWriteVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress, - /*IN*/ 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 -NtProtectVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG ProtectSize, - /*IN*/ ULONG NewProtect, - /*OUT*/ PULONG OldProtect); - -NTOSAPI -NTSTATUS -NTAPI -ZwProtectVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG ProtectSize, - /*IN*/ ULONG NewProtect, - /*OUT*/ PULONG OldProtect); - -NTOSAPI -NTSTATUS -NTAPI -NtFlushVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG FlushSize, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -ZwFlushVirtualMemory( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG FlushSize, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -NtAllocateUserPhysicalPages( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PULONG NumberOfPages, - /*OUT*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -ZwAllocateUserPhysicalPages( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PULONG NumberOfPages, - /*OUT*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -NtFreeUserPhysicalPages( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -ZwFreeUserPhysicalPages( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -NtMapUserPhysicalPages( - /*IN*/ PVOID BaseAddress, - /*IN*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -ZwMapUserPhysicalPages( - /*IN*/ PVOID BaseAddress, - /*IN*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -NtMapUserPhysicalPagesScatter( - /*IN*/ PVOID *BaseAddresses, - /*IN*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -ZwMapUserPhysicalPagesScatter( - /*IN*/ PVOID *BaseAddresses, - /*IN*/ PULONG NumberOfPages, - /*IN*/ PULONG PageFrameNumbers); - -NTOSAPI -NTSTATUS -NTAPI -NtGetWriteWatch( - /*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 -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 -NtResetWriteWatch( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress, - /*IN*/ ULONG RegionSize); - -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 -NtQuerySection( - /*IN*/ HANDLE SectionHandle, - /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass, - /*OUT*/ PVOID SectionInformation, - /*IN*/ ULONG SectionInformationLength, - /*OUT*/ PULONG ResultLength /*OPTIONAL*/); - -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 -NtExtendSection( - /*IN*/ HANDLE SectionHandle, - /*IN*/ PLARGE_INTEGER SectionSize); - -NTOSAPI -NTSTATUS -NTAPI -ZwExtendSection( - /*IN*/ HANDLE SectionHandle, - /*IN*/ PLARGE_INTEGER SectionSize); - -NTOSAPI -NTSTATUS -NTAPI -NtAreMappedFilesTheSame( - /*IN*/ PVOID Address1, - /*IN*/ PVOID Address2); - -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 -NtCreateThread( - /*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 -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 -NtTerminateThread( - /*IN*/ HANDLE ThreadHandle /*OPTIONAL*/, - /*IN*/ NTSTATUS ExitStatus); - -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); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetInformationThread( - /*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 -NtSuspendThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwSuspendThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtResumeThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwResumeThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtGetContextThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PCONTEXT Context); - -NTOSAPI -NTSTATUS -NTAPI -ZwGetContextThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PCONTEXT Context); - -NTOSAPI -NTSTATUS -NTAPI -NtSetContextThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ PCONTEXT Context); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetContextThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ PCONTEXT Context); - -NTOSAPI -NTSTATUS -NTAPI -NtQueueApcThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ PKNORMAL_ROUTINE ApcRoutine, - /*IN*/ PVOID ApcContext /*OPTIONAL*/, - /*IN*/ PVOID Argument1 /*OPTIONAL*/, - /*IN*/ PVOID Argument2 /*OPTIONAL*/); - -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 -NtTestAlert( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -ZwTestAlert( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -NtAlertThread( - /*IN*/ HANDLE ThreadHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwAlertThread( - /*IN*/ HANDLE ThreadHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtAlertResumeThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwAlertResumeThread( - /*IN*/ HANDLE ThreadHandle, - /*OUT*/ PULONG PreviousSuspendCount /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtRegisterThreadTerminatePort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwRegisterThreadTerminatePort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtImpersonateThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ HANDLE TargetThreadHandle, - /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos); - -NTOSAPI -NTSTATUS -NTAPI -ZwImpersonateThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ HANDLE TargetThreadHandle, - /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos); - -NTOSAPI -NTSTATUS -NTAPI -NtImpersonateAnonymousToken( - /*IN*/ HANDLE ThreadHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwImpersonateAnonymousToken( - /*IN*/ HANDLE ThreadHandle); - - - - -/* Processes */ - -NTOSAPI -NTSTATUS -NTAPI -NtCreateProcess( - /*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 -NtTerminateProcess( - /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, - /*IN*/ NTSTATUS ExitStatus); - -NTOSAPI -NTSTATUS -NTAPI -ZwTerminateProcess( - /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, - /*IN*/ NTSTATUS ExitStatus); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryInformationProcess( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PROCESSINFOCLASS ProcessInformationClass, - /*OUT*/ PVOID ProcessInformation, - /*IN*/ ULONG ProcessInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtCreateJobObject( - /*OUT*/ PHANDLE JobHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -ZwCreateJobObject( - /*OUT*/ PHANDLE JobHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -NtOpenJobObject( - /*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 -NtTerminateJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ NTSTATUS ExitStatus); - -NTOSAPI -NTSTATUS -NTAPI -ZwTerminateJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ NTSTATUS ExitStatus); - -NTOSAPI -NTSTATUS -NTAPI -NtAssignProcessToJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ HANDLE ProcessHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwAssignProcessToJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ HANDLE ProcessHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryInformationJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, - /*OUT*/ PVOID JobInformation, - /*IN*/ ULONG JobInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryInformationJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, - /*OUT*/ PVOID JobInformation, - /*IN*/ ULONG JobInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtSetInformationJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, - /*IN*/ PVOID JobInformation, - /*IN*/ ULONG JobInformationLength); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetInformationJobObject( - /*IN*/ HANDLE JobHandle, - /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, - /*IN*/ PVOID JobInformation, - /*IN*/ ULONG JobInformationLength); - - -/* Tokens */ - -NTOSAPI -NTSTATUS -NTAPI -NtCreateToken( - /*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 -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 -NtFilterToken( - /*IN*/ HANDLE ExistingTokenHandle, - /*IN*/ ULONG Flags, - /*IN*/ PTOKEN_GROUPS SidsToDisable, - /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete, - /*IN*/ PTOKEN_GROUPS SidsToRestricted, - /*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 -NtAdjustGroupsToken( - /*IN*/ HANDLE TokenHandle, - /*IN*/ BOOLEAN ResetToDefault, - /*IN*/ PTOKEN_GROUPS NewState, - /*IN*/ ULONG BufferLength, - /*OUT*/ PTOKEN_GROUPS 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 -NtSetInformationToken( - /*IN*/ HANDLE TokenHandle, - /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, - /*IN*/ PVOID TokenInformation, - /*IN*/ ULONG TokenInformationLength); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetInformationToken( - /*IN*/ HANDLE TokenHandle, - /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, - /*IN*/ PVOID TokenInformation, - /*IN*/ ULONG TokenInformationLength); - - - - -/* Time */ - -NTOSAPI -NTSTATUS -NTAPI -NtQuerySystemTime( - /*OUT*/ PLARGE_INTEGER CurrentTime); - -NTOSAPI -NTSTATUS -NTAPI -ZwQuerySystemTime( - /*OUT*/ PLARGE_INTEGER CurrentTime); - -NTOSAPI -NTSTATUS -NTAPI -NtSetSystemTime( - /*IN*/ PLARGE_INTEGER NewTime, - /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetSystemTime( - /*IN*/ PLARGE_INTEGER NewTime, - /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryPerformanceCounter( - /*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 -NtQueryTimerResolution( - /*OUT*/ PULONG CoarsestResolution, - /*OUT*/ PULONG FinestResolution, - /*OUT*/ PULONG ActualResolution); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryTimerResolution( - /*OUT*/ PULONG CoarsestResolution, - /*OUT*/ PULONG FinestResolution, - /*OUT*/ PULONG ActualResolution); - -NTOSAPI -NTSTATUS -NTAPI -NtDelayExecution( - /*IN*/ BOOLEAN Alertable, - /*IN*/ PLARGE_INTEGER Interval); - -NTOSAPI -NTSTATUS -NTAPI -ZwDelayExecution( - /*IN*/ BOOLEAN Alertable, - /*IN*/ PLARGE_INTEGER Interval); - -NTOSAPI -NTSTATUS -NTAPI -NtYieldExecution( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -ZwYieldExecution( - VOID); - -NTOSAPI -ULONG -NTAPI -NtGetTickCount( - VOID); - -NTOSAPI -ULONG -NTAPI -ZwGetTickCount( - VOID); - - - - -/* Execution profiling */ - -NTOSAPI -NTSTATUS -NTAPI -NtCreateProfile( - /*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 -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 -NtSetIntervalProfile( - /*IN*/ ULONG Interval, - /*IN*/ KPROFILE_SOURCE Source); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetIntervalProfile( - /*IN*/ ULONG Interval, - /*IN*/ KPROFILE_SOURCE Source); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryIntervalProfile( - /*IN*/ KPROFILE_SOURCE Source, - /*OUT*/ PULONG Interval); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryIntervalProfile( - /*IN*/ KPROFILE_SOURCE Source, - /*OUT*/ PULONG Interval); - -NTOSAPI -NTSTATUS -NTAPI -NtStartProfile( - /*IN*/ HANDLE ProfileHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwStartProfile( - /*IN*/ HANDLE ProfileHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtStopProfile( - /*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 -NtCreatePort( - /*OUT*/ PHANDLE PortHandle, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ ULONG MaxDataSize, - /*IN*/ ULONG MaxMessageSize, - /*IN*/ ULONG Reserved); - -NTOSAPI -NTSTATUS -NTAPI -ZwCreatePort( - /*OUT*/ PHANDLE PortHandle, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ ULONG MaxDataSize, - /*IN*/ ULONG MaxMessageSize, - /*IN*/ ULONG Reserved); - -NTOSAPI -NTSTATUS -NTAPI -NtCreateWaitablePort( - /*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 -NtListenPort( - /*IN*/ HANDLE PortHandle, - /*OUT*/ PLPC_MESSAGE Message); - -NTOSAPI -NTSTATUS -NTAPI -ZwListenPort( - /*IN*/ HANDLE PortHandle, - /*OUT*/ PLPC_MESSAGE Message); - -NTOSAPI -NTSTATUS -NTAPI -NtAcceptConnectPort( - /*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 -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 -NtCompleteConnectPort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwCompleteConnectPort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtRequestPort( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE RequestMessage); - -NTOSAPI -NTSTATUS -NTAPI -ZwRequestPort( - /*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 -NtReplyPort( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE ReplyMessage); - -NTOSAPI -NTSTATUS -NTAPI -ZwReplyPort( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE ReplyMessage); - -NTOSAPI -NTSTATUS -NTAPI -NtReplyWaitReplyPort( - /*IN*/ HANDLE PortHandle, - /*IN OUT*/ PLPC_MESSAGE ReplyMessage); - -NTOSAPI -NTSTATUS -NTAPI -ZwReplyWaitReplyPort( - /*IN*/ HANDLE PortHandle, - /*IN OUT*/ PLPC_MESSAGE ReplyMessage); - -NTOSAPI -NTSTATUS -NTAPI -NtReplyWaitReceivePort( - /*IN*/ HANDLE PortHandle, - /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, - /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, - /*OUT*/ PLPC_MESSAGE Message); - -NTOSAPI -NTSTATUS -NTAPI -ZwReplyWaitReceivePort( - /*IN*/ HANDLE PortHandle, - /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, - /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, - /*OUT*/ PLPC_MESSAGE Message); - -NTOSAPI -NTSTATUS -NTAPI -NtReplyWaitReceivePortEx( - /*IN*/ HANDLE PortHandle, - /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, - /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, - /*OUT*/ PLPC_MESSAGE Message, - /*IN*/ PLARGE_INTEGER Timeout); - -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 -NtReadRequestData( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE Message, - /*IN*/ ULONG Index, - /*OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtWriteRequestData( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE Message, - /*IN*/ ULONG Index, - /*IN*/ 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 -NtQueryInformationPort( - /*IN*/ HANDLE PortHandle, - /*IN*/ PORT_INFORMATION_CLASS PortInformationClass, - /*OUT*/ PVOID PortInformation, - /*IN*/ ULONG PortInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/); - -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 -NtImpersonateClientOfPort( - /*IN*/ HANDLE PortHandle, - /*IN*/ PLPC_MESSAGE Message); - -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 -NtFlushBuffersFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -ZwFlushBuffersFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -NtCancelIoFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -ZwCancelIoFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock); - -NTOSAPI -NTSTATUS -NTAPI -NtReadFileScatter( - /*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 -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 -NtWriteFileGather( - /*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 -NtSaveKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwSaveKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtSaveMergedKeys( - /*IN*/ HANDLE KeyHandle1, - /*IN*/ HANDLE KeyHandle2, - /*IN*/ HANDLE FileHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwSaveMergedKeys( - /*IN*/ HANDLE KeyHandle1, - /*IN*/ HANDLE KeyHandle2, - /*IN*/ HANDLE FileHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtRestoreKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle, - /*IN*/ ULONG Flags); - -NTOSAPI -NTSTATUS -NTAPI -ZwRestoreKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle, - /*IN*/ ULONG Flags); - -NTOSAPI -NTSTATUS -NTAPI -NtLoadKey( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -ZwLoadKey( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -NtLoadKey2( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes, - /*IN*/ ULONG Flags); - -NTOSAPI -NTSTATUS -NTAPI -ZwLoadKey2( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes, - /*IN*/ ULONG Flags); - -NTOSAPI -NTSTATUS -NTAPI -NtUnloadKey( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -ZwUnloadKey( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryOpenSubKeys( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*OUT*/ PULONG NumberOfKeys); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryOpenSubKeys( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*OUT*/ PULONG NumberOfKeys); - -NTOSAPI -NTSTATUS -NTAPI -NtReplaceKey( - /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes, - /*IN*/ HANDLE KeyHandle, - /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes); - -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 -NtSetInformationKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ KEY_SET_INFORMATION_CLASS KeyInformationClass, - /*IN*/ PVOID KeyInformation, - /*IN*/ ULONG KeyInformationLength); - -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 -NtNotifyChangeKey( - /*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); - -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 -NtNotifyChangeMultipleKeys( - /*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 -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 -NtQueryMultipleValueKey( - /*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 -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 -NtInitializeRegistry( - /*IN*/ BOOLEAN Setup); - -NTOSAPI -NTSTATUS -NTAPI -ZwInitializeRegistry( - /*IN*/ BOOLEAN Setup); - - - - -/* Security and auditing */ - -NTOSAPI -NTSTATUS -NTAPI -NtPrivilegeCheck( - /*IN*/ HANDLE TokenHandle, - /*IN*/ PPRIVILEGE_SET RequiredPrivileges, - /*OUT*/ PBOOLEAN Result); - -NTOSAPI -NTSTATUS -NTAPI -ZwPrivilegeCheck( - /*IN*/ HANDLE TokenHandle, - /*IN*/ PPRIVILEGE_SET RequiredPrivileges, - /*OUT*/ PBOOLEAN Result); - -NTOSAPI -NTSTATUS -NTAPI -NtPrivilegeObjectAuditAlarm( - /*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 -NtAccessCheck( - /*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 -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 -NtAccessCheckAndAuditAlarm( - /*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 -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 -NtAccessCheckByType( - /*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); - -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 -NtAccessCheckByTypeAndAuditAlarm( - /*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 -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 -NtAccessCheckByTypeResultList( - /*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 -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 -NtAccessCheckByTypeResultListAndAuditAlarm( - /*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 -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 -NtAccessCheckByTypeResultListAndAuditAlarmByHandle( - /*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 -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 -NtOpenObjectAuditAlarm( - /*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 -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 -NtCloseObjectAuditAlarm( - /*IN*/ PUNICODE_STRING SubsystemName, - /*IN*/ PVOID HandleId, - /*IN*/ BOOLEAN GenerateOnClose); - -NTOSAPI -NTSTATUS -NTAPI -ZwCloseObjectAuditAlarm( - /*IN*/ PUNICODE_STRING SubsystemName, - /*IN*/ PVOID HandleId, - /*IN*/ BOOLEAN GenerateOnClose); - -NTOSAPI -NTSTATUS -NTAPI -NtDeleteObjectAuditAlarm( - /*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 -NtPlugPlayControl( - /*IN*/ ULONG ControlCode, - /*IN OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength); - -NTOSAPI -NTSTATUS -NTAPI -ZwPlugPlayControl( - /*IN*/ ULONG ControlCode, - /*IN OUT*/ PVOID Buffer, - /*IN*/ ULONG BufferLength); - -NTOSAPI -NTSTATUS -NTAPI -NtGetPlugPlayEvent( - /*IN*/ ULONG Reserved1, - /*IN*/ ULONG Reserved2, - /*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 -NtRaiseException( - /*IN*/ PEXCEPTION_RECORD ExceptionRecord, - /*IN*/ PCONTEXT Context, - /*IN*/ BOOLEAN SearchFrames); - -NTOSAPI -NTSTATUS -NTAPI -ZwRaiseException( - /*IN*/ PEXCEPTION_RECORD ExceptionRecord, - /*IN*/ PCONTEXT Context, - /*IN*/ BOOLEAN SearchFrames); - -NTOSAPI -NTSTATUS -NTAPI -NtContinue( - /*IN*/ PCONTEXT Context, - /*IN*/ BOOLEAN TestAlert); - -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 -NtSetLowWaitHighThread( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetLowWaitHighThread( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -NtSetHighWaitLowThread( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetHighWaitLowThread( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -NtLoadDriver( - /*IN*/ PUNICODE_STRING DriverServiceName); - -NTOSAPI -NTSTATUS -NTAPI -ZwLoadDriver( - /*IN*/ PUNICODE_STRING DriverServiceName); - -NTOSAPI -NTSTATUS -NTAPI -NtUnloadDriver( - /*IN*/ PUNICODE_STRING DriverServiceName); - -NTOSAPI -NTSTATUS -NTAPI -ZwUnloadDriver( - /*IN*/ PUNICODE_STRING DriverServiceName); - -NTOSAPI -NTSTATUS -NTAPI -NtFlushInstructionCache( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress /*OPTIONAL*/, - /*IN*/ ULONG FlushSize); - -NTOSAPI -NTSTATUS -NTAPI -ZwFlushInstructionCache( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress /*OPTIONAL*/, - /*IN*/ ULONG FlushSize); - -NTOSAPI -NTSTATUS -NTAPI -NtFlushWriteBuffer( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -ZwFlushWriteBuffer( - VOID); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryDefaultLocale( - /*IN*/ BOOLEAN ThreadOrSystem, - /*OUT*/ PLCID Locale); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryDefaultLocale( - /*IN*/ BOOLEAN ThreadOrSystem, - /*OUT*/ PLCID Locale); - -NTOSAPI -NTSTATUS -NTAPI -NtSetDefaultLocale( - /*IN*/ BOOLEAN ThreadOrSystem, - /*IN*/ LCID Locale); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetDefaultLocale( - /*IN*/ BOOLEAN ThreadOrSystem, - /*IN*/ LCID Locale); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryDefaultUILanguage( - /*OUT*/ PLANGID LanguageId); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryDefaultUILanguage( - /*OUT*/ PLANGID LanguageId); - -NTOSAPI -NTSTATUS -NTAPI -NtSetDefaultUILanguage( - /*IN*/ LANGID LanguageId); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetDefaultUILanguage( - /*IN*/ LANGID LanguageId); - -NTOSAPI -NTSTATUS -NTAPI -NtQueryInstallUILanguage( - /*OUT*/ PLANGID 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 -ZwAllocateUuids( - /*OUT*/ PLARGE_INTEGER UuidLastTimeAllocated, - /*OUT*/ PULONG UuidDeltaTime, - /*OUT*/ PULONG UuidSequenceNumber, - /*OUT*/ PUCHAR UuidSeed); - -NTOSAPI -NTSTATUS -NTAPI -NtSetUuidSeed( - /*IN*/ 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 -NtRaiseHardError( - /*IN*/ NTSTATUS Status, - /*IN*/ ULONG NumberOfArguments, - /*IN*/ ULONG StringArgumentsMask, - /*IN*/ PULONG Arguments, - /*IN*/ HARDERROR_RESPONSE_OPTION ResponseOption, - /*OUT*/ PHARDERROR_RESPONSE 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 -NtSetDefaultHardErrorPort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -ZwSetDefaultHardErrorPort( - /*IN*/ HANDLE PortHandle); - -NTOSAPI -NTSTATUS -NTAPI -NtDisplayString( - /*IN*/ PUNICODE_STRING String); - -NTOSAPI -NTSTATUS -NTAPI -ZwDisplayString( - /*IN*/ PUNICODE_STRING String); - -NTOSAPI -NTSTATUS -NTAPI -NtCreatePagingFile( - /*IN*/ PUNICODE_STRING FileName, - /*IN*/ PULARGE_INTEGER InitialSize, - /*IN*/ PULARGE_INTEGER MaximumSize, - /*IN*/ ULONG Reserved); - -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 -ZwAddAtom( - /*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 -ZwFindAtom( - /*IN*/ PWSTR AtomName, - /*IN*/ ULONG AtomNameLength, - /*OUT*/ PRTL_ATOM Atom); - -NTOSAPI -NTSTATUS -NTAPI -NtDeleteAtom( - /*IN*/ RTL_ATOM Atom); - -NTOSAPI -NTSTATUS -NTAPI -ZwDeleteAtom( - /*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*/); - -NTOSAPI -NTSTATUS -NTAPI -ZwQueryInformationAtom( - /*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 -NtSetLdtEntries( - /*IN*/ ULONG Selector1, - /*IN*/ LDT_ENTRY LdtEntry1, - /*IN*/ ULONG Selector2, - /*IN*/ LDT_ENTRY LdtEntry2); - -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); - -NTOSAPI -NTSTATUS -NTAPI -ZwVdmControl( - /*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 9701792a7..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 60a99ef37..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 __declspec(dllimport) -#endif - -#ifndef DECL_EXPORT -#define DECL_EXPORT __declspec(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 fc650750c..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 3612777d1..000000000 --- a/winsup/w32api/include/ddk/ntifs.h +++ /dev/null @@ -1,5359 +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" - -#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_READ_ONLY_VOLUME 0x00080000 -#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000 -#define FILE_SUPPORTS_TRANSACTIONS 0x00200000 -/* Note: These flags only have a meaning starting with Windows 7/2008 R2. - Their absence on older OSes does NOT mean that a filesystem is missing - that property. */ -#define FILE_SUPPORTS_HARD_LINKS 0x00400000 -#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000 -#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000 -#define FILE_SUPPORTS_USN_JOURNAL 0x02000000 - -#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 -NtAdjustPrivilegesToken ( - /*IN*/ HANDLE TokenHandle, - /*IN*/ BOOLEAN DisableAllPrivileges, - /*IN*/ PTOKEN_PRIVILEGES NewState, - /*IN*/ ULONG BufferLength, - /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/, - /*OUT*/ PULONG ReturnLength -); - -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 -NtAlertThread ( - /*IN*/ HANDLE ThreadHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwAlertThread ( - /*IN*/ HANDLE ThreadHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -NtAllocateVirtualMemory ( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN*/ ULONG ZeroBits, - /*IN OUT*/ PULONG RegionSize, - /*IN*/ ULONG AllocationType, - /*IN*/ ULONG Protect -); - -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 -NtAccessCheckAndAuditAlarm ( - /*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 -); - -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 -NtCancelIoFile ( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwCancelIoFile ( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock -); - -#endif /* (VER_PRODUCTBUILD >= 2195) */ - -NTSYSAPI -NTSTATUS -NTAPI -NtClearEvent ( - /*IN*/ HANDLE EventHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwClearEvent ( - /*IN*/ HANDLE EventHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -NtCloseObjectAuditAlarm ( - /*IN*/ PUNICODE_STRING SubsystemName, - /*IN*/ PVOID HandleId, - /*IN*/ BOOLEAN GenerateOnClose -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwCloseObjectAuditAlarm ( - /*IN*/ PUNICODE_STRING SubsystemName, - /*IN*/ PVOID HandleId, - /*IN*/ BOOLEAN GenerateOnClose -); - -NTSYSAPI -NTSTATUS -NTAPI -NtCreateSection ( - /*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 -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 -NtCreateSymbolicLinkObject ( - /*OUT*/ PHANDLE SymbolicLinkHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PUNICODE_STRING TargetName -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwCreateSymbolicLinkObject ( - /*OUT*/ PHANDLE SymbolicLinkHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PUNICODE_STRING TargetName -); - -NTSYSAPI -NTSTATUS -NTAPI -NtDeleteFile ( - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwDeleteFile ( - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -NtDeleteValueKey ( - /*IN*/ HANDLE Handle, - /*IN*/ PUNICODE_STRING Name -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwDeleteValueKey ( - /*IN*/ HANDLE Handle, - /*IN*/ PUNICODE_STRING Name -); - -NTSYSAPI -NTSTATUS -NTAPI -NtDeviceIoControlFile ( - /*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 -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 -NtDisplayString ( - /*IN*/ PUNICODE_STRING String -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwDisplayString ( - /*IN*/ PUNICODE_STRING String -); - -NTSYSAPI -NTSTATUS -NTAPI -NtDuplicateObject ( - /*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 -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 -NtDuplicateToken ( - /*IN*/ HANDLE ExistingTokenHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ BOOLEAN EffectiveOnly, - /*IN*/ TOKEN_TYPE TokenType, - /*OUT*/ PHANDLE NewTokenHandle -); - -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 -NtFlushInstructionCache ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress /*OPTIONAL*/, - /*IN*/ ULONG FlushSize -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwFlushInstructionCache ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PVOID BaseAddress /*OPTIONAL*/, - /*IN*/ ULONG FlushSize -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtFlushVirtualMemory ( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG FlushSize, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock -); - -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 -NtFreeVirtualMemory ( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG RegionSize, - /*IN*/ ULONG FreeType -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwFreeVirtualMemory ( - /*IN*/ HANDLE ProcessHandle, - /*IN OUT*/ PVOID *BaseAddress, - /*IN OUT*/ PULONG RegionSize, - /*IN*/ ULONG FreeType -); - -NTSYSAPI -NTSTATUS -NTAPI -NtFsControlFile ( - /*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 -); - -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 -NtInitiatePowerAction ( - /*IN*/ POWER_ACTION SystemAction, - /*IN*/ SYSTEM_POWER_STATE MinSystemState, - /*IN*/ ULONG Flags, - /*IN*/ BOOLEAN Asynchronous -); - -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 -NtLoadDriver ( - /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */ - /*IN*/ PUNICODE_STRING RegistryPath -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwLoadDriver ( - /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */ - /*IN*/ PUNICODE_STRING RegistryPath -); - -NTSYSAPI -NTSTATUS -NTAPI -NtLoadKey ( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwLoadKey ( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes, - /*IN*/ POBJECT_ATTRIBUTES FileObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -NtNotifyChangeKey ( - /*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 -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 -NtOpenDirectoryObject ( - /*OUT*/ PHANDLE DirectoryHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwOpenDirectoryObject ( - /*OUT*/ PHANDLE DirectoryHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -NtOpenEvent ( - /*OUT*/ PHANDLE EventHandle, - /*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 -NtOpenProcess ( - /*OUT*/ PHANDLE ProcessHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwOpenProcess ( - /*OUT*/ PHANDLE ProcessHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PCLIENT_ID ClientId /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -NtOpenProcessToken ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*OUT*/ PHANDLE TokenHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwOpenProcessToken ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*OUT*/ PHANDLE TokenHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -NtOpenThread ( - /*OUT*/ PHANDLE ThreadHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PCLIENT_ID ClientId -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwOpenThread ( - /*OUT*/ PHANDLE ThreadHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, - /*IN*/ PCLIENT_ID ClientId -); - -NTSYSAPI -NTSTATUS -NTAPI -NtOpenThreadToken ( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ BOOLEAN OpenAsSelf, - /*OUT*/ PHANDLE TokenHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwOpenThreadToken ( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ BOOLEAN OpenAsSelf, - /*OUT*/ PHANDLE TokenHandle -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtPowerInformation ( - /*IN*/ POWER_INFORMATION_LEVEL PowerInformationLevel, - /*IN*/ PVOID InputBuffer /*OPTIONAL*/, - /*IN*/ ULONG InputBufferLength, - /*OUT*/ PVOID OutputBuffer /*OPTIONAL*/, - /*IN*/ ULONG OutputBufferLength -); - -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 -NtPulseEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwPulseEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQueryDefaultLocale ( - /*IN*/ BOOLEAN ThreadOrSystem, - /*OUT*/ PLCID Locale -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwQueryDefaultLocale ( - /*IN*/ BOOLEAN ThreadOrSystem, - /*OUT*/ PLCID Locale -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQueryDirectoryFile ( - /*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 -); - -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 -NtQueryDirectoryObject ( - /*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 -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 -NtQueryEaFile ( - /*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 -); - -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 -NtQueryInformationProcess ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PROCESSINFOCLASS ProcessInformationClass, - /*OUT*/ PVOID ProcessInformation, - /*IN*/ ULONG ProcessInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwQueryInformationProcess ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PROCESSINFOCLASS ProcessInformationClass, - /*OUT*/ PVOID ProcessInformation, - /*IN*/ ULONG ProcessInformationLength, - /*OUT*/ PULONG ReturnLength /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQueryInformationToken ( - /*IN*/ HANDLE TokenHandle, - /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, - /*OUT*/ PVOID TokenInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwQueryInformationToken ( - /*IN*/ HANDLE TokenHandle, - /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, - /*OUT*/ PVOID TokenInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQueryObject ( - /*IN*/ HANDLE ObjectHandle, - /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, - /*OUT*/ PVOID ObjectInformation, - /*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 -NtQuerySection ( - /*IN*/ HANDLE SectionHandle, - /*IN*/ SECTION_INFORMATION_CLASS SectionInformationClass, - /*OUT*/ PVOID SectionInformation, - /*IN*/ ULONG SectionInformationLength, - /*OUT*/ PULONG ResultLength /*OPTIONAL*/ -); - -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 -NtQuerySecurityObject ( - /*IN*/ HANDLE FileHandle, - /*IN*/ SECURITY_INFORMATION SecurityInformation, - /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwQuerySecurityObject ( - /*IN*/ HANDLE FileHandle, - /*IN*/ SECURITY_INFORMATION SecurityInformation, - /*OUT*/ PSECURITY_DESCRIPTOR SecurityDescriptor, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQuerySystemInformation ( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*OUT*/ PVOID SystemInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ReturnLength -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwQuerySystemInformation ( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*OUT*/ PVOID SystemInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ReturnLength -); - -NTSYSAPI -NTSTATUS -NTAPI -NtQueryVolumeInformationFile ( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, - /*OUT*/ PVOID FsInformation, - /*IN*/ ULONG Length, - /*IN*/ FS_INFORMATION_CLASS FsInformationClass -); - -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 -NtReplaceKey ( - /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes, - /*IN*/ HANDLE KeyHandle, - /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwReplaceKey ( - /*IN*/ POBJECT_ATTRIBUTES NewFileObjectAttributes, - /*IN*/ HANDLE KeyHandle, - /*IN*/ POBJECT_ATTRIBUTES OldFileObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -NtResetEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwResetEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtRestoreKey ( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle, - /*IN*/ ULONG Flags -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwRestoreKey ( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle, - /*IN*/ ULONG Flags -); - -#endif /* (VER_PRODUCTBUILD >= 2195) */ - -NTSYSAPI -NTSTATUS -NTAPI -NtSaveKey ( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSaveKey ( - /*IN*/ HANDLE KeyHandle, - /*IN*/ HANDLE FileHandle -); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetDefaultLocale ( - /*IN*/ BOOLEAN ThreadOrSystem, - /*IN*/ LCID Locale -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetDefaultLocale ( - /*IN*/ BOOLEAN ThreadOrSystem, - /*IN*/ LCID Locale -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtSetDefaultUILanguage ( - /*IN*/ LANGID LanguageId -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetDefaultUILanguage ( - /*IN*/ LANGID LanguageId -); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetEaFile ( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, - /*OUT*/ PVOID Buffer, - /*IN*/ ULONG Length -); - -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 -NtSetEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetEvent ( - /*IN*/ HANDLE EventHandle, - /*OUT*/ PULONG PreviousState /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetInformationObject ( - /*IN*/ HANDLE ObjectHandle, - /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, - /*IN*/ PVOID ObjectInformation, - /*IN*/ ULONG ObjectInformationLength -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetInformationObject ( - /*IN*/ HANDLE ObjectHandle, - /*IN*/ OBJECT_INFORMATION_CLASS ObjectInformationClass, - /*IN*/ PVOID ObjectInformation, - /*IN*/ ULONG ObjectInformationLength -); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetInformationProcess ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PROCESSINFOCLASS ProcessInformationClass, - /*IN*/ PVOID ProcessInformation, - /*IN*/ ULONG ProcessInformationLength -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetInformationProcess ( - /*IN*/ HANDLE ProcessHandle, - /*IN*/ PROCESSINFOCLASS ProcessInformationClass, - /*IN*/ PVOID ProcessInformation, - /*IN*/ ULONG ProcessInformationLength -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtSetSecurityObject ( - /*IN*/ HANDLE Handle, - /*IN*/ SECURITY_INFORMATION SecurityInformation, - /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetSecurityObject ( - /*IN*/ HANDLE Handle, - /*IN*/ SECURITY_INFORMATION SecurityInformation, - /*IN*/ PSECURITY_DESCRIPTOR SecurityDescriptor -); - -#endif /* (VER_PRODUCTBUILD >= 2195) */ - -NTSYSAPI -NTSTATUS -NTAPI -NtSetSystemInformation ( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*IN*/ PVOID SystemInformation, - /*IN*/ ULONG Length -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetSystemInformation ( - /*IN*/ SYSTEM_INFORMATION_CLASS SystemInformationClass, - /*IN*/ PVOID SystemInformation, - /*IN*/ ULONG Length -); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetSystemTime ( - /*IN*/ PLARGE_INTEGER NewTime, - /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwSetSystemTime ( - /*IN*/ PLARGE_INTEGER NewTime, - /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/ -); - -#if (VER_PRODUCTBUILD >= 2195) - -NTSYSAPI -NTSTATUS -NTAPI -NtSetVolumeInformationFile ( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, - /*IN*/ PVOID FsInformation, - /*IN*/ ULONG Length, - /*IN*/ FS_INFORMATION_CLASS FsInformationClass -); - -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 -NtTerminateProcess ( - /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, - /*IN*/ NTSTATUS ExitStatus -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwTerminateProcess ( - /*IN*/ HANDLE ProcessHandle /*OPTIONAL*/, - /*IN*/ NTSTATUS ExitStatus -); - -NTSYSAPI -NTSTATUS -NTAPI -NtUnloadDriver ( - /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */ - /*IN*/ PUNICODE_STRING RegistryPath -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwUnloadDriver ( - /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */ - /*IN*/ PUNICODE_STRING RegistryPath -); - -NTSYSAPI -NTSTATUS -NTAPI -NtUnloadKey ( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwUnloadKey ( - /*IN*/ POBJECT_ATTRIBUTES KeyObjectAttributes -); - -NTSYSAPI -NTSTATUS -NTAPI -NtWaitForSingleObject ( - /*IN*/ HANDLE Handle, - /*IN*/ BOOLEAN Alertable, - /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwWaitForSingleObject ( - /*IN*/ HANDLE Handle, - /*IN*/ BOOLEAN Alertable, - /*IN*/ PLARGE_INTEGER Timeout /*OPTIONAL*/ -); - -NTSYSAPI -NTSTATUS -NTAPI -NtWaitForMultipleObjects ( - /*IN*/ ULONG HandleCount, - /*IN*/ PHANDLE Handles, - /*IN*/ WAIT_TYPE WaitType, - /*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 -NtYieldExecution ( - VOID -); - -NTSYSAPI -NTSTATUS -NTAPI -ZwYieldExecution ( - VOID -); - -#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 5173c6538..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 06230b81e..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 1b42bfab4..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 885db66ae..000000000 --- a/winsup/w32api/include/ddk/scsi.h +++ /dev/null @@ -1,1701 +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_TOC formats */ -#define READ_TOC_FORMAT_TOC 0x00 -#define READ_TOC_FORMAT_SESSION 0x01 -#define READ_TOC_FORMAT_FULL_TOC 0x02 -#define READ_TOC_FORMAT_PMA 0x03 -#define READ_TOC_FORMAT_ATIP 0x04 - -/* 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 7aae2a83a..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 a88d39736..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 a93854c88..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 a7df9a1f3..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 1223c265a..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 561a163ff..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 3a0f9de4d..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 f22b0b560..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 52e821221..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, - /*2IN*/ 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 299def284..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 84eadd0ba..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 fefb15def..000000000 --- a/winsup/w32api/include/ddk/winddi.h +++ /dev/null @@ -1,4258 +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 4b8f78226..000000000 --- a/winsup/w32api/include/ddk/winddk.h +++ /dev/null @@ -1,9452 +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 __stdcall -#define DDKFASTAPI __fastcall -#define DDKCDECLAPI __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 - We don't use these unnecessary defines in the w32api headers. Define - them by default since that is what people expect, but allow users - to avoid the pollution. */ -#ifndef _NO_W32_PSEUDO_MODIFIERS -#define IN -#define OUT -#define OPTIONAL -#define UNALLIGNED -#endif - -#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)) - -#ifdef __GNUC__ -static __inline struct _KPCR * KeGetCurrentKPCR( - VOID) -{ - ULONG Value; - - __asm__ __volatile__ ( -#if (__GNUC__ >= 3) - /* support -masm=intel */ - "mov{l} {%%fs:0x18, %0|%0, %%fs:0x18}\n\t" -#else - "movl %%fs:0x18, %0\n\t" -#endif - : "=r" (Value) - : /* no inputs */ - ); - return (struct _KPCR *) Value; -} - -#elif defined( __WATCOMC__ ) - -extern struct _KPCR * KeGetCurrentKPCR( void ); -#pragma aux KeGetCurrentKPCR = \ - "mov eax, fs:[0x18]" \ - value [ eax ]; - -#endif - -/* -** Simple structures -*/ - -typedef LONG KPRIORITY; -typedef UCHAR KIRQL, *PKIRQL; -typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK; -typedef ULONG_PTR 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()->Number) - - -#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*/ LONG VOLATILE *Addend); - -NTOSAPI -LONG -DDKFASTAPI -InterlockedDecrement( - /*IN*/ LONG 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); - -#define RtlStringCbCopyA(dst, dst_len, src) strncpy(dst, src, dst_len)
-#define RtlStringCbPrintfA(args...) snprintf(args)
-#define RtlStringCbVPrintfA(args...) vsnprintf(args)
- -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*/ PVOID Tag /*OPTIONAL*/, - /*IN*/ PCSTR File, - /*IN*/ ULONG Line, - /*IN*/ ULONG RemlockSize); - -/* - * NTSTATUS - * IoAcquireRemoveLock( - * IN PIO_REMOVE_LOCK RemoveLock, - * IN PVOID Tag OPTIONAL) - */ -#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 -VOID -DDKAPI -KeFlushQueuedDpcs(VOID); - -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); - -#define KeMemoryBarrier() asm("mfence;") - -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*/); - -NTOSAPI -VOID -DDKAPI -KeRaiseIrql( - /*IN*/ KIRQL new_irql, - /*OUT*/ PKIRQL old_irql); - -NTOSAPI -VOID -DDKAPI -KeLowerIrql( - /*IN*/ KIRQL irql); - -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 -NtCancelTimer( - /*IN*/ HANDLE TimerHandle, - /*OUT*/ PBOOLEAN CurrentState /*OPTIONAL*/); - -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 -NtCreateDirectoryObject( - /*OUT*/ PHANDLE DirectoryHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -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 -NtCreateFile( - /*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 -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 -NtCreateKey( - /*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 -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 -NtCreateTimer( - /*OUT*/ PHANDLE TimerHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/, - /*IN*/ TIMER_TYPE TimerType); - -NTOSAPI -NTSTATUS -DDKAPI -ZwCreateTimer( - /*OUT*/ PHANDLE TimerHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes /*OPTIONAL*/, - /*IN*/ TIMER_TYPE TimerType); - -NTOSAPI -NTSTATUS -DDKAPI -NtDeleteKey( - /*IN*/ HANDLE KeyHandle); - -NTOSAPI -NTSTATUS -DDKAPI -ZwDeleteKey( - /*IN*/ HANDLE KeyHandle); - -NTOSAPI -NTSTATUS -DDKAPI -NtDeleteValueKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ PUNICODE_STRING ValueName); - -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 -NtEnumerateKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ ULONG Index, - /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass, - /*OUT*/ PVOID KeyInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength); - -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 -NtEnumerateValueKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ ULONG Index, - /*IN*/ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, - /*OUT*/ PVOID KeyValueInformation, - /*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 -NtFlushKey( - /*IN*/ HANDLE KeyHandle); - -NTOSAPI -NTSTATUS -DDKAPI -ZwFlushKey( - /*IN*/ HANDLE KeyHandle); - -NTOSAPI -NTSTATUS -DDKAPI -NtMakeTemporaryObject( - /*IN*/ HANDLE Handle); - -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 -NtOpenKey( - /*OUT*/ PHANDLE KeyHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -DDKAPI -ZwOpenKey( - /*OUT*/ PHANDLE KeyHandle, - /*IN*/ ACCESS_MASK DesiredAccess, - /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes); - -NTOSAPI -NTSTATUS -DDKAPI -NtOpenSection( - /*OUT*/ PHANDLE SectionHandle, - /*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 -NtOpenSymbolicLinkObject( - /*OUT*/ PHANDLE LinkHandle, - /*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 -NtOpenTimer( - /*OUT*/ PHANDLE TimerHandle, - /*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 -NtQueryInformationFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, - /*OUT*/ PVOID FileInformation, - /*IN*/ ULONG Length, - /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); - -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 -NtQueryKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass, - /*OUT*/ PVOID KeyInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength); - -NTOSAPI -NTSTATUS -DDKAPI -ZwQueryKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ KEY_INFORMATION_CLASS KeyInformationClass, - /*OUT*/ PVOID KeyInformation, - /*IN*/ ULONG Length, - /*OUT*/ PULONG ResultLength); - -NTOSAPI -NTSTATUS -DDKAPI -NtQuerySymbolicLinkObject( - /*IN*/ HANDLE LinkHandle, - /*IN OUT*/ PUNICODE_STRING LinkTarget, - /*OUT*/ PULONG ReturnedLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -DDKAPI -ZwQuerySymbolicLinkObject( - /*IN*/ HANDLE LinkHandle, - /*IN OUT*/ PUNICODE_STRING LinkTarget, - /*OUT*/ PULONG ReturnedLength /*OPTIONAL*/); - -NTOSAPI -NTSTATUS -DDKAPI -NtQueryValueKey( - /*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 -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 -NtSetInformationFile( - /*IN*/ HANDLE FileHandle, - /*OUT*/ PIO_STATUS_BLOCK IoStatusBlock, - /*IN*/ PVOID FileInformation, - /*IN*/ ULONG Length, - /*IN*/ FILE_INFORMATION_CLASS FileInformationClass); - -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 -NtSetInformationThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ THREADINFOCLASS ThreadInformationClass, - /*IN*/ PVOID ThreadInformation, - /*IN*/ ULONG ThreadInformationLength); - -NTOSAPI -NTSTATUS -DDKAPI -ZwSetInformationThread( - /*IN*/ HANDLE ThreadHandle, - /*IN*/ THREADINFOCLASS ThreadInformationClass, - /*IN*/ PVOID ThreadInformation, - /*IN*/ ULONG ThreadInformationLength); - -NTOSAPI -NTSTATUS -DDKAPI -NtSetTimer( - /*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 -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 -NtSetValueKey( - /*IN*/ HANDLE KeyHandle, - /*IN*/ PUNICODE_STRING ValueName, - /*IN*/ ULONG TitleIndex /*OPTIONAL*/, - /*IN*/ ULONG Type, - /*IN*/ PVOID Data, - /*IN*/ ULONG DataSize); - -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 b7f6179bf..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 dbb65a49e..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 */ |