mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 01:42:30 +00:00
Import w32api version 2.5 include files
svn path=/trunk/; revision=8283
This commit is contained in:
parent
30e8e2d0b0
commit
1f1b824d08
|
@ -10,7 +10,7 @@ CLT_OBJECTS= lpcclt.o
|
|||
|
||||
PROGS= lpcsrv.exe lpcclt.exe
|
||||
|
||||
BASE_CFLAGS = -I$(PATH_TO_TOP)/include -Wall -Werror
|
||||
CFLAGS = $(STD_CFLAGS)
|
||||
|
||||
LIBS = $(SDK_PATH_LIB)/kernel32.a \
|
||||
$(SDK_PATH_LIB)/ntdll.a
|
||||
|
|
|
@ -10,7 +10,7 @@ CLT_OBJECTS = msclient.o
|
|||
|
||||
PROGS = msserver.exe msclient.exe
|
||||
|
||||
BASE_CFLAGS = -I$(PATH_TO_TOP)/include -Wall -Werror
|
||||
CFLAGS = $(STD_CFLAGS)
|
||||
|
||||
LIBS = $(SDK_PATH_LIB)/kernel32.a \
|
||||
$(SDK_PATH_LIB)/ntdll.a
|
||||
|
|
|
@ -10,7 +10,7 @@ CLT_OBJECTS = npclient.o
|
|||
|
||||
PROGS = npserver.exe npclient.exe
|
||||
|
||||
BASE_CFLAGS = -I$(PATH_TO_TOP)/include -Wall -Werror
|
||||
CFLAGS = $(STD_CFLAGS)
|
||||
|
||||
LIBS = $(SDK_PATH_LIB)/kernel32.a
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ CLT_OBJECTS= shmclt.o
|
|||
|
||||
PROGS= shmsrv.exe shmclt.exe
|
||||
|
||||
BASE_CFLAGS = -I$(PATH_TO_TOP)/include -Werror -Wall
|
||||
CFLAGS = $(STD_CFLAGS)
|
||||
|
||||
LIBS = $(SDK_PATH_LIB)/kernel32.a \
|
||||
$(SDK_PATH_LIB)/ntdll.a
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
/* these should be moved to a file like ntdef.h */
|
||||
|
||||
#ifndef __USE_W32API
|
||||
enum
|
||||
{
|
||||
DIRECTORY_QUERY,
|
||||
|
@ -11,6 +12,7 @@ enum
|
|||
DIRECTORY_CREATE_SUBDIRECTORY,
|
||||
DIRECTORY_ALL_ACCESS,
|
||||
};
|
||||
#endif
|
||||
|
||||
/*
|
||||
* General type for status information
|
||||
|
|
|
@ -1575,10 +1575,12 @@ struct _SYSTEM_QUOTA_INFORMATION
|
|||
|
||||
// directory access rights
|
||||
|
||||
#ifndef __USE_W32API
|
||||
#define DIRECTORY_QUERY 0x0001
|
||||
#define DIRECTORY_TRAVERSE 0x0002
|
||||
#define DIRECTORY_CREATE_OBJECT 0x0004
|
||||
#define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
|
||||
#endif
|
||||
|
||||
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: Makefile,v 1.113 2004/02/02 00:35:24 ekohl Exp $
|
||||
# $Id: Makefile,v 1.114 2004/02/21 09:20:33 gvg Exp $
|
||||
#
|
||||
# ReactOS Operating System
|
||||
#
|
||||
|
@ -52,6 +52,10 @@ endif
|
|||
# require os code to explicitly request A/W version of structs/functions
|
||||
CFLAGS += -D_DISABLE_TIDENTS
|
||||
|
||||
CFLAGS += $(STD_CFLAGS)
|
||||
ASFLAGS += $(STD_ASFLAGS)
|
||||
RCFLAGS += $(STD_RCFLAGS)
|
||||
|
||||
#
|
||||
# Build configuration
|
||||
#
|
||||
|
@ -742,7 +746,7 @@ ke/main.o: ke/main.c $(PATH_TO_TOP)/include/reactos/buildno.h
|
|||
%.o: %.asm
|
||||
$(NASM_CMD) $(NFLAGS) $< -o $@
|
||||
%.coff: %.rc
|
||||
$(RC) $(RCINC) $< -o $@
|
||||
$(RC) $(RCFLAGS) $< -o $@
|
||||
|
||||
#
|
||||
#
|
||||
|
|
|
@ -19,14 +19,6 @@ endif
|
|||
# uncomment if you use bochs and it displays only 30 rows
|
||||
# BOCHS_30ROWS = yes
|
||||
|
||||
ifeq ($(HOST),mingw32-linux)
|
||||
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
|
||||
else
|
||||
TOPDIR := $(shell cd)
|
||||
endif
|
||||
|
||||
TOPDIR := $(TOPDIR)/$(PATH_TO_TOP)
|
||||
|
||||
#
|
||||
# Choose various options
|
||||
#
|
||||
|
@ -86,10 +78,10 @@ CPP = $(PREFIX)cpp
|
|||
AR = $(PREFIX)ar
|
||||
RC = $(PREFIX)windres
|
||||
WRC = $(WINE_TOP)/tools/wrc/wrc
|
||||
RCINC = --include-dir $(PATH_TO_TOP)/include
|
||||
OBJCOPY = $(PREFIX)objcopy
|
||||
OBJDUMP =$(PREFIX)objdump
|
||||
TOOLS_PATH = $(PATH_TO_TOP)/tools
|
||||
W32API_PATH = $(PATH_TO_TOP)/w32api
|
||||
CP = $(TOOLS_PATH)/rcopy
|
||||
RM = $(TOOLS_PATH)/rdel
|
||||
RLINE = $(TOOLS_PATH)/rline
|
||||
|
@ -104,21 +96,10 @@ WINEBUILD = $(TOOLS_PATH)/winebuild/winebuild
|
|||
WINE2ROS = $(TOOLS_PATH)/wine2ros/wine2ros
|
||||
XSLTPROC = xsltproc
|
||||
|
||||
|
||||
# Maybe we can delete these soon
|
||||
|
||||
ifeq ($(HOST),mingw32-linux)
|
||||
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386 -D_M_IX86
|
||||
endif
|
||||
|
||||
ifeq ($(HOST),mingw32-windows)
|
||||
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386 -D_M_IX86
|
||||
endif
|
||||
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
|
||||
ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
|
||||
|
||||
STD_CFLAGS = -I$(PATH_TO_TOP)/include -I$(W32API_PATH)/include -pipe -march=i386 -D_M_IX86
|
||||
STD_CPPFLAGS = $(STD_CFLAGS)
|
||||
STD_ASFLAGS = -I$(PATH_TO_TOP)/include -I$(W32API_PATH)/include -D__ASM__ -D_M_IX86
|
||||
STD_RCFLAGS = --include-dir $(PATH_TO_TOP)/include --include-dir $(W32API_PATH)/include
|
||||
|
||||
# Developer Kits
|
||||
DK_PATH=$(PATH_TO_TOP)/dk
|
||||
|
|
|
@ -15,7 +15,7 @@ TARGET_NAME = cmd
|
|||
|
||||
TARGET_INSTALLDIR = system32
|
||||
|
||||
TARGET_CFLAGS = -D__USE_W32API -DANONYMOUSUNIONS -Wall -Werror -I$(PATH_TO_TOP)/include \
|
||||
TARGET_CFLAGS = -D__USE_W32API -DANONYMOUSUNIONS -Wall -Werror \
|
||||
-I$(PATH_TO_TOP)/include/msvcrt -D_WIN32_WINNT=0x0501
|
||||
|
||||
WINE_MODE = yes
|
||||
|
|
|
@ -32,14 +32,15 @@ EXE_POSTFIX := .exe
|
|||
endif
|
||||
|
||||
PATH_TO_TOP = ../../..
|
||||
W32API_PATH = $(PATH_TO_TOP)/w32api
|
||||
TOOLS_PATH = $(PATH_TO_TOP)/tools
|
||||
|
||||
ifndef UNICODE
|
||||
UNICODE = 1
|
||||
endif
|
||||
|
||||
CFLAGS = -DWIN32 -D_ROS_ -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall
|
||||
RCFLAGS = -DWIN32 -D_ROS_ -D__WINDRES__
|
||||
CFLAGS = -DWIN32 -D_ROS_ -D_WIN32_IE=0x0501 -D_WIN32_WINNT=0x0501 -fexceptions -Wall -I$(W32API_PATH)/include
|
||||
RCFLAGS = -DWIN32 -D_ROS_ -D__WINDRES__ --include-dir $(W32API_PATH)/include
|
||||
LFLAGS = -Wl,--subsystem,windows
|
||||
|
||||
ifdef DEBUG
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
PATH_TO_TOP = ..
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
CFLAGS += -Wall -Werror
|
||||
|
||||
TOOLS = \
|
||||
|
@ -160,5 +162,3 @@ clean:
|
|||
endif
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
|
|
@ -11,7 +11,7 @@ OBJECTS = cabinet.o mszip.o raw.o main.o dfp.o
|
|||
|
||||
CLEAN_FILES = *.o cabman$(EXE_POSTFIX)
|
||||
|
||||
HOST_CFLAGS = -g -I. -I $(PATH_TO_TOP)/lib/zlib -Werror -Wall
|
||||
HOST_CFLAGS = -g -I. -I$(PATH_TO_TOP)/lib/zlib -I$(W32API_PATH)/include -Werror -Wall
|
||||
|
||||
HOST_LFLAGS = -g $(PATH_TO_TOP)/lib/zlib/zlib.host.a
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $Id: helper.mk,v 1.52 2004/02/20 08:33:37 gvg Exp $
|
||||
# $Id: helper.mk,v 1.53 2004/02/21 09:20:33 gvg Exp $
|
||||
#
|
||||
# Helper makefile for ReactOS modules
|
||||
# Variables this makefile accepts:
|
||||
|
@ -119,11 +119,11 @@ ifeq ($(TARGET_TYPE),program)
|
|||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
ifneq ($(WINE_MODE),yes)
|
||||
MK_CFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
else
|
||||
MK_CFLAGS := -I$(PATH_TO_TOP)/include/wine -I./ -I$(WINE_INCLUDE)
|
||||
MK_CPPFLAGS := -I$(PATH_TO_TOP)/include/wine -I./ -I$(WINE_INCLUDE)
|
||||
MK_CFLAGS := -I$(PATH_TO_TOP)/include/wine
|
||||
MK_CPPFLAGS := -I$(PATH_TO_TOP)/include/wine
|
||||
MK_RCFLAGS := --include-dir $(PATH_TO_TOP)/include/wine --include-dir $(WINE_INCLUDE)
|
||||
endif
|
||||
MK_IMPLIB := no
|
||||
|
@ -147,8 +147,8 @@ ifeq ($(TARGET_TYPE),proglib)
|
|||
MK_DEFENTRY := _WinMain@16
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(SDK_PATH_LIB)
|
||||
|
@ -167,8 +167,8 @@ ifeq ($(TARGET_TYPE),dynlink)
|
|||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
ifneq ($(WINE_MODE),yes)
|
||||
MK_CFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
else
|
||||
MK_CFLAGS := -I$(PATH_TO_TOP)/include/wine -I./ -I$(WINE_INCLUDE)
|
||||
MK_CPPFLAGS := -I$(PATH_TO_TOP)/include/wine -I./ -I$(WINE_INCLUDE)
|
||||
|
@ -196,8 +196,8 @@ ifeq ($(TARGET_TYPE),library)
|
|||
MK_DEFENTRY :=
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(SDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH :=
|
||||
|
@ -212,8 +212,8 @@ ifeq ($(TARGET_TYPE),kmlibrary)
|
|||
TARGET_NORC := yes
|
||||
MK_MODE := static
|
||||
MK_DEFEXT := .a
|
||||
MK_CFLAGS := -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -226,8 +226,8 @@ ifeq ($(TARGET_TYPE),driver_library)
|
|||
MK_DEFENTRY :=
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -I./
|
||||
MK_CPPFLAGS := -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := yes
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -245,8 +245,8 @@ ifeq ($(TARGET_TYPE),driver)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS := ntoskrnl.a hal.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH :=
|
||||
|
@ -264,8 +264,8 @@ ifeq ($(TARGET_TYPE),export_driver)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS := ntoskrnl.a hal.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -283,8 +283,8 @@ ifeq ($(TARGET_TYPE),hal)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS := ntoskrnl.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTHAL__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTHAL__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTHAL__ -I./
|
||||
MK_CPPFLAGS := -D__NTHAL__ -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH :=
|
||||
|
@ -302,8 +302,8 @@ ifeq ($(TARGET_TYPE),bootpgm)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH :=
|
||||
|
@ -321,8 +321,8 @@ ifeq ($(TARGET_TYPE),miniport)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := no
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH :=
|
||||
|
@ -340,8 +340,8 @@ ifeq ($(TARGET_TYPE),gdi_driver)
|
|||
MK_DEFENTRY := _DrvEnableDriver@12
|
||||
MK_DDKLIBS := ntoskrnl.a hal.a win32k.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -404,8 +404,8 @@ ifeq ($(TARGET_TYPE),subsystem)
|
|||
MK_DEFENTRY := _DriverEntry@8
|
||||
MK_DDKLIBS := ntoskrnl.a hal.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -422,8 +422,8 @@ ifeq ($(TARGET_TYPE),kmdll)
|
|||
MK_DEFENTRY := 0x0
|
||||
MK_DDKLIBS := ntoskrnl.a hal.a
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./ -I$(DDK_PATH_INC)
|
||||
MK_CFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_CPPFLAGS := -D__NTDRIVER__ -I./
|
||||
MK_IMPLIB := yes
|
||||
MK_IMPLIBONLY := no
|
||||
MK_IMPLIBDEFPATH := $(DDK_PATH_LIB)
|
||||
|
@ -442,7 +442,7 @@ ifeq ($(TARGET_TYPE),winedll)
|
|||
MK_DEFENTRY := _DllMain@12
|
||||
MK_DDKLIBS :=
|
||||
MK_SDKLIBS :=
|
||||
MK_CFLAGS := -D__USE_W32API -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x501 -DWINVER=0x501 -D__need_offsetof -DCOBJMACROS -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/include/wine
|
||||
MK_CFLAGS := -D__USE_W32API -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x501 -DWINVER=0x501 -D__need_offsetof -DCOBJMACROS -I$(PATH_TO_TOP)/include/wine
|
||||
MK_CPPFLAGS := -D__USE_W32API -D_WIN32_IE=0x600 -D_WIN32_WINNT=0x501 -DWINVER=0x501 -D__need_offsetof -DCOBJMACROS -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/include/wine
|
||||
MK_RCFLAGS := --define __USE_W32API --include-dir $(PATH_TO_TOP)/include/wine
|
||||
MK_IMPLIB := yes
|
||||
|
@ -565,22 +565,18 @@ endif
|
|||
include $(PATH_TO_TOP)/config
|
||||
|
||||
|
||||
TARGET_ASFLAGS += -march=$(ARCH) -D$(MK_ARCH_ID)
|
||||
TARGET_CFLAGS += $(MK_CFLAGS)
|
||||
TARGET_CFLAGS += -pipe -march=$(ARCH) -D$(MK_ARCH_ID)
|
||||
TARGET_CFLAGS += $(MK_CFLAGS) $(STD_CFLAGS)
|
||||
ifeq ($(DBG),1)
|
||||
TARGET_ASFLAGS += -g
|
||||
TARGET_CFLAGS += -g
|
||||
TARGET_LFLAGS += -g
|
||||
endif
|
||||
|
||||
TARGET_CPPFLAGS += $(MK_CPPFLAGS)
|
||||
TARGET_CPPFLAGS += -pipe -march=$(ARCH) -D$(MK_ARCH_ID)
|
||||
TARGET_CPPFLAGS += $(MK_CPPFLAGS) $(STD_CPPFLAGS)
|
||||
|
||||
TARGET_RCFLAGS += $(MK_RCFLAGS)
|
||||
TARGET_RCFLAGS += $(MK_RCFLAGS) $(STD_RCFLAGS)
|
||||
|
||||
TARGET_ASFLAGS += $(MK_ASFLAGS)
|
||||
TARGET_ASFLAGS += -pipe -march=$(ARCH)
|
||||
TARGET_ASFLAGS += $(MK_ASFLAGS) $(STD_ASFLAGS)
|
||||
|
||||
TARGET_NFLAGS += $(MK_NFLAGS)
|
||||
|
||||
|
@ -992,7 +988,7 @@ endif # ROS_USE_PCH
|
|||
%.o: %.asm
|
||||
$(NASM_CMD) $(NFLAGS) $(TARGET_NFLAGS) $< -o $@
|
||||
%.coff: %.rc
|
||||
$(RC) $(TARGET_RCFLAGS) $(RCINC) $< -o $@
|
||||
$(RC) $(TARGET_RCFLAGS) $< -o $@
|
||||
%.spec.def: %.spec
|
||||
$(WINEBUILD) $(DEFS) -o $@ --def $<
|
||||
# Kill implicit rule
|
||||
|
|
|
@ -2,13 +2,9 @@
|
|||
# pipetools Makefile
|
||||
#
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
LINK = g++
|
||||
PATH_TO_TOP = ../..
|
||||
|
||||
TOOLS_PATH = ..
|
||||
|
||||
CFLAGS = -DWIN32 -Wall
|
||||
CFLAGS = -DWIN32 -Wall -I$(W32API_PATH)/include
|
||||
RCFLAGS = -DWIN32
|
||||
LFLAGS =
|
||||
|
||||
|
@ -42,3 +38,4 @@ all: $(TARGETS)
|
|||
clean:
|
||||
$(TOOLS_PATH)/rdel $(TARGETS) *.o
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
|
|
@ -20,7 +20,7 @@ OBJECTS = \
|
|||
|
||||
CLEAN_FILES = *.o $(TARGET)
|
||||
|
||||
HOST_CFLAGS = -D__USE_W32API -D__REACTOS__ -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/include/wine
|
||||
HOST_CFLAGS = -D__USE_W32API -D__REACTOS__ -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/include/wine -I$(W32API_PATH)/include
|
||||
|
||||
%.o: %.c
|
||||
$(HOST_CC) $(HOST_CFLAGS) -c $< -o $@
|
||||
|
|
93
reactos/w32api/README.w32api
Normal file
93
reactos/w32api/README.w32api
Normal file
|
@ -0,0 +1,93 @@
|
|||
Free headers and libraries for the Win32 API
|
||||
|
||||
Originally written by Anders Norlander
|
||||
Last known and not working email: <anorland@hem2.passagen.se>
|
||||
|
||||
Now maintained by MinGW Developers
|
||||
Send bug reports and questions to MinGW-users@lists.sourceforge.net
|
||||
URL: http://www.mingw.org
|
||||
|
||||
* License 2.0
|
||||
|
||||
You are free to use, modify and copy this package as long as this
|
||||
README.w32api file is included unmodified with any distribution, source or
|
||||
binary, of this package. No restrictions are imposed on any package or
|
||||
product using or incorporating this package. You are free to license your
|
||||
package as you see fit.
|
||||
|
||||
You may not restrict others freedoms as set forth in the above paragraph.
|
||||
You may distribute this library as part of another package or as a
|
||||
modified package if and only if you do *not* restrict others freedoms as
|
||||
set forth in the above paragraph as it concerns this package. You do have
|
||||
the right to restrict uses of any package using this package.
|
||||
|
||||
This package is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
* What is it?
|
||||
|
||||
This is a free set of headers and import libraries for the Win32
|
||||
API. The library differs from the GNU Windows32 library in that I
|
||||
have tried to use a file structure that mirrors Microsoft's. I
|
||||
don't like having *all* definitions in one single header as in the
|
||||
GNU Windows32 library, I want a clean separation between different
|
||||
parts of the API.
|
||||
|
||||
Daniel Guerrero Miralles contributed the DirectX 6.1 import
|
||||
libraries and DirectX GUID definitions.
|
||||
|
||||
See the files NOTES and TODO for what needs to be done.
|
||||
|
||||
* Size does matter
|
||||
|
||||
Since the WIN32 API is severely bloated (as most MS products seem to
|
||||
be) the headers are designed to be as compact as possible, while
|
||||
still being readable, in order to minimize parsing time.
|
||||
|
||||
The convention is to omit parameter names for function prototypes,
|
||||
no excessive white space. Struct/union members are indented with tab
|
||||
characters to make them readable. Comment only when necessary.
|
||||
|
||||
If you are contributing a patch please follow the above mentioned
|
||||
convention. Make sure your editor does not convert tabs to spaces.
|
||||
|
||||
* What do I need to use it?
|
||||
|
||||
The library is intended for use with egcs 1.1 or later but it is
|
||||
possible to use with some other tools as well (although it is not
|
||||
very useful). LCC-Win32, MSVC and Borland C++ 5.01 or higher may
|
||||
work as well. The import libraries are for GNU tools only.
|
||||
|
||||
The library requires egcs 1.1 or later, since the `#pragma pack'
|
||||
feature is used. Mumit Khan provides egcs patches and binaries for
|
||||
win32 at `http://www.xraylith.wisc.edu/~khan/software/gnu-win32/'.
|
||||
|
||||
If you are going to use C++ COM objects, you will need a version of
|
||||
egcs that recognizes the `comobject' attribute and then define
|
||||
HAVE_COMOBJECT when compiling your program. Antonio Mendes de
|
||||
Oliveira Neto has a prebuilt version at
|
||||
`http://li.facens.br/EGCS-WIN32/english/index.html'. Note that this
|
||||
is very experimental. If you want to use COM objects in C++ but with
|
||||
C interfaces you must define CINTERFACE.
|
||||
|
||||
Objective-C programs cannot use COM functionality because of
|
||||
conflicts between the interface define and the Objective-C
|
||||
@interface directive. There is also a conflict between the windows
|
||||
Obj-C BOOL types. To avoid this conflict you should use WINBOOL in
|
||||
all places where you would use BOOL in a C/C++ windows program. If
|
||||
you include any windows headers *after* `windows.h' you must use the
|
||||
method outlined below:
|
||||
|
||||
/* non-windows includes */
|
||||
#include <objc/objc.h>
|
||||
...
|
||||
/* windows specific headers */
|
||||
#include <windows.h>
|
||||
#define BOOL WINBOOL
|
||||
#include <commctrl.h>
|
||||
...
|
||||
#undef BOOL
|
||||
...
|
||||
/* include other headers */
|
||||
|
1472
reactos/w32api/include/GL/gl.h
Normal file
1472
reactos/w32api/include/GL/gl.h
Normal file
File diff suppressed because it is too large
Load diff
4623
reactos/w32api/include/GL/glext.h
Normal file
4623
reactos/w32api/include/GL/glext.h
Normal file
File diff suppressed because it is too large
Load diff
278
reactos/w32api/include/GL/glu.h
Normal file
278
reactos/w32api/include/GL/glu.h
Normal file
|
@ -0,0 +1,278 @@
|
|||
/*
|
||||
** License Applicability. Except to the extent portions of this file are
|
||||
** made subject to an alternative license as permitted in the SGI Free
|
||||
** Software License B, Version 1.1 (the "License"), the contents of this
|
||||
** file are subject only to the provisions of the License. You may not use
|
||||
** this file except in compliance with the License. You may obtain a copy
|
||||
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
|
||||
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
|
||||
**
|
||||
** http://oss.sgi.com/projects/FreeB
|
||||
**
|
||||
** Note that, as provided in the License, the Software is distributed on an
|
||||
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
|
||||
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
|
||||
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
|
||||
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
|
||||
**
|
||||
** Original Code. The Original Code is: OpenGL Sample Implementation,
|
||||
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
||||
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
|
||||
** Copyright in any portions created by third parties is as indicated
|
||||
** elsewhere herein. All Rights Reserved.
|
||||
**
|
||||
** Additional Notice Provisions: This software was created using the
|
||||
** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
|
||||
** not been independently verified as being compliant with the OpenGL(R)
|
||||
** version 1.2.1 Specification.
|
||||
*/
|
||||
|
||||
#ifndef __glu_h__
|
||||
#define __glu_h__
|
||||
#define _GLU_H
|
||||
#if __GNUC__ >= 3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#include <GL/gl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*************************************************************/
|
||||
|
||||
/* Boolean */
|
||||
#define GLU_FALSE 0
|
||||
#define GLU_TRUE 1
|
||||
|
||||
/* Version */
|
||||
#define GLU_VERSION_1_1 1
|
||||
#define GLU_VERSION_1_2 1
|
||||
|
||||
/* StringName */
|
||||
#define GLU_VERSION 100800
|
||||
#define GLU_EXTENSIONS 100801
|
||||
|
||||
/* ErrorCode */
|
||||
#define GLU_INVALID_ENUM 100900
|
||||
#define GLU_INVALID_VALUE 100901
|
||||
#define GLU_OUT_OF_MEMORY 100902
|
||||
#define GLU_INVALID_OPERATION 100904
|
||||
|
||||
/* NurbsDisplay */
|
||||
/* GLU_FILL */
|
||||
#define GLU_OUTLINE_POLYGON 100240
|
||||
#define GLU_OUTLINE_PATCH 100241
|
||||
|
||||
/* NurbsError */
|
||||
#define GLU_NURBS_ERROR1 100251
|
||||
#define GLU_NURBS_ERROR2 100252
|
||||
#define GLU_NURBS_ERROR3 100253
|
||||
#define GLU_NURBS_ERROR4 100254
|
||||
#define GLU_NURBS_ERROR5 100255
|
||||
#define GLU_NURBS_ERROR6 100256
|
||||
#define GLU_NURBS_ERROR7 100257
|
||||
#define GLU_NURBS_ERROR8 100258
|
||||
#define GLU_NURBS_ERROR9 100259
|
||||
#define GLU_NURBS_ERROR10 100260
|
||||
#define GLU_NURBS_ERROR11 100261
|
||||
#define GLU_NURBS_ERROR12 100262
|
||||
#define GLU_NURBS_ERROR13 100263
|
||||
#define GLU_NURBS_ERROR14 100264
|
||||
#define GLU_NURBS_ERROR15 100265
|
||||
#define GLU_NURBS_ERROR16 100266
|
||||
#define GLU_NURBS_ERROR17 100267
|
||||
#define GLU_NURBS_ERROR18 100268
|
||||
#define GLU_NURBS_ERROR19 100269
|
||||
#define GLU_NURBS_ERROR20 100270
|
||||
#define GLU_NURBS_ERROR21 100271
|
||||
#define GLU_NURBS_ERROR22 100272
|
||||
#define GLU_NURBS_ERROR23 100273
|
||||
#define GLU_NURBS_ERROR24 100274
|
||||
#define GLU_NURBS_ERROR25 100275
|
||||
#define GLU_NURBS_ERROR26 100276
|
||||
#define GLU_NURBS_ERROR27 100277
|
||||
#define GLU_NURBS_ERROR28 100278
|
||||
#define GLU_NURBS_ERROR29 100279
|
||||
#define GLU_NURBS_ERROR30 100280
|
||||
#define GLU_NURBS_ERROR31 100281
|
||||
#define GLU_NURBS_ERROR32 100282
|
||||
#define GLU_NURBS_ERROR33 100283
|
||||
#define GLU_NURBS_ERROR34 100284
|
||||
#define GLU_NURBS_ERROR35 100285
|
||||
#define GLU_NURBS_ERROR36 100286
|
||||
#define GLU_NURBS_ERROR37 100287
|
||||
|
||||
/* NurbsSampling */
|
||||
#define GLU_PATH_LENGTH 100215
|
||||
#define GLU_PARAMETRIC_ERROR 100216
|
||||
#define GLU_DOMAIN_DISTANCE 100217
|
||||
|
||||
/* NurbsTrim */
|
||||
#define GLU_MAP1_TRIM_2 100210
|
||||
#define GLU_MAP1_TRIM_3 100211
|
||||
|
||||
/* QuadricDrawStyle */
|
||||
#define GLU_POINT 100010
|
||||
#define GLU_LINE 100011
|
||||
#define GLU_FILL 100012
|
||||
#define GLU_SILHOUETTE 100013
|
||||
|
||||
/* QuadricCallback */
|
||||
/* GLU_ERROR */
|
||||
|
||||
/* QuadricNormal */
|
||||
#define GLU_SMOOTH 100000
|
||||
#define GLU_FLAT 100001
|
||||
#define GLU_NONE 100002
|
||||
|
||||
/* QuadricOrientation */
|
||||
#define GLU_OUTSIDE 100020
|
||||
#define GLU_INSIDE 100021
|
||||
|
||||
/* TessCallback */
|
||||
#define GLU_TESS_BEGIN 100100
|
||||
#define GLU_BEGIN 100100
|
||||
#define GLU_TESS_VERTEX 100101
|
||||
#define GLU_VERTEX 100101
|
||||
#define GLU_TESS_END 100102
|
||||
#define GLU_END 100102
|
||||
#define GLU_TESS_ERROR 100103
|
||||
#define GLU_TESS_EDGE_FLAG 100104
|
||||
#define GLU_EDGE_FLAG 100104
|
||||
#define GLU_TESS_COMBINE 100105
|
||||
#define GLU_TESS_BEGIN_DATA 100106
|
||||
#define GLU_TESS_VERTEX_DATA 100107
|
||||
#define GLU_TESS_END_DATA 100108
|
||||
#define GLU_TESS_ERROR_DATA 100109
|
||||
#define GLU_TESS_EDGE_FLAG_DATA 100110
|
||||
#define GLU_TESS_COMBINE_DATA 100111
|
||||
|
||||
/* TessContour */
|
||||
#define GLU_CW 100120
|
||||
#define GLU_CCW 100121
|
||||
#define GLU_INTERIOR 100122
|
||||
#define GLU_EXTERIOR 100123
|
||||
#define GLU_UNKNOWN 100124
|
||||
|
||||
/* TessProperty */
|
||||
#define GLU_TESS_WINDING_RULE 100140
|
||||
#define GLU_TESS_BOUNDARY_ONLY 100141
|
||||
#define GLU_TESS_TOLERANCE 100142
|
||||
|
||||
/* TessError */
|
||||
#define GLU_TESS_ERROR1 100151
|
||||
#define GLU_TESS_ERROR2 100152
|
||||
#define GLU_TESS_ERROR3 100153
|
||||
#define GLU_TESS_ERROR4 100154
|
||||
#define GLU_TESS_ERROR5 100155
|
||||
#define GLU_TESS_ERROR6 100156
|
||||
#define GLU_TESS_ERROR7 100157
|
||||
#define GLU_TESS_ERROR8 100158
|
||||
#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
|
||||
#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
|
||||
#define GLU_TESS_MISSING_END_POLYGON 100153
|
||||
#define GLU_TESS_MISSING_END_CONTOUR 100154
|
||||
#define GLU_TESS_COORD_TOO_LARGE 100155
|
||||
#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
|
||||
|
||||
/* TessWinding */
|
||||
#define GLU_TESS_WINDING_ODD 100130
|
||||
#define GLU_TESS_WINDING_NONZERO 100131
|
||||
#define GLU_TESS_WINDING_POSITIVE 100132
|
||||
#define GLU_TESS_WINDING_NEGATIVE 100133
|
||||
#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
|
||||
|
||||
/* Obsolete. For compatibility with previous Sun OpenGL versions */
|
||||
#define GLU_INCOMPATIBLE_GL_VERSION 100903
|
||||
|
||||
|
||||
/*************************************************************/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
class GLUnurbs;
|
||||
class GLUquadric;
|
||||
class GLUtesselator;
|
||||
#else
|
||||
typedef struct GLUnurbs GLUnurbs;
|
||||
typedef struct GLUquadric GLUquadric;
|
||||
typedef struct GLUtesselator GLUtesselator;
|
||||
#endif
|
||||
|
||||
typedef GLUnurbs GLUnurbsObj;
|
||||
typedef GLUquadric GLUquadricObj;
|
||||
typedef GLUtesselator GLUtesselatorObj;
|
||||
typedef GLUtesselator GLUtriangulatorObj;
|
||||
|
||||
#define GLU_TESS_MAX_COORD 1.0e150
|
||||
|
||||
/* Internal convenience typedefs */
|
||||
typedef void (APIENTRY *_GLUfuncptr)();
|
||||
|
||||
GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb);
|
||||
GLAPI void APIENTRY gluBeginPolygon (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluBeginSurface (GLUnurbs* nurb);
|
||||
GLAPI void APIENTRY gluBeginTrim (GLUnurbs* nurb);
|
||||
GLAPI GLint APIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
|
||||
GLAPI GLint APIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
|
||||
GLAPI void APIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
|
||||
GLAPI void APIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
|
||||
GLAPI void APIENTRY gluDeleteQuadric (GLUquadric* quad);
|
||||
GLAPI void APIENTRY gluDeleteTess (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
|
||||
GLAPI void APIENTRY gluEndCurve (GLUnurbs* nurb);
|
||||
GLAPI void APIENTRY gluEndPolygon (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluEndSurface (GLUnurbs* nurb);
|
||||
GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb);
|
||||
GLAPI const GLubyte * APIENTRY gluErrorString (GLenum error);
|
||||
GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);
|
||||
GLAPI void APIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
|
||||
GLAPI const GLubyte * APIENTRY gluGetString (GLenum name);
|
||||
GLAPI void APIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
|
||||
GLAPI void APIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
|
||||
GLAPI void APIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
|
||||
GLAPI GLUnurbs* APIENTRY gluNewNurbsRenderer (void);
|
||||
GLAPI GLUquadric* APIENTRY gluNewQuadric (void);
|
||||
GLAPI GLUtesselator* APIENTRY gluNewTess (void);
|
||||
GLAPI void APIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
|
||||
GLAPI void APIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
GLAPI void APIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
|
||||
GLAPI void APIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
|
||||
GLAPI void APIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
|
||||
GLAPI void APIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
|
||||
GLAPI void APIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
|
||||
GLAPI void APIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
|
||||
GLAPI void APIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
|
||||
GLAPI GLint APIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
|
||||
GLAPI void APIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
|
||||
GLAPI void APIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
GLAPI void APIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
|
||||
GLAPI void APIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
|
||||
GLAPI void APIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
|
||||
GLAPI void APIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
|
||||
GLAPI GLint APIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
|
||||
GLAPI void APIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
|
||||
GLAPI void APIENTRY gluTessBeginContour (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
|
||||
GLAPI void APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
|
||||
GLAPI void APIENTRY gluTessEndContour (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluTessEndPolygon (GLUtesselator* tess);
|
||||
GLAPI void APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
|
||||
GLAPI void APIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
|
||||
GLAPI void APIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
|
||||
GLAPI GLint APIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
|
||||
GLAPI GLint APIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define gluErrorStringWIN gluErrorUnicodeStringEXT
|
||||
#else
|
||||
#define gluErrorStringWIN gluErrorString
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __glu_h__ */
|
329
reactos/w32api/include/accctrl.h
Normal file
329
reactos/w32api/include/accctrl.h
Normal file
|
@ -0,0 +1,329 @@
|
|||
#ifndef _ACCCTRL_H
|
||||
#define _ACCCTRL_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define AccFree LocalFree
|
||||
#define ACTRL_RESERVED 0x00000000
|
||||
#define ACTRL_ACCESS_PROTECTED 0x00000001
|
||||
#define ACTRL_ACCESS_ALLOWED 0x00000001
|
||||
#define ACTRL_ACCESS_DENIED 0x00000002
|
||||
#define ACTRL_AUDIT_SUCCESS 0x00000004
|
||||
#define ACTRL_AUDIT_FAILURE 0x00000008
|
||||
#define ACTRL_SYSTEM_ACCESS 0x04000000
|
||||
#define ACTRL_DELETE 0x08000000
|
||||
#define ACTRL_READ_CONTROL 0x10000000
|
||||
#define ACTRL_CHANGE_ACCESS 0x20000000
|
||||
#define ACTRL_CHANGE_OWNER 0x40000000
|
||||
#define ACTRL_SYNCHRONIZE 0x80000000
|
||||
#define ACTRL_STD_RIGHTS_ALL 0xf8000000
|
||||
|
||||
#define ACTRL_FILE_READ 0x00000001
|
||||
#define ACTRL_FILE_WRITE 0x00000002
|
||||
#define ACTRL_FILE_APPEND 0x00000004
|
||||
#define ACTRL_FILE_READ_PROP 0x00000008
|
||||
#define ACTRL_FILE_WRITE_PROP 0x00000010
|
||||
#define ACTRL_FILE_EXECUTE 0x00000020
|
||||
#define ACTRL_FILE_READ_ATTRIB 0x00000080
|
||||
#define ACTRL_FILE_WRITE_ATTRIB 0x00000100
|
||||
#define ACTRL_FILE_CREATE_PIPE 0x00000200
|
||||
#define ACTRL_DIR_LIST 0x00000001
|
||||
#define ACTRL_DIR_CREATE_OBJECT 0x00000002
|
||||
#define ACTRL_DIR_CREATE_CHILD 0x00000004
|
||||
#define ACTRL_DIR_DELETE_CHILD 0x00000040
|
||||
#define ACTRL_DIR_TRAVERSE 0x00000020
|
||||
#define ACTRL_KERNEL_TERMINATE 0x00000001
|
||||
#define ACTRL_KERNEL_THREAD 0x00000002
|
||||
#define ACTRL_KERNEL_VM 0x00000004
|
||||
#define ACTRL_KERNEL_VM_READ 0x00000008
|
||||
#define ACTRL_KERNEL_VM_WRITE 0x00000010
|
||||
#define ACTRL_KERNEL_DUP_HANDLE 0x00000020
|
||||
#define ACTRL_KERNEL_PROCESS 0x00000040
|
||||
#define ACTRL_KERNEL_SET_INFO 0x00000080
|
||||
#define ACTRL_KERNEL_GET_INFO 0x00000100
|
||||
#define ACTRL_KERNEL_CONTROL 0x00000200
|
||||
#define ACTRL_KERNEL_ALERT 0x00000400
|
||||
#define ACTRL_KERNEL_GET_CONTEXT 0x00000800
|
||||
#define ACTRL_KERNEL_SET_CONTEXT 0x00001000
|
||||
#define ACTRL_KERNEL_TOKEN 0x00002000
|
||||
#define ACTRL_KERNEL_IMPERSONATE 0x00004000
|
||||
#define ACTRL_KERNEL_DIMPERSONATE 0x00008000
|
||||
#define ACTRL_PRINT_SADMIN 0x00000001
|
||||
#define ACTRL_PRINT_SLIST 0x00000002
|
||||
#define ACTRL_PRINT_PADMIN 0x00000004
|
||||
#define ACTRL_PRINT_PUSE 0x00000008
|
||||
#define ACTRL_PRINT_JADMIN 0x00000010
|
||||
#define ACTRL_SVC_GET_INFO 0x00000001
|
||||
#define ACTRL_SVC_SET_INFO 0x00000002
|
||||
#define ACTRL_SVC_STATUS 0x00000004
|
||||
#define ACTRL_SVC_LIST 0x00000008
|
||||
#define ACTRL_SVC_START 0x00000010
|
||||
#define ACTRL_SVC_STOP 0x00000020
|
||||
#define ACTRL_SVC_PAUSE 0x00000040
|
||||
#define ACTRL_SVC_INTERROGATE 0x00000080
|
||||
#define ACTRL_SVC_UCONTROL 0x00000100
|
||||
#define ACTRL_REG_QUERY 0x00000001
|
||||
#define ACTRL_REG_SET 0x00000002
|
||||
#define ACTRL_REG_CREATE_CHILD 0x00000004
|
||||
#define ACTRL_REG_LIST 0x00000008
|
||||
#define ACTRL_REG_NOTIFY 0x00000010
|
||||
#define ACTRL_REG_LINK 0x00000020
|
||||
#define ACTRL_WIN_CLIPBRD 0x00000001
|
||||
#define ACTRL_WIN_GLOBAL_ATOMS 0x00000002
|
||||
#define ACTRL_WIN_CREATE 0x00000004
|
||||
#define ACTRL_WIN_LIST_DESK 0x00000008
|
||||
#define ACTRL_WIN_LIST 0x00000010
|
||||
#define ACTRL_WIN_READ_ATTRIBS 0x00000020
|
||||
#define ACTRL_WIN_WRITE_ATTRIBS 0x00000040
|
||||
#define ACTRL_WIN_SCREEN 0x00000080
|
||||
#define ACTRL_WIN_EXIT 0x00000100
|
||||
#define ACTRL_ACCESS_NO_OPTIONS 0x00000000
|
||||
#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES 0x00000001
|
||||
#define ACCCTRL_DEFAULT_PROVIDERA "Windows NT Access Provider"
|
||||
#define ACCCTRL_DEFAULT_PROVIDERW L"Windows NT Access Provider"
|
||||
#define TRUSTEE_ACCESS_ALLOWED 0x00000001L
|
||||
#define TRUSTEE_ACCESS_READ 0x00000002L
|
||||
#define TRUSTEE_ACCESS_WRITE 0x00000004L
|
||||
#define TRUSTEE_ACCESS_EXPLICIT 0x00000001L
|
||||
#define TRUSTEE_ACCESS_READ_WRITE (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE)
|
||||
#define TRUSTEE_ACCESS_ALL 0xFFFFFFFFL
|
||||
#define NO_INHERITANCE 0x0
|
||||
#define SUB_OBJECTS_ONLY_INHERIT 0x1
|
||||
#define SUB_CONTAINERS_ONLY_INHERIT 0x2
|
||||
#define SUB_CONTAINERS_AND_OBJECTS_INHERIT 0x3
|
||||
#define INHERIT_NO_PROPAGATE 0x4
|
||||
#define INHERIT_ONLY 0x8
|
||||
#define INHERITED_ACCESS_ENTRY 0x10
|
||||
#define INHERITED_PARENT 0x10000000
|
||||
#define INHERITED_GRANDPARENT 0x20000000
|
||||
|
||||
typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS;
|
||||
typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS;
|
||||
|
||||
typedef enum _ACCESS_MODE {
|
||||
NOT_USED_ACCESS = 0,
|
||||
GRANT_ACCESS,
|
||||
SET_ACCESS,
|
||||
DENY_ACCESS,
|
||||
REVOKE_ACCESS,
|
||||
SET_AUDIT_SUCCESS,
|
||||
SET_AUDIT_FAILURE
|
||||
} ACCESS_MODE;
|
||||
typedef enum _SE_OBJECT_TYPE {
|
||||
SE_UNKNOWN_OBJECT_TYPE = 0,
|
||||
SE_FILE_OBJECT,
|
||||
SE_SERVICE,
|
||||
SE_PRINTER,
|
||||
SE_REGISTRY_KEY,
|
||||
SE_LMSHARE,
|
||||
SE_KERNEL_OBJECT,
|
||||
SE_WINDOW_OBJECT,
|
||||
SE_DS_OBJECT,
|
||||
SE_DS_OBJECT_ALL,
|
||||
SE_PROVIDER_DEFINED_OBJECT,
|
||||
SE_WMIGUID_OBJECT,
|
||||
SE_REGISTRY_WOW64_32KEY
|
||||
} SE_OBJECT_TYPE;
|
||||
typedef enum _TRUSTEE_TYPE {
|
||||
TRUSTEE_IS_UNKNOWN,
|
||||
TRUSTEE_IS_USER,
|
||||
TRUSTEE_IS_GROUP,
|
||||
TRUSTEE_IS_DOMAIN,
|
||||
TRUSTEE_IS_ALIAS,
|
||||
TRUSTEE_IS_WELL_KNOWN_GROUP,
|
||||
TRUSTEE_IS_DELETED,
|
||||
TRUSTEE_IS_INVALID,
|
||||
TRUSTEE_IS_COMPUTER
|
||||
} TRUSTEE_TYPE;
|
||||
typedef enum _TRUSTEE_FORM {
|
||||
TRUSTEE_IS_SID,
|
||||
TRUSTEE_IS_NAME,
|
||||
TRUSTEE_BAD_FORM,
|
||||
TRUSTEE_IS_OBJECTS_AND_SID,
|
||||
TRUSTEE_IS_OBJECTS_AND_NAME
|
||||
} TRUSTEE_FORM;
|
||||
typedef enum _MULTIPLE_TRUSTEE_OPERATION {
|
||||
NO_MULTIPLE_TRUSTEE,
|
||||
TRUSTEE_IS_IMPERSONATE
|
||||
} MULTIPLE_TRUSTEE_OPERATION;
|
||||
typedef struct _TRUSTEE_A {
|
||||
struct _TRUSTEE_A *pMultipleTrustee;
|
||||
MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
|
||||
TRUSTEE_FORM TrusteeForm;
|
||||
TRUSTEE_TYPE TrusteeType;
|
||||
LPSTR ptstrName;
|
||||
} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA;
|
||||
typedef struct _TRUSTEE_W {
|
||||
struct _TRUSTEE_W *pMultipleTrustee;
|
||||
MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
|
||||
TRUSTEE_FORM TrusteeForm;
|
||||
TRUSTEE_TYPE TrusteeType;
|
||||
LPWSTR ptstrName;
|
||||
} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW;
|
||||
typedef struct _ACTRL_ACCESS_ENTRYA {
|
||||
TRUSTEE_A Trustee;
|
||||
ULONG fAccessFlags;
|
||||
ACCESS_RIGHTS Access;
|
||||
ACCESS_RIGHTS ProvSpecificAccess;
|
||||
INHERIT_FLAGS Inheritance;
|
||||
LPCSTR lpInheritProperty;
|
||||
} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;
|
||||
typedef struct _ACTRL_ACCESS_ENTRYW {
|
||||
TRUSTEE_W Trustee;
|
||||
ULONG fAccessFlags;
|
||||
ACCESS_RIGHTS Access;
|
||||
ACCESS_RIGHTS ProvSpecificAccess;
|
||||
INHERIT_FLAGS Inheritance;
|
||||
LPCWSTR lpInheritProperty;
|
||||
} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW;
|
||||
typedef struct _ACTRL_ACCESS_ENTRY_LISTA {
|
||||
ULONG cEntries;
|
||||
ACTRL_ACCESS_ENTRYA *pAccessList;
|
||||
} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA;
|
||||
typedef struct _ACTRL_ACCESS_ENTRY_LISTW {
|
||||
ULONG cEntries;
|
||||
ACTRL_ACCESS_ENTRYW *pAccessList;
|
||||
} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW;
|
||||
typedef struct _ACTRL_PROPERTY_ENTRYA {
|
||||
LPCSTR lpProperty;
|
||||
PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
|
||||
ULONG fListFlags;
|
||||
} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA;
|
||||
typedef struct _ACTRL_PROPERTY_ENTRYW {
|
||||
LPCWSTR lpProperty;
|
||||
PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
|
||||
ULONG fListFlags;
|
||||
} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW;
|
||||
typedef struct _ACTRL_ALISTA {
|
||||
ULONG cEntries;
|
||||
PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
|
||||
} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA;
|
||||
typedef struct _ACTRL_ALISTW {
|
||||
ULONG cEntries;
|
||||
PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
|
||||
} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW;
|
||||
typedef struct _TRUSTEE_ACCESSA {
|
||||
LPSTR lpProperty;
|
||||
ACCESS_RIGHTS Access;
|
||||
ULONG fAccessFlags;
|
||||
ULONG fReturnedAccess;
|
||||
} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA;
|
||||
typedef struct _TRUSTEE_ACCESSW {
|
||||
LPWSTR lpProperty;
|
||||
ACCESS_RIGHTS Access;
|
||||
ULONG fAccessFlags;
|
||||
ULONG fReturnedAccess;
|
||||
} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW;
|
||||
typedef struct _ACTRL_OVERLAPPED {
|
||||
_ANONYMOUS_UNION
|
||||
union {
|
||||
PVOID Provider;
|
||||
ULONG Reserved1;
|
||||
} DUMMYUNIONNAME;
|
||||
ULONG Reserved2;
|
||||
HANDLE hEvent;
|
||||
} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED;
|
||||
typedef struct _ACTRL_ACCESS_INFOA {
|
||||
ULONG fAccessPermission;
|
||||
LPSTR lpAccessPermissionName;
|
||||
} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA;
|
||||
typedef struct _ACTRL_ACCESS_INFOW {
|
||||
ULONG fAccessPermission;
|
||||
LPWSTR lpAccessPermissionName;
|
||||
} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW;
|
||||
typedef struct _ACTRL_CONTROL_INFOA {
|
||||
LPSTR lpControlId;
|
||||
LPSTR lpControlName;
|
||||
} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA;
|
||||
typedef struct _ACTRL_CONTROL_INFOW {
|
||||
LPWSTR lpControlId;
|
||||
LPWSTR lpControlName;
|
||||
} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW;
|
||||
typedef struct _EXPLICIT_ACCESS_A {
|
||||
DWORD grfAccessPermissions;
|
||||
ACCESS_MODE grfAccessMode;
|
||||
DWORD grfInheritance;
|
||||
TRUSTEE_A Trustee;
|
||||
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;
|
||||
typedef struct _EXPLICIT_ACCESS_W {
|
||||
DWORD grfAccessPermissions;
|
||||
ACCESS_MODE grfAccessMode;
|
||||
DWORD grfInheritance;
|
||||
TRUSTEE_W Trustee;
|
||||
} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
|
||||
typedef struct _OBJECTS_AND_SID {
|
||||
DWORD ObjectsPresent;
|
||||
GUID ObjectTypeGuid;
|
||||
GUID InheritedObjectTypeGuid;
|
||||
SID * pSid;
|
||||
} OBJECTS_AND_SID, *POBJECTS_AND_SID;
|
||||
typedef struct _OBJECTS_AND_NAME_A {
|
||||
DWORD ObjectsPresent;
|
||||
SE_OBJECT_TYPE ObjectType;
|
||||
LPSTR ObjectTypeName;
|
||||
LPSTR InheritedObjectTypeName;
|
||||
LPSTR ptstrName;
|
||||
} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
|
||||
typedef struct _OBJECTS_AND_NAME_W {
|
||||
DWORD ObjectsPresent;
|
||||
SE_OBJECT_TYPE ObjectType;
|
||||
LPWSTR ObjectTypeName;
|
||||
LPWSTR InheritedObjectTypeName;
|
||||
LPWSTR ptstrName;
|
||||
} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
typedef struct {
|
||||
LONG GenerationGap;
|
||||
LPSTR AncestorName;
|
||||
} INHERITED_FROMA, *PINHERITED_FROMA;
|
||||
typedef struct {
|
||||
LONG GenerationGap;
|
||||
LPWSTR AncestorName;
|
||||
} INHERITED_FROMW, *PINHERITED_FROMW;
|
||||
#endif /* (_WIN32_WINNT >= 0x0501) */
|
||||
|
||||
#ifdef UNICODE
|
||||
#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
|
||||
typedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_;
|
||||
typedef TRUSTEEW TRUSTEE, *PTRUSTEE;
|
||||
typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS;
|
||||
typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
|
||||
typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
|
||||
typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
|
||||
typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT;
|
||||
typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
|
||||
typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
|
||||
typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
|
||||
typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
|
||||
typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
|
||||
#endif
|
||||
#else
|
||||
#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
|
||||
typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
|
||||
typedef TRUSTEEA TRUSTEE, *PTRUSTEE;
|
||||
typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS;
|
||||
typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
|
||||
typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
|
||||
typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
|
||||
typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT;
|
||||
typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
|
||||
typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
|
||||
typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
|
||||
typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
|
||||
typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
|
||||
#endif
|
||||
#endif /* UNICODE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
117
reactos/w32api/include/aclapi.h
Normal file
117
reactos/w32api/include/aclapi.h
Normal file
|
@ -0,0 +1,117 @@
|
|||
#ifndef _ACLAPI_H
|
||||
#define _ACLAPI_H
|
||||
#if __GNUC__ >= 3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
#include <accctrl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
|
||||
VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
|
||||
DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
|
||||
ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
|
||||
DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
|
||||
ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
|
||||
VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
|
||||
VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
|
||||
VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
|
||||
LPSTR,LPSTR,LPSTR);
|
||||
VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
|
||||
LPWSTR,LPWSTR,LPWSTR);
|
||||
VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
|
||||
VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
|
||||
VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
|
||||
VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
|
||||
DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
|
||||
DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
|
||||
DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
|
||||
DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
|
||||
DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
|
||||
DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
|
||||
DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
|
||||
#endif
|
||||
DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
||||
PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
||||
DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
||||
PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
||||
DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
|
||||
PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
|
||||
TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
|
||||
TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
|
||||
LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
|
||||
LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
|
||||
TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
|
||||
TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
|
||||
DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
|
||||
PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
|
||||
DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
|
||||
PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
|
||||
DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
|
||||
DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
|
||||
DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
||||
DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
||||
DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
|
||||
VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD);
|
||||
VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD);
|
||||
VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A);
|
||||
VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W);
|
||||
PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A);
|
||||
PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
|
||||
MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
|
||||
MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define BuildExplicitAccessWithName BuildExplicitAccessWithNameW
|
||||
#define BuildSecurityDescriptor BuildSecurityDescriptorW
|
||||
#define BuildTrusteeWithName BuildTrusteeWithNameW
|
||||
#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW
|
||||
#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW
|
||||
#define BuildTrusteeWithSid BuildTrusteeWithSidW
|
||||
#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW
|
||||
#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW
|
||||
#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW
|
||||
#define GetNamedSecurityInfo GetNamedSecurityInfoW
|
||||
#define GetTrusteeForm GetTrusteeFormW
|
||||
#define GetTrusteeName GetTrusteeNameW
|
||||
#define GetTrusteeType GetTrusteeTypeW
|
||||
#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW
|
||||
#define SetEntriesInAcl SetEntriesInAclW
|
||||
#define SetNamedSecurityInfo SetNamedSecurityInfoW
|
||||
#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameW
|
||||
#define BuildImpersonateTrustee BuildImpersonateTrusteeW
|
||||
#define GetMultipleTrustee GetMultipleTrusteeW
|
||||
#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationW
|
||||
#else
|
||||
#define BuildExplicitAccessWithName BuildExplicitAccessWithNameA
|
||||
#define BuildSecurityDescriptor BuildSecurityDescriptorA
|
||||
#define BuildTrusteeWithName BuildTrusteeWithNameA
|
||||
#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA
|
||||
#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA
|
||||
#define BuildTrusteeWithSid BuildTrusteeWithSidA
|
||||
#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA
|
||||
#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA
|
||||
#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA
|
||||
#define GetNamedSecurityInfo GetNamedSecurityInfoA
|
||||
#define GetTrusteeForm GetTrusteeFormA
|
||||
#define GetTrusteeName GetTrusteeNameA
|
||||
#define GetTrusteeType GetTrusteeTypeA
|
||||
#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA
|
||||
#define SetEntriesInAcl SetEntriesInAclA
|
||||
#define SetNamedSecurityInfo SetNamedSecurityInfoA
|
||||
#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameA
|
||||
#define BuildImpersonateTrustee BuildImpersonateTrusteeA
|
||||
#define GetMultipleTrustee GetMultipleTrusteeA
|
||||
#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA
|
||||
#endif /* UNICODE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
23
reactos/w32api/include/afxres.h
Normal file
23
reactos/w32api/include/afxres.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef _AFXRES_H
|
||||
#define _AFXRES_H
|
||||
#if __GNUC__ >= 3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _WINDOWS_H
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
/* IDC_STATIC is documented in winuser.h, but not defined. */
|
||||
#ifndef IDC_STATIC
|
||||
#define IDC_STATIC (-1)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
119
reactos/w32api/include/basetsd.h
Normal file
119
reactos/w32api/include/basetsd.h
Normal file
|
@ -0,0 +1,119 @@
|
|||
#ifndef _BASETSD_H
|
||||
#define _BASETSD_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
#ifndef __int64
|
||||
#define __int64 long long
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_WIN64)
|
||||
#define __int3264 __int64
|
||||
#define ADDRESS_TAG_BIT 0x40000000000UI64
|
||||
#else /* !_WIN64 */
|
||||
#define __int3264 __int32
|
||||
#define ADDRESS_TAG_BIT 0x80000000UL
|
||||
#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
|
||||
#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
|
||||
#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h))
|
||||
#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
|
||||
#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
|
||||
#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
|
||||
#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
|
||||
#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
|
||||
#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
|
||||
#define IntToPtr( i ) ((VOID*)(INT_PTR)((int)i))
|
||||
#define UIntToPtr( ui ) ((VOID*)(UINT_PTR)((unsigned int)ui))
|
||||
#define LongToPtr( l ) ((VOID*)(LONG_PTR)((long)l))
|
||||
#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul))
|
||||
#endif /* !_WIN64 */
|
||||
|
||||
#define UlongToPtr(ul) ULongToPtr(ul)
|
||||
#define UintToPtr(ui) UIntToPtr(ui)
|
||||
#define MAXUINT_PTR (~((UINT_PTR)0))
|
||||
#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
|
||||
#define MININT_PTR (~MAXINT_PTR)
|
||||
#define MAXULONG_PTR (~((ULONG_PTR)0))
|
||||
#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
|
||||
#define MINLONG_PTR (~MAXLONG_PTR)
|
||||
#define MAXUHALF_PTR ((UHALF_PTR)~0)
|
||||
#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
|
||||
#define MINHALF_PTR (~MAXHALF_PTR)
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
typedef int LONG32, *PLONG32;
|
||||
#ifndef XFree86Server
|
||||
typedef int INT32, *PINT32;
|
||||
#endif /* ndef XFree86Server */
|
||||
typedef unsigned int ULONG32, *PULONG32;
|
||||
typedef unsigned int DWORD32, *PDWORD32;
|
||||
typedef unsigned int UINT32, *PUINT32;
|
||||
|
||||
#if defined(_WIN64)
|
||||
typedef __int64 INT_PTR, *PINT_PTR;
|
||||
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
|
||||
typedef __int64 LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned __int64 HANDLE_PTR;
|
||||
typedef unsigned int UHALF_PTR, *PUHALF_PTR;
|
||||
typedef int HALF_PTR, *PHALF_PTR;
|
||||
|
||||
#if 0 /* TODO when WIN64 is here */
|
||||
inline unsigned long HandleToUlong(const void* h )
|
||||
{ return((unsigned long) h ); }
|
||||
inline long HandleToLong( const void* h )
|
||||
{ return((long) h ); }
|
||||
inline void* LongToHandle( const long h )
|
||||
{ return((void*) (INT_PTR) h ); }
|
||||
inline unsigned long PtrToUlong( const void* p)
|
||||
{ return((unsigned long) p ); }
|
||||
inline unsigned int PtrToUint( const void* p )
|
||||
{ return((unsigned int) p ); }
|
||||
inline unsigned short PtrToUshort( const void* p )
|
||||
{ return((unsigned short) p ); }
|
||||
inline long PtrToLong( const void* p )
|
||||
{ return((long) p ); }
|
||||
inline int PtrToInt( const void* p )
|
||||
{ return((int) p ); }
|
||||
inline short PtrToShort( const void* p )
|
||||
{ return((short) p ); }
|
||||
inline void* IntToPtr( const int i )
|
||||
{ return( (void*)(INT_PTR)i ); }
|
||||
inline void* UIntToPtr(const unsigned int ui)
|
||||
{ return( (void*)(UINT_PTR)ui ); }
|
||||
inline void* LongToPtr( const long l )
|
||||
{ return( (void*)(LONG_PTR)l ); }
|
||||
inline void* ULongToPtr( const unsigned long ul )
|
||||
{ return( (void*)(ULONG_PTR)ul ); }
|
||||
#endif /* 0_ */
|
||||
|
||||
#else /* !_WIN64 */
|
||||
typedef int INT_PTR, *PINT_PTR;
|
||||
typedef unsigned int UINT_PTR, *PUINT_PTR;
|
||||
typedef long LONG_PTR, *PLONG_PTR;
|
||||
typedef unsigned long ULONG_PTR, *PULONG_PTR;
|
||||
typedef unsigned short UHALF_PTR, *PUHALF_PTR;
|
||||
typedef short HALF_PTR, *PHALF_PTR;
|
||||
typedef unsigned long HANDLE_PTR;
|
||||
#endif /* !_WIN64 */
|
||||
|
||||
typedef ULONG_PTR SIZE_T, *PSIZE_T;
|
||||
typedef LONG_PTR SSIZE_T, *PSSIZE_T;
|
||||
typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
|
||||
typedef __int64 LONG64, *PLONG64;
|
||||
typedef __int64 INT64, *PINT64;
|
||||
typedef unsigned __int64 ULONG64, *PULONG64;
|
||||
typedef unsigned __int64 DWORD64, *PDWORD64;
|
||||
typedef unsigned __int64 UINT64, *PUINT64;
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* !RC_INVOKED */
|
||||
|
||||
#endif /* _BASETSD_H */
|
166
reactos/w32api/include/basetyps.h
Normal file
166
reactos/w32api/include/basetyps.h
Normal file
|
@ -0,0 +1,166 @@
|
|||
#ifndef _BASETYPS_H
|
||||
#define _BASETYPS_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifndef __OBJC__
|
||||
# ifdef __cplusplus
|
||||
# define EXTERN_C extern "C"
|
||||
# else
|
||||
# define EXTERN_C extern
|
||||
# endif /* __cplusplus */
|
||||
# ifndef __int64
|
||||
# define __int64 long long
|
||||
# endif
|
||||
# ifndef __int32
|
||||
# define __int32 long
|
||||
# endif
|
||||
# ifndef __int16
|
||||
# define __int16 int
|
||||
# endif
|
||||
# ifndef __int8
|
||||
# define __int8 char
|
||||
# endif
|
||||
# ifndef __small
|
||||
# define __small char
|
||||
# endif
|
||||
# ifndef __hyper
|
||||
# define __hyper long long
|
||||
# endif
|
||||
# define STDMETHODCALLTYPE __stdcall
|
||||
# define STDMETHODVCALLTYPE __cdecl
|
||||
# define STDAPICALLTYPE __stdcall
|
||||
# define STDAPIVCALLTYPE __cdecl
|
||||
# define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
|
||||
# define STDAPI_(t) EXTERN_C t STDAPICALLTYPE
|
||||
# define STDMETHODIMP HRESULT STDMETHODCALLTYPE
|
||||
# define STDMETHODIMP_(t) t STDMETHODCALLTYPE
|
||||
# define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||
# define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
|
||||
# define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||
# define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
|
||||
# define interface struct
|
||||
# if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
# define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m
|
||||
# define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m
|
||||
# define PURE =0
|
||||
# define THIS_
|
||||
# define THIS void
|
||||
/*
|
||||
__attribute__((com_interface)) is obsolete in __GNUC__ >= 3
|
||||
g++ vtables are now COM-compatible by default
|
||||
*/
|
||||
# if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
|
||||
# define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i
|
||||
# define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b
|
||||
# else
|
||||
# define DECLARE_INTERFACE(i) interface i
|
||||
# define DECLARE_INTERFACE_(i,b) interface i : public b
|
||||
# endif
|
||||
# else
|
||||
# define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m)
|
||||
# define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m)
|
||||
# define PURE
|
||||
# define THIS_ INTERFACE *,
|
||||
# define THIS INTERFACE *
|
||||
# ifndef CONST_VTABLE
|
||||
# define CONST_VTABLE
|
||||
# endif
|
||||
# define DECLARE_INTERFACE(i) \
|
||||
typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
|
||||
typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
|
||||
CONST_VTABLE struct i##Vtbl
|
||||
# define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
|
||||
# endif
|
||||
# define BEGIN_INTERFACE
|
||||
# define END_INTERFACE
|
||||
|
||||
# define FWD_DECL(i) typedef interface i i
|
||||
# if defined(__cplusplus) && !defined(CINTERFACE)
|
||||
# define IENUM_THIS(T)
|
||||
# define IENUM_THIS_(T)
|
||||
# else
|
||||
# define IENUM_THIS(T) T*
|
||||
# define IENUM_THIS_(T) T*,
|
||||
# endif
|
||||
# define DECLARE_ENUMERATOR_(I,T) \
|
||||
DECLARE_INTERFACE_(I,IUnknown) \
|
||||
{ \
|
||||
STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \
|
||||
STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \
|
||||
STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \
|
||||
STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \
|
||||
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
|
||||
}
|
||||
# define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
|
||||
|
||||
#endif /* __OBJC__ */
|
||||
|
||||
#ifdef _GUID_DEFINED
|
||||
# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
|
||||
#endif
|
||||
|
||||
#if ! (defined _GUID_DEFINED || defined GUID_DEFINED) /* also defined in winnt.h */
|
||||
#define GUID_DEFINED
|
||||
typedef struct _GUID
|
||||
{
|
||||
unsigned long Data1;
|
||||
unsigned short Data2;
|
||||
unsigned short Data3;
|
||||
unsigned char Data4[8];
|
||||
} GUID,*REFGUID,*LPGUID;
|
||||
#endif /* GUID_DEFINED */
|
||||
#ifndef UUID_DEFINED
|
||||
#define UUID_DEFINED
|
||||
typedef GUID UUID;
|
||||
#endif /* UUID_DEFINED */
|
||||
typedef GUID IID;
|
||||
typedef GUID CLSID;
|
||||
typedef CLSID *LPCLSID;
|
||||
typedef IID *LPIID;
|
||||
typedef IID *REFIID;
|
||||
typedef CLSID *REFCLSID;
|
||||
typedef GUID FMTID;
|
||||
typedef FMTID *REFFMTID;
|
||||
typedef unsigned long error_status_t;
|
||||
#define uuid_t UUID
|
||||
typedef unsigned long PROPID;
|
||||
|
||||
#ifndef _REFGUID_DEFINED
|
||||
#if defined (__cplusplus) && !defined (CINTERFACE)
|
||||
#define REFGUID const GUID&
|
||||
#define REFIID const IID&
|
||||
#define REFCLSID const CLSID&
|
||||
#else
|
||||
#define REFGUID const GUID* const
|
||||
#define REFIID const IID* const
|
||||
#define REFCLSID const CLSID* const
|
||||
#endif
|
||||
#define _REFGUID_DEFINED
|
||||
#define _REFIID_DEFINED
|
||||
#define _REFCLSID_DEFINED
|
||||
#endif
|
||||
#ifndef GUID_SECTION
|
||||
#define GUID_SECTION ".text"
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
#define GUID_SECT __attribute__ ((section (GUID_SECTION)))
|
||||
#else
|
||||
#define GUID_SECT
|
||||
#endif
|
||||
#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus))
|
||||
#define GUID_EXT EXTERN_C
|
||||
#else
|
||||
#define GUID_EXT
|
||||
#endif
|
||||
#ifdef INITGUID
|
||||
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
|
||||
#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
#else
|
||||
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
|
||||
#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
|
||||
#endif
|
||||
#endif
|
44
reactos/w32api/include/cderr.h
Normal file
44
reactos/w32api/include/cderr.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef _CDERR_H
|
||||
#define _CDERR_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define CDERR_DIALOGFAILURE 0xFFFF
|
||||
#define CDERR_GENERALCODES 0x0000
|
||||
#define CDERR_STRUCTSIZE 0x0001
|
||||
#define CDERR_INITIALIZATION 0x0002
|
||||
#define CDERR_NOTEMPLATE 0x0003
|
||||
#define CDERR_NOHINSTANCE 0x0004
|
||||
#define CDERR_LOADSTRFAILURE 0x0005
|
||||
#define CDERR_FINDRESFAILURE 0x0006
|
||||
#define CDERR_LOADRESFAILURE 0x0007
|
||||
#define CDERR_LOCKRESFAILURE 0x0008
|
||||
#define CDERR_MEMALLOCFAILURE 0x0009
|
||||
#define CDERR_MEMLOCKFAILURE 0x000A
|
||||
#define CDERR_NOHOOK 0x000B
|
||||
#define CDERR_REGISTERMSGFAIL 0x000C
|
||||
#define PDERR_PRINTERCODES 0x1000
|
||||
#define PDERR_SETUPFAILURE 0x1001
|
||||
#define PDERR_PARSEFAILURE 0x1002
|
||||
#define PDERR_RETDEFFAILURE 0x1003
|
||||
#define PDERR_LOADDRVFAILURE 0x1004
|
||||
#define PDERR_GETDEVMODEFAIL 0x1005
|
||||
#define PDERR_INITFAILURE 0x1006
|
||||
#define PDERR_NODEVICES 0x1007
|
||||
#define PDERR_NODEFAULTPRN 0x1008
|
||||
#define PDERR_DNDMMISMATCH 0x1009
|
||||
#define PDERR_CREATEICFAILURE 0x100A
|
||||
#define PDERR_PRINTERNOTFOUND 0x100B
|
||||
#define PDERR_DEFAULTDIFFERENT 0x100C
|
||||
#define CFERR_CHOOSEFONTCODES 0x2000
|
||||
#define CFERR_NOFONTS 0x2001
|
||||
#define CFERR_MAXLESSTHANMIN 0x2002
|
||||
#define FNERR_FILENAMECODES 0x3000
|
||||
#define FNERR_SUBCLASSFAILURE 0x3001
|
||||
#define FNERR_INVALIDFILENAME 0x3002
|
||||
#define FNERR_BUFFERTOOSMALL 0x3003
|
||||
#define FRERR_FINDREPLACECODES 0x4000
|
||||
#define FRERR_BUFFERLENGTHZERO 0x4001
|
||||
#define CCERR_CHOOSECOLORCODES 0x5000
|
||||
#endif
|
83
reactos/w32api/include/cguid.h
Normal file
83
reactos/w32api/include/cguid.h
Normal file
|
@ -0,0 +1,83 @@
|
|||
#ifndef _CGUID_H
|
||||
#define _CGUID_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
extern const IID GUID_NULL;
|
||||
extern const IID IID_IRpcChannel;
|
||||
extern const IID IID_IRpcStub;
|
||||
extern const IID IID_IStubManager;
|
||||
extern const IID IID_IRpcProxy;
|
||||
extern const IID IID_IProxyManager;
|
||||
extern const IID IID_IPSFactory;
|
||||
extern const IID IID_IInternalMoniker;
|
||||
extern const IID IID_IDfReserved1;
|
||||
extern const IID IID_IDfReserved2;
|
||||
extern const IID IID_IDfReserved3;
|
||||
extern const CLSID CLSID_StdMarshal;
|
||||
extern const IID IID_IStub;
|
||||
extern const IID IID_IProxy;
|
||||
extern const IID IID_IEnumGeneric;
|
||||
extern const IID IID_IEnumHolder;
|
||||
extern const IID IID_IEnumCallback;
|
||||
extern const IID IID_IOleManager;
|
||||
extern const IID IID_IOlePresObj;
|
||||
extern const IID IID_IDebug;
|
||||
extern const IID IID_IDebugStream;
|
||||
extern const CLSID CLSID_PSGenObject;
|
||||
extern const CLSID CLSID_PSClientSite;
|
||||
extern const CLSID CLSID_PSClassObject;
|
||||
extern const CLSID CLSID_PSInPlaceActive;
|
||||
extern const CLSID CLSID_PSInPlaceFrame;
|
||||
extern const CLSID CLSID_PSDragDrop;
|
||||
extern const CLSID CLSID_PSBindCtx;
|
||||
extern const CLSID CLSID_PSEnumerators;
|
||||
extern const CLSID CLSID_StaticMetafile;
|
||||
extern const CLSID CLSID_StaticDib;
|
||||
extern const CLSID CID_CDfsVolume;
|
||||
extern const CLSID CLSID_CCDFormKrnl;
|
||||
extern const CLSID CLSID_CCDPropertyPage;
|
||||
extern const CLSID CLSID_CCDFormDialog;
|
||||
extern const CLSID CLSID_CCDCommandButton;
|
||||
extern const CLSID CLSID_CCDComboBox;
|
||||
extern const CLSID CLSID_CCDTextBox;
|
||||
extern const CLSID CLSID_CCDCheckBox;
|
||||
extern const CLSID CLSID_CCDLabel;
|
||||
extern const CLSID CLSID_CCDOptionButton;
|
||||
extern const CLSID CLSID_CCDListBox;
|
||||
extern const CLSID CLSID_CCDScrollBar;
|
||||
extern const CLSID CLSID_CCDGroupBox;
|
||||
extern const CLSID CLSID_CCDGeneralPropertyPage;
|
||||
extern const CLSID CLSID_CCDGenericPropertyPage;
|
||||
extern const CLSID CLSID_CCDFontPropertyPage;
|
||||
extern const CLSID CLSID_CCDColorPropertyPage;
|
||||
extern const CLSID CLSID_CCDLabelPropertyPage;
|
||||
extern const CLSID CLSID_CCDCheckBoxPropertyPage;
|
||||
extern const CLSID CLSID_CCDTextBoxPropertyPage;
|
||||
extern const CLSID CLSID_CCDOptionButtonPropertyPage;
|
||||
extern const CLSID CLSID_CCDListBoxPropertyPage;
|
||||
extern const CLSID CLSID_CCDCommandButtonPropertyPage;
|
||||
extern const CLSID CLSID_CCDComboBoxPropertyPage;
|
||||
extern const CLSID CLSID_CCDScrollBarPropertyPage;
|
||||
extern const CLSID CLSID_CCDGroupBoxPropertyPage;
|
||||
extern const CLSID CLSID_CCDXObjectPropertyPage;
|
||||
extern const CLSID CLSID_CStdPropertyFrame;
|
||||
extern const CLSID CLSID_CFormPropertyPage;
|
||||
extern const CLSID CLSID_CGridPropertyPage;
|
||||
extern const CLSID CLSID_CWSJArticlePage;
|
||||
extern const CLSID CLSID_CSystemPage;
|
||||
extern const CLSID CLSID_IdentityUnmarshal;
|
||||
extern const CLSID CLSID_InProcFreeMarshaler;
|
||||
extern const CLSID CLSID_Picture_Metafile;
|
||||
extern const CLSID CLSID_Picture_EnhMetafile;
|
||||
extern const CLSID CLSID_Picture_Dib;
|
||||
extern const CLSID CLSID_StdGlobalInterfaceTable;
|
||||
extern const GUID GUID_TRISTATE;
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
177
reactos/w32api/include/comcat.h
Normal file
177
reactos/w32api/include/comcat.h
Normal file
|
@ -0,0 +1,177 @@
|
|||
#ifndef _COMCAT_H
|
||||
#define _COMCAT_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifndef COM_NO_WINDOWS_H
|
||||
#include <windows.h>
|
||||
#include <ole2.h>
|
||||
#endif
|
||||
|
||||
#ifndef _RC_INVOKED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"{
|
||||
#endif
|
||||
|
||||
EXTERN_C const IID IID_IEnumGUID;
|
||||
typedef interface IEnumGUID *LPENUMGUID;
|
||||
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IEnumGUID
|
||||
DECLARE_INTERFACE_(IEnumGUID,IUnknown)
|
||||
{
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(Next)(THIS_ ULONG,GUID*,ULONG*) PURE;
|
||||
STDMETHOD(Skip)(THIS_ ULONG) PURE;
|
||||
STDMETHOD(Reset)(THIS) PURE;
|
||||
STDMETHOD(Clone)(THIS_ LPENUMGUID*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if (!defined (__cplusplus) || defined (CINTERFACE)) \
|
||||
&& defined (COBJMACROS)
|
||||
#define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IEnumGUID_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
||||
#define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
||||
#define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p)
|
||||
#define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
||||
#endif
|
||||
|
||||
typedef GUID CATID;
|
||||
typedef REFGUID REFCATID;
|
||||
#define CATID_NULL GUID_NULL
|
||||
#define IsEqualCATID(a, b) IsEqualGUID(a, b)
|
||||
|
||||
typedef struct tagCATEGORYINFO {
|
||||
CATID catid; /* category identifier for component */
|
||||
LCID lcid; /* locale identifier */
|
||||
OLECHAR szDescription[128]; /* description of the category */
|
||||
} CATEGORYINFO, *LPCATEGORYINFO;
|
||||
|
||||
EXTERN_C const CATID CATID_Insertable;
|
||||
EXTERN_C const CATID CATID_Control;
|
||||
EXTERN_C const CATID CATID_Programmable;
|
||||
EXTERN_C const CATID CATID_IsShortcut;
|
||||
EXTERN_C const CATID CATID_NeverShowExt;
|
||||
EXTERN_C const CATID CATID_DocObject;
|
||||
EXTERN_C const CATID CATID_Printable;
|
||||
EXTERN_C const CATID CATID_RequiresDataPathHost;
|
||||
EXTERN_C const CATID CATID_PersistsToMoniker;
|
||||
EXTERN_C const CATID CATID_PersistsToStorage;
|
||||
EXTERN_C const CATID CATID_PersistsToStreamInit;
|
||||
EXTERN_C const CATID CATID_PersistsToStream;
|
||||
EXTERN_C const CATID CATID_PersistsToMemory;
|
||||
EXTERN_C const CATID CATID_PersistsToFile;
|
||||
EXTERN_C const CATID CATID_PersistsToPropertyBag;
|
||||
EXTERN_C const CATID CATID_InternetAware;
|
||||
EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
|
||||
|
||||
#define IEnumCATID IEnumGUID
|
||||
#define LPENUMCATID LPENUMGUID
|
||||
#define IID_IEnumCATID IID_IEnumGUID
|
||||
|
||||
#define IEnumCLSID IEnumGUID
|
||||
#define LPENUMCLSID LPENUMGUID
|
||||
#define IID_IEnumCLSID IID_IEnumGUID
|
||||
|
||||
EXTERN_C const IID IID_ICatInformation;
|
||||
typedef interface ICatInformation *LPCATINFORMATION;
|
||||
|
||||
EXTERN_C const IID IID_ICatRegister;
|
||||
typedef interface ICatRegister *LPCATREGISTER;
|
||||
|
||||
EXTERN_C const IID IID_IEnumCATEGORYINFO;
|
||||
typedef interface IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
|
||||
|
||||
EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
|
||||
|
||||
#define INTERFACE ICatInformation
|
||||
DECLARE_INTERFACE_(ICatInformation,IUnknown)
|
||||
{
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(EnumCategories)(THIS_ LCID,LPENUMCATEGORYINFO*) PURE;
|
||||
STDMETHOD(GetCategoryDesc)(THIS_ REFCATID,LCID,PWCHAR*) PURE;
|
||||
STDMETHOD(EnumClassesOfCategories)(THIS_ ULONG,CATID*,ULONG,CATID*,LPENUMCLSID*) PURE;
|
||||
STDMETHOD(IsClassOfCategories)(THIS_ REFCLSID,ULONG,CATID*,ULONG,CATID*) PURE;
|
||||
STDMETHOD(EnumImplCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
|
||||
STDMETHOD(EnumReqCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if (!defined (__cplusplus) || defined (CINTERFACE)) \
|
||||
&& defined (COBJMACROS)
|
||||
#define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define ICatInformation_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
|
||||
#define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
|
||||
#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
|
||||
#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
|
||||
#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
|
||||
#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
|
||||
#endif
|
||||
|
||||
#define INTERFACE ICatRegister
|
||||
DECLARE_INTERFACE_(ICatRegister,IUnknown)
|
||||
{
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(RegisterCategories)(THIS_ ULONG,CATEGORYINFO*) PURE;
|
||||
STDMETHOD(UnRegisterCategories)(THIS_ ULONG,CATID*) PURE;
|
||||
STDMETHOD(RegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
|
||||
STDMETHOD(UnRegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
|
||||
STDMETHOD(RegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
|
||||
STDMETHOD(UnRegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if (!defined (__cplusplus) || defined (CINTERFACE)) \
|
||||
&& defined (COBJMACROS)
|
||||
#define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define ICatRegister_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
|
||||
#define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
|
||||
#define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
|
||||
#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
|
||||
#define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
|
||||
#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
|
||||
#endif
|
||||
|
||||
EXTERN_C const IID IID_IEnumCATEGORYINFO;
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IEnumCATEGORYINFO
|
||||
DECLARE_INTERFACE_(IEnumCATEGORYINFO,IUnknown)
|
||||
{
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
STDMETHOD(Next)(THIS_ ULONG,CATEGORYINFO*,ULONG*) PURE;
|
||||
STDMETHOD(Skip)(THIS_ ULONG) PURE;
|
||||
STDMETHOD(Reset)(THIS) PURE;
|
||||
STDMETHOD(Clone)(THIS_ LPENUMCATEGORYINFO*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if (!defined (__cplusplus) || defined (CINTERFACE)) \
|
||||
&& defined (COBJMACROS)
|
||||
#define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
||||
#define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p)
|
||||
#define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p)
|
||||
#define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
||||
#define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
||||
#define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p)
|
||||
#define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RC_INVOKED */
|
||||
#endif
|
3513
reactos/w32api/include/commctrl.h
Normal file
3513
reactos/w32api/include/commctrl.h
Normal file
File diff suppressed because it is too large
Load diff
583
reactos/w32api/include/commdlg.h
Normal file
583
reactos/w32api/include/commdlg.h
Normal file
|
@ -0,0 +1,583 @@
|
|||
#ifndef _COMMDLG_H
|
||||
#define _COMMDLG_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#pragma pack(push,1)
|
||||
|
||||
#define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
|
||||
#define SHAREVISTRINGA "commdlg_ShareViolation"
|
||||
#define FILEOKSTRINGA "commdlg_FileNameOK"
|
||||
#define COLOROKSTRINGA "commdlg_ColorOK"
|
||||
#define SETRGBSTRINGA "commdlg_SetRGBColor"
|
||||
#define HELPMSGSTRINGA "commdlg_help"
|
||||
#define FINDMSGSTRINGA "commdlg_FindReplace"
|
||||
#define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
|
||||
#define SHAREVISTRINGW L"commdlg_ShareViolation"
|
||||
#define FILEOKSTRINGW L"commdlg_FileNameOK"
|
||||
#define COLOROKSTRINGW L"commdlg_ColorOK"
|
||||
#define SETRGBSTRINGW L"commdlg_SetRGBColor"
|
||||
#define HELPMSGSTRINGW L"commdlg_help"
|
||||
#define FINDMSGSTRINGW L"commdlg_FindReplace"
|
||||
#ifndef CDN_FIRST
|
||||
#define CDN_FIRST ((UINT)-601) /* also in commctrl.h */
|
||||
#define CDN_LAST ((UINT)-699)
|
||||
#endif
|
||||
#define CDN_INITDONE CDN_FIRST
|
||||
#define CDN_SELCHANGE (CDN_FIRST-1U)
|
||||
#define CDN_FOLDERCHANGE (CDN_FIRST-2U)
|
||||
#define CDN_SHAREVIOLATION (CDN_FIRST-3U)
|
||||
#define CDN_HELP (CDN_FIRST-4U)
|
||||
#define CDN_FILEOK (CDN_FIRST-5U)
|
||||
#define CDN_TYPECHANGE (CDN_FIRST-6U)
|
||||
#define CDM_FIRST (WM_USER+100)
|
||||
#define CDM_LAST (WM_USER+200)
|
||||
#define CDM_GETSPEC CDM_FIRST
|
||||
#define CDM_GETFILEPATH (CDM_FIRST+1)
|
||||
#define CDM_GETFOLDERPATH (CDM_FIRST+2)
|
||||
#define CDM_GETFOLDERIDLIST (CDM_FIRST+3)
|
||||
#define CDM_SETCONTROLTEXT (CDM_FIRST+4)
|
||||
#define CDM_HIDECONTROL (CDM_FIRST+5)
|
||||
#define CDM_SETDEFEXT (CDM_FIRST+6)
|
||||
#define CC_RGBINIT 1
|
||||
#define CC_FULLOPEN 2
|
||||
#define CC_PREVENTFULLOPEN 4
|
||||
#define CC_SHOWHELP 8
|
||||
#define CC_ENABLEHOOK 16
|
||||
#define CC_ENABLETEMPLATE 32
|
||||
#define CC_ENABLETEMPLATEHANDLE 64
|
||||
#define CC_SOLIDCOLOR 128
|
||||
#define CC_ANYCOLOR 256
|
||||
#define CF_SCREENFONTS 1
|
||||
#define CF_PRINTERFONTS 2
|
||||
#define CF_BOTH 3
|
||||
#define CF_SHOWHELP 4
|
||||
#define CF_ENABLEHOOK 8
|
||||
#define CF_ENABLETEMPLATE 16
|
||||
#define CF_ENABLETEMPLATEHANDLE 32
|
||||
#define CF_INITTOLOGFONTSTRUCT 64
|
||||
#define CF_USESTYLE 128
|
||||
#define CF_EFFECTS 256
|
||||
#define CF_APPLY 512
|
||||
#define CF_ANSIONLY 1024
|
||||
#define CF_SCRIPTSONLY CF_ANSIONLY
|
||||
#define CF_NOVECTORFONTS 2048
|
||||
#define CF_NOOEMFONTS 2048
|
||||
#define CF_NOSIMULATIONS 4096
|
||||
#define CF_LIMITSIZE 8192
|
||||
#define CF_FIXEDPITCHONLY 16384
|
||||
#define CF_WYSIWYG 32768
|
||||
#define CF_FORCEFONTEXIST 65536
|
||||
#define CF_SCALABLEONLY 131072
|
||||
#define CF_TTONLY 262144
|
||||
#define CF_NOFACESEL 524288
|
||||
#define CF_NOSTYLESEL 1048576
|
||||
#define CF_NOSIZESEL 2097152
|
||||
#define CF_SELECTSCRIPT 4194304
|
||||
#define CF_NOSCRIPTSEL 8388608
|
||||
#define CF_NOVERTFONTS 0x1000000
|
||||
#define SIMULATED_FONTTYPE 0x8000
|
||||
#define PRINTER_FONTTYPE 0x4000
|
||||
#define SCREEN_FONTTYPE 0x2000
|
||||
#define BOLD_FONTTYPE 0x100
|
||||
#define ITALIC_FONTTYPE 0x0200
|
||||
#define REGULAR_FONTTYPE 0x0400
|
||||
#define WM_CHOOSEFONT_GETLOGFONT (WM_USER+1)
|
||||
#define WM_CHOOSEFONT_SETLOGFONT (WM_USER+101)
|
||||
#define WM_CHOOSEFONT_SETFLAGS (WM_USER+102)
|
||||
#define OFN_ALLOWMULTISELECT 512
|
||||
#define OFN_CREATEPROMPT 0x2000
|
||||
#define OFN_ENABLEHOOK 32
|
||||
#define OFN_ENABLESIZING 0x800000
|
||||
#define OFN_ENABLETEMPLATE 64
|
||||
#define OFN_ENABLETEMPLATEHANDLE 128
|
||||
#define OFN_EXPLORER 0x80000
|
||||
#define OFN_EXTENSIONDIFFERENT 0x400
|
||||
#define OFN_FILEMUSTEXIST 0x1000
|
||||
#define OFN_HIDEREADONLY 4
|
||||
#define OFN_LONGNAMES 0x200000
|
||||
#define OFN_NOCHANGEDIR 8
|
||||
#define OFN_NODEREFERENCELINKS 0x100000
|
||||
#define OFN_NOLONGNAMES 0x40000
|
||||
#define OFN_NONETWORKBUTTON 0x20000
|
||||
#define OFN_NOREADONLYRETURN 0x8000
|
||||
#define OFN_NOTESTFILECREATE 0x10000
|
||||
#define OFN_NOVALIDATE 256
|
||||
#define OFN_OVERWRITEPROMPT 2
|
||||
#define OFN_PATHMUSTEXIST 0x800
|
||||
#define OFN_READONLY 1
|
||||
#define OFN_SHAREAWARE 0x4000
|
||||
#define OFN_SHOWHELP 16
|
||||
#define OFN_SHAREFALLTHROUGH 2
|
||||
#define OFN_SHARENOWARN 1
|
||||
#define OFN_SHAREWARN 0
|
||||
#define OFN_NODEREFERENCELINKS 0x100000
|
||||
#define FR_DIALOGTERM 64
|
||||
#define FR_DOWN 1
|
||||
#define FR_ENABLEHOOK 256
|
||||
#define FR_ENABLETEMPLATE 512
|
||||
#define FR_ENABLETEMPLATEHANDLE 0x2000
|
||||
#define FR_FINDNEXT 8
|
||||
#define FR_HIDEUPDOWN 0x4000
|
||||
#define FR_HIDEMATCHCASE 0x8000
|
||||
#define FR_HIDEWHOLEWORD 0x10000
|
||||
#define FR_MATCHALEFHAMZA 0x80000000
|
||||
#define FR_MATCHCASE 4
|
||||
#define FR_MATCHDIAC 0x20000000
|
||||
#define FR_MATCHKASHIDA 0x40000000
|
||||
#define FR_NOMATCHCASE 0x800
|
||||
#define FR_NOUPDOWN 0x400
|
||||
#define FR_NOWHOLEWORD 4096
|
||||
#define FR_REPLACE 16
|
||||
#define FR_REPLACEALL 32
|
||||
#define FR_SHOWHELP 128
|
||||
#define FR_WHOLEWORD 2
|
||||
#define PD_ALLPAGES 0
|
||||
#define PD_SELECTION 1
|
||||
#define PD_PAGENUMS 2
|
||||
#define PD_NOSELECTION 4
|
||||
#define PD_NOPAGENUMS 8
|
||||
#define PD_COLLATE 16
|
||||
#define PD_PRINTTOFILE 32
|
||||
#define PD_PRINTSETUP 64
|
||||
#define PD_NOWARNING 128
|
||||
#define PD_RETURNDC 256
|
||||
#define PD_RETURNIC 512
|
||||
#define PD_RETURNDEFAULT 1024
|
||||
#define PD_SHOWHELP 2048
|
||||
#define PD_ENABLEPRINTHOOK 4096
|
||||
#define PD_ENABLESETUPHOOK 8192
|
||||
#define PD_ENABLEPRINTTEMPLATE 16384
|
||||
#define PD_ENABLESETUPTEMPLATE 32768
|
||||
#define PD_ENABLEPRINTTEMPLATEHANDLE 65536
|
||||
#define PD_ENABLESETUPTEMPLATEHANDLE 0x20000
|
||||
#define PD_USEDEVMODECOPIES 0x40000
|
||||
#define PD_USEDEVMODECOPIESANDCOLLATE 0x40000
|
||||
#define PD_DISABLEPRINTTOFILE 0x80000
|
||||
#define PD_HIDEPRINTTOFILE 0x100000
|
||||
#define PD_NONETWORKBUTTON 0x200000
|
||||
#define PSD_DEFAULTMINMARGINS 0
|
||||
#define PSD_INWININIINTLMEASURE 0
|
||||
#define PSD_MINMARGINS 1
|
||||
#define PSD_MARGINS 2
|
||||
#define PSD_INTHOUSANDTHSOFINCHES 4
|
||||
#define PSD_INHUNDREDTHSOFMILLIMETERS 8
|
||||
#define PSD_DISABLEMARGINS 16
|
||||
#define PSD_DISABLEPRINTER 32
|
||||
#define PSD_NOWARNING 128
|
||||
#define PSD_DISABLEORIENTATION 256
|
||||
#define PSD_DISABLEPAPER 512
|
||||
#define PSD_RETURNDEFAULT 1024
|
||||
#define PSD_SHOWHELP 2048
|
||||
#define PSD_ENABLEPAGESETUPHOOK 8192
|
||||
#define PSD_ENABLEPAGESETUPTEMPLATE 0x8000
|
||||
#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x20000
|
||||
#define PSD_ENABLEPAGEPAINTHOOK 0x40000
|
||||
#define PSD_DISABLEPAGEPAINTING 0x80000
|
||||
#define WM_PSD_PAGESETUPDLG WM_USER
|
||||
#define WM_PSD_FULLPAGERECT (WM_USER+1)
|
||||
#define WM_PSD_MINMARGINRECT (WM_USER+2)
|
||||
#define WM_PSD_MARGINRECT (WM_USER+3)
|
||||
#define WM_PSD_GREEKTEXTRECT (WM_USER+4)
|
||||
#define WM_PSD_ENVSTAMPRECT (WM_USER+5)
|
||||
#define WM_PSD_YAFULLPAGERECT (WM_USER+6)
|
||||
#define CD_LBSELNOITEMS (-1)
|
||||
#define CD_LBSELCHANGE 0
|
||||
#define CD_LBSELSUB 1
|
||||
#define CD_LBSELADD 2
|
||||
#define DN_DEFAULTPRN 1
|
||||
|
||||
#ifndef SNDMSG
|
||||
#ifdef __cplusplus
|
||||
#define SNDMSG ::SendMessage
|
||||
#else
|
||||
#define SNDMSG SendMessage
|
||||
#endif
|
||||
#endif /* ifndef SNDMSG */
|
||||
|
||||
#define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s)))
|
||||
#define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec
|
||||
#define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec
|
||||
#define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s)))
|
||||
#define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath
|
||||
#define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath
|
||||
#define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s)))
|
||||
#define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath
|
||||
#define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath
|
||||
#define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i)))
|
||||
#define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t)))
|
||||
#define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0))
|
||||
#define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e)))
|
||||
|
||||
typedef UINT (APIENTRY *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
|
||||
typedef __CDHOOKPROC LPCCHOOKPROC;
|
||||
typedef __CDHOOKPROC LPCFHOOKPROC;
|
||||
typedef __CDHOOKPROC LPFRHOOKPROC;
|
||||
typedef __CDHOOKPROC LPOFNHOOKPROC;
|
||||
typedef __CDHOOKPROC LPPAGEPAINTHOOK;
|
||||
typedef __CDHOOKPROC LPPAGESETUPHOOK;
|
||||
typedef __CDHOOKPROC LPSETUPHOOKPROC;
|
||||
typedef __CDHOOKPROC LPPRINTHOOKPROC;
|
||||
typedef struct tagCHOOSECOLORA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HWND hInstance;
|
||||
COLORREF rgbResult;
|
||||
COLORREF* lpCustColors;
|
||||
DWORD Flags;
|
||||
LPARAM lCustData;
|
||||
LPCCHOOKPROC lpfnHook;
|
||||
LPCSTR lpTemplateName;
|
||||
} CHOOSECOLORA,*LPCHOOSECOLORA;
|
||||
typedef struct tagCHOOSECOLORW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HWND hInstance;
|
||||
COLORREF rgbResult;
|
||||
COLORREF* lpCustColors;
|
||||
DWORD Flags;
|
||||
LPARAM lCustData;
|
||||
LPCCHOOKPROC lpfnHook;
|
||||
LPCWSTR lpTemplateName;
|
||||
} CHOOSECOLORW,*LPCHOOSECOLORW;
|
||||
typedef struct tagCHOOSEFONTA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HDC hDC;
|
||||
LPLOGFONTA lpLogFont;
|
||||
INT iPointSize;
|
||||
DWORD Flags;
|
||||
DWORD rgbColors;
|
||||
LPARAM lCustData;
|
||||
LPCFHOOKPROC lpfnHook;
|
||||
LPCSTR lpTemplateName;
|
||||
HINSTANCE hInstance;
|
||||
LPSTR lpszStyle;
|
||||
WORD nFontType;
|
||||
WORD ___MISSING_ALIGNMENT__;
|
||||
INT nSizeMin;
|
||||
INT nSizeMax;
|
||||
} CHOOSEFONTA,*LPCHOOSEFONTA;
|
||||
typedef struct tagCHOOSEFONTW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HDC hDC;
|
||||
LPLOGFONTW lpLogFont;
|
||||
INT iPointSize;
|
||||
DWORD Flags;
|
||||
DWORD rgbColors;
|
||||
LPARAM lCustData;
|
||||
LPCFHOOKPROC lpfnHook;
|
||||
LPCWSTR lpTemplateName;
|
||||
HINSTANCE hInstance;
|
||||
LPWSTR lpszStyle;
|
||||
WORD nFontType;
|
||||
WORD ___MISSING_ALIGNMENT__;
|
||||
INT nSizeMin;
|
||||
INT nSizeMax;
|
||||
} CHOOSEFONTW,*LPCHOOSEFONTW;
|
||||
typedef struct tagDEVNAMES {
|
||||
WORD wDriverOffset;
|
||||
WORD wDeviceOffset;
|
||||
WORD wOutputOffset;
|
||||
WORD wDefault;
|
||||
} DEVNAMES,*LPDEVNAMES;
|
||||
typedef struct {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HINSTANCE hInstance;
|
||||
DWORD Flags;
|
||||
LPSTR lpstrFindWhat;
|
||||
LPSTR lpstrReplaceWith;
|
||||
WORD wFindWhatLen;
|
||||
WORD wReplaceWithLen;
|
||||
LPARAM lCustData;
|
||||
LPFRHOOKPROC lpfnHook;
|
||||
LPCSTR lpTemplateName;
|
||||
} FINDREPLACEA,*LPFINDREPLACEA;
|
||||
typedef struct {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HINSTANCE hInstance;
|
||||
DWORD Flags;
|
||||
LPWSTR lpstrFindWhat;
|
||||
LPWSTR lpstrReplaceWith;
|
||||
WORD wFindWhatLen;
|
||||
WORD wReplaceWithLen;
|
||||
LPARAM lCustData;
|
||||
LPFRHOOKPROC lpfnHook;
|
||||
LPCWSTR lpTemplateName;
|
||||
} FINDREPLACEW,*LPFINDREPLACEW;
|
||||
typedef struct tagOFNA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HINSTANCE hInstance;
|
||||
LPCSTR lpstrFilter;
|
||||
LPSTR lpstrCustomFilter;
|
||||
DWORD nMaxCustFilter;
|
||||
DWORD nFilterIndex;
|
||||
LPSTR lpstrFile;
|
||||
DWORD nMaxFile;
|
||||
LPSTR lpstrFileTitle;
|
||||
DWORD nMaxFileTitle;
|
||||
LPCSTR lpstrInitialDir;
|
||||
LPCSTR lpstrTitle;
|
||||
DWORD Flags;
|
||||
WORD nFileOffset;
|
||||
WORD nFileExtension;
|
||||
LPCSTR lpstrDefExt;
|
||||
DWORD lCustData;
|
||||
LPOFNHOOKPROC lpfnHook;
|
||||
LPCSTR lpTemplateName;
|
||||
} OPENFILENAMEA,*LPOPENFILENAMEA;
|
||||
typedef struct tagOFNW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HINSTANCE hInstance;
|
||||
LPCWSTR lpstrFilter;
|
||||
LPWSTR lpstrCustomFilter;
|
||||
DWORD nMaxCustFilter;
|
||||
DWORD nFilterIndex;
|
||||
LPWSTR lpstrFile;
|
||||
DWORD nMaxFile;
|
||||
LPWSTR lpstrFileTitle;
|
||||
DWORD nMaxFileTitle;
|
||||
LPCWSTR lpstrInitialDir;
|
||||
LPCWSTR lpstrTitle;
|
||||
DWORD Flags;
|
||||
WORD nFileOffset;
|
||||
WORD nFileExtension;
|
||||
LPCWSTR lpstrDefExt;
|
||||
DWORD lCustData;
|
||||
LPOFNHOOKPROC lpfnHook;
|
||||
LPCWSTR lpTemplateName;
|
||||
} OPENFILENAMEW,*LPOPENFILENAMEW;
|
||||
typedef struct _OFNOTIFYA {
|
||||
NMHDR hdr;
|
||||
LPOPENFILENAMEA lpOFN;
|
||||
LPSTR pszFile;
|
||||
} OFNOTIFYA,*LPOFNOTIFYA;
|
||||
typedef struct _OFNOTIFYW {
|
||||
NMHDR hdr;
|
||||
LPOPENFILENAMEW lpOFN;
|
||||
LPWSTR pszFile;
|
||||
} OFNOTIFYW,*LPOFNOTIFYW;
|
||||
typedef struct tagPSDA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HGLOBAL hDevMode;
|
||||
HGLOBAL hDevNames;
|
||||
DWORD Flags;
|
||||
POINT ptPaperSize;
|
||||
RECT rtMinMargin;
|
||||
RECT rtMargin;
|
||||
HINSTANCE hInstance;
|
||||
LPARAM lCustData;
|
||||
LPPAGESETUPHOOK lpfnPageSetupHook;
|
||||
LPPAGEPAINTHOOK lpfnPagePaintHook;
|
||||
LPCSTR lpPageSetupTemplateName;
|
||||
HGLOBAL hPageSetupTemplate;
|
||||
} PAGESETUPDLGA,*LPPAGESETUPDLGA;
|
||||
typedef struct tagPSDW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HGLOBAL hDevMode;
|
||||
HGLOBAL hDevNames;
|
||||
DWORD Flags;
|
||||
POINT ptPaperSize;
|
||||
RECT rtMinMargin;
|
||||
RECT rtMargin;
|
||||
HINSTANCE hInstance;
|
||||
LPARAM lCustData;
|
||||
LPPAGESETUPHOOK lpfnPageSetupHook;
|
||||
LPPAGEPAINTHOOK lpfnPagePaintHook;
|
||||
LPCWSTR lpPageSetupTemplateName;
|
||||
HGLOBAL hPageSetupTemplate;
|
||||
} PAGESETUPDLGW,*LPPAGESETUPDLGW;
|
||||
typedef struct tagPDA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HANDLE hDevMode;
|
||||
HANDLE hDevNames;
|
||||
HDC hDC;
|
||||
DWORD Flags;
|
||||
WORD nFromPage;
|
||||
WORD nToPage;
|
||||
WORD nMinPage;
|
||||
WORD nMaxPage;
|
||||
WORD nCopies;
|
||||
HINSTANCE hInstance;
|
||||
DWORD lCustData;
|
||||
LPPRINTHOOKPROC lpfnPrintHook;
|
||||
LPSETUPHOOKPROC lpfnSetupHook;
|
||||
LPCSTR lpPrintTemplateName;
|
||||
LPCSTR lpSetupTemplateName;
|
||||
HANDLE hPrintTemplate;
|
||||
HANDLE hSetupTemplate;
|
||||
} PRINTDLGA,*LPPRINTDLGA;
|
||||
typedef struct tagPDW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HANDLE hDevMode;
|
||||
HANDLE hDevNames;
|
||||
HDC hDC;
|
||||
DWORD Flags;
|
||||
WORD nFromPage;
|
||||
WORD nToPage;
|
||||
WORD nMinPage;
|
||||
WORD nMaxPage;
|
||||
WORD nCopies;
|
||||
HINSTANCE hInstance;
|
||||
DWORD lCustData;
|
||||
LPPRINTHOOKPROC lpfnPrintHook;
|
||||
LPSETUPHOOKPROC lpfnSetupHook;
|
||||
LPCWSTR lpPrintTemplateName;
|
||||
LPCWSTR lpSetupTemplateName;
|
||||
HANDLE hPrintTemplate;
|
||||
HANDLE hSetupTemplate;
|
||||
} PRINTDLGW,*LPPRINTDLGW;
|
||||
#if (WINVER >= 0x0500) && !defined (__OBJC__)
|
||||
#include <unknwn.h> /* for LPUNKNOWN */
|
||||
#include <prsht.h> /* for HPROPSHEETPAGE */
|
||||
typedef struct tagPRINTPAGERANGE {
|
||||
DWORD nFromPage;
|
||||
DWORD nToPage;
|
||||
} PRINTPAGERANGE, *LPPRINTPAGERANGE;
|
||||
typedef struct tagPDEXA {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HGLOBAL hDevMode;
|
||||
HGLOBAL hDevNames;
|
||||
HDC hDC;
|
||||
DWORD Flags;
|
||||
DWORD Flags2;
|
||||
DWORD ExclusionFlags;
|
||||
DWORD nPageRanges;
|
||||
DWORD nMaxPageRanges;
|
||||
LPPRINTPAGERANGE lpPageRanges;
|
||||
DWORD nMinPage;
|
||||
DWORD nMaxPage;
|
||||
DWORD nCopies;
|
||||
HINSTANCE hInstance;
|
||||
LPCSTR lpPrintTemplateName;
|
||||
LPUNKNOWN lpCallback;
|
||||
DWORD nPropertyPages;
|
||||
HPROPSHEETPAGE *lphPropertyPages;
|
||||
DWORD nStartPage;
|
||||
DWORD dwResultAction;
|
||||
} PRINTDLGEXA, *LPPRINTDLGEXA;
|
||||
typedef struct tagPDEXW {
|
||||
DWORD lStructSize;
|
||||
HWND hwndOwner;
|
||||
HGLOBAL hDevMode;
|
||||
HGLOBAL hDevNames;
|
||||
HDC hDC;
|
||||
DWORD Flags;
|
||||
DWORD Flags2;
|
||||
DWORD ExclusionFlags;
|
||||
DWORD nPageRanges;
|
||||
DWORD nMaxPageRanges;
|
||||
LPPRINTPAGERANGE lpPageRanges;
|
||||
DWORD nMinPage;
|
||||
DWORD nMaxPage;
|
||||
DWORD nCopies;
|
||||
HINSTANCE hInstance;
|
||||
LPCWSTR lpPrintTemplateName;
|
||||
LPUNKNOWN lpCallback;
|
||||
DWORD nPropertyPages;
|
||||
HPROPSHEETPAGE *lphPropertyPages;
|
||||
DWORD nStartPage;
|
||||
DWORD dwResultAction;
|
||||
} PRINTDLGEXW, *LPPRINTDLGEXW;
|
||||
#endif /* WINVER >= 0x0500 */
|
||||
|
||||
BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
|
||||
BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
|
||||
BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
|
||||
BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
|
||||
DWORD WINAPI CommDlgExtendedError(void);
|
||||
HWND WINAPI FindTextA(LPFINDREPLACEA);
|
||||
HWND WINAPI FindTextW(LPFINDREPLACEW);
|
||||
short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD);
|
||||
short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD);
|
||||
BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA);
|
||||
BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW);
|
||||
BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA);
|
||||
BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW);
|
||||
BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA);
|
||||
BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW);
|
||||
BOOL WINAPI PrintDlgA(LPPRINTDLGA);
|
||||
BOOL WINAPI PrintDlgW(LPPRINTDLGW);
|
||||
HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
|
||||
HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
|
||||
#if (WINVER >= 0x0500) && !defined (__OBJC__)
|
||||
HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
|
||||
HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
|
||||
#endif /* WINVER >= 0x0500 */
|
||||
|
||||
#ifdef UNICODE
|
||||
#define LBSELCHSTRING LBSELCHSTRINGW
|
||||
#define SHAREVISTRING SHAREVISTRINGW
|
||||
#define FILEOKSTRING FILEOKSTRINGW
|
||||
#define COLOROKSTRING COLOROKSTRINGW
|
||||
#define SETRGBSTRING SETRGBSTRINGW
|
||||
#define HELPMSGSTRING HELPMSGSTRINGW
|
||||
#define FINDMSGSTRING FINDMSGSTRINGW
|
||||
typedef CHOOSECOLORW CHOOSECOLOR,*LPCHOOSECOLOR;
|
||||
typedef CHOOSEFONTW CHOOSEFONT,*LPCHOOSEFONT;
|
||||
typedef FINDREPLACEW FINDREPLACE,*LPFINDREPLACE;
|
||||
typedef OPENFILENAMEW OPENFILENAME,*LPOPENFILENAME;
|
||||
typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY;
|
||||
typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG;
|
||||
typedef PRINTDLGW PRINTDLG,*LPPRINTDLG;
|
||||
#define ChooseColor ChooseColorW
|
||||
#define ChooseFont ChooseFontW
|
||||
#define FindText FindTextW
|
||||
#define GetFileTitle GetFileTitleW
|
||||
#define GetOpenFileName GetOpenFileNameW
|
||||
#define GetSaveFileName GetSaveFileNameW
|
||||
#define PageSetupDlg PageSetupDlgW
|
||||
#define PrintDlg PrintDlgW
|
||||
#define ReplaceText ReplaceTextW
|
||||
#if (WINVER >= 0x0500) && !defined (__OBJC__)
|
||||
typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX;
|
||||
#define PrintDlgEx PrintDlgExW
|
||||
#endif /* WINVER >= 0x0500 */
|
||||
#else /* UNICODE */
|
||||
#define LBSELCHSTRING LBSELCHSTRINGA
|
||||
#define SHAREVISTRING SHAREVISTRINGA
|
||||
#define FILEOKSTRING FILEOKSTRINGA
|
||||
#define COLOROKSTRING COLOROKSTRINGA
|
||||
#define SETRGBSTRING SETRGBSTRINGA
|
||||
#define HELPMSGSTRING HELPMSGSTRINGA
|
||||
#define FINDMSGSTRING FINDMSGSTRINGA
|
||||
typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR;
|
||||
typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT;
|
||||
typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE;
|
||||
typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME;
|
||||
typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY;
|
||||
typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG;
|
||||
typedef PRINTDLGA PRINTDLG,*LPPRINTDLG;
|
||||
#define ChooseColor ChooseColorA
|
||||
#define ChooseFont ChooseFontA
|
||||
#define FindText FindTextA
|
||||
#define GetFileTitle GetFileTitleA
|
||||
#define GetOpenFileName GetOpenFileNameA
|
||||
#define GetSaveFileName GetSaveFileNameA
|
||||
#define PageSetupDlg PageSetupDlgA
|
||||
#define PrintDlg PrintDlgA
|
||||
#define ReplaceText ReplaceTextA
|
||||
#if (WINVER >= 0x0500) && !defined (__OBJC__)
|
||||
typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX;
|
||||
#define PrintDlgEx PrintDlgExA
|
||||
#endif /* WINVER >= 0x0500 */
|
||||
#endif /* UNICODE */
|
||||
#pragma pack(pop)
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
61
reactos/w32api/include/cpl.h
Normal file
61
reactos/w32api/include/cpl.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
#ifndef _CPL_H
|
||||
#define _CPL_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define WM_CPL_LAUNCH (WM_USER+1000)
|
||||
#define WM_CPL_LAUNCHED (WM_USER+1001)
|
||||
#define CPL_DYNAMIC_RES 0
|
||||
#define CPL_INIT 1
|
||||
#define CPL_GETCOUNT 2
|
||||
#define CPL_INQUIRE 3
|
||||
#define CPL_SELECT 4
|
||||
#define CPL_DBLCLK 5
|
||||
#define CPL_STOP 6
|
||||
#define CPL_EXIT 7
|
||||
#define CPL_NEWINQUIRE 8
|
||||
#define CPL_STARTWPARMSA 9
|
||||
#define CPL_STARTWPARMSW 10
|
||||
#define CPL_SETUP 200
|
||||
typedef LONG(APIENTRY *APPLET_PROC)(HWND,UINT,LONG,LONG);
|
||||
typedef struct tagCPLINFO {
|
||||
int idIcon;
|
||||
int idName;
|
||||
int idInfo;
|
||||
LONG lData;
|
||||
} CPLINFO,*LPCPLINFO;
|
||||
typedef struct tagNEWCPLINFOA {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwHelpContext;
|
||||
LONG lData;
|
||||
HICON hIcon;
|
||||
CHAR szName[32];
|
||||
CHAR szInfo[64];
|
||||
CHAR szHelpFile[128];
|
||||
} NEWCPLINFOA,*LPNEWCPLINFOA;
|
||||
typedef struct tagNEWCPLINFOW {
|
||||
DWORD dwSize;
|
||||
DWORD dwFlags;
|
||||
DWORD dwHelpContext;
|
||||
LONG lData;
|
||||
HICON hIcon;
|
||||
WCHAR szName[32];
|
||||
WCHAR szInfo[64];
|
||||
WCHAR szHelpFile[128];
|
||||
} NEWCPLINFOW,*LPNEWCPLINFOW;
|
||||
#ifdef UNICODE
|
||||
#define CPL_STARTWPARMS CPL_STARTWPARMSW
|
||||
typedef NEWCPLINFOW NEWCPLINFO,*LPNEWCPLINFO;
|
||||
#else
|
||||
#define CPL_STARTWPARMS CPL_STARTWPARMSA
|
||||
typedef NEWCPLINFOA NEWCPLINFO,*LPNEWCPLINFO;
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
12
reactos/w32api/include/cplext.h
Normal file
12
reactos/w32api/include/cplext.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef _CPLEXT_H
|
||||
#define _CPLEXT_H
|
||||
#if __GNUC__ >= 3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#define CPLPAGE_MOUSE_BUTTONS 1
|
||||
#define CPLPAGE_MOUSE_PTRMOTION 2
|
||||
#define CPLPAGE_MOUSE_WHEEL 3
|
||||
#define CPLPAGE_KEYBOARD_SPEED 1
|
||||
#define CPLPAGE_DISPLAY_BACKGROUND 1
|
||||
#endif
|
102
reactos/w32api/include/custcntl.h
Normal file
102
reactos/w32api/include/custcntl.h
Normal file
|
@ -0,0 +1,102 @@
|
|||
#ifndef _CUSTCNTL_H
|
||||
#define _CUSTCNTL_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CCF_NOTEXT 1
|
||||
#define CCHCCCLASS 32
|
||||
#define CCHCCDESC 32
|
||||
#define CCHCCTEXT 256
|
||||
|
||||
typedef struct tagCCSTYLEA {
|
||||
DWORD flStyle;
|
||||
DWORD flExtStyle;
|
||||
CHAR szText[CCHCCTEXT];
|
||||
LANGID lgid;
|
||||
WORD wReserved1;
|
||||
} CCSTYLEA,*LPCCSTYLEA;
|
||||
typedef struct tagCCSTYLEW {
|
||||
DWORD flStyle;
|
||||
DWORD flExtStyle;
|
||||
WCHAR szText[CCHCCTEXT];
|
||||
LANGID lgid;
|
||||
WORD wReserved1;
|
||||
} CCSTYLEW,*LPCCSTYLEW;
|
||||
typedef struct tagCCSTYLEFLAGA {
|
||||
DWORD flStyle;
|
||||
DWORD flStyleMask;
|
||||
LPSTR pszStyle;
|
||||
} CCSTYLEFLAGA,*LPCCSTYLEFLAGA;
|
||||
typedef struct tagCCSTYLEFLAGW {
|
||||
DWORD flStyle;
|
||||
DWORD flStyleMask;
|
||||
LPWSTR pszStyle;
|
||||
} CCSTYLEFLAGW,*LPCCSTYLEFLAGW;
|
||||
typedef BOOL(CALLBACK* LPFNCCSTYLEA)(HWND,LPCCSTYLEA);
|
||||
typedef INT(CALLBACK* LPFNCCSIZETOTEXTA)(DWORD,DWORD,HFONT,LPSTR);
|
||||
typedef struct tagCCINFOA {
|
||||
CHAR szClass[CCHCCCLASS];
|
||||
DWORD flOptions;
|
||||
CHAR szDesc[CCHCCDESC];
|
||||
UINT cxDefault;
|
||||
UINT cyDefault;
|
||||
DWORD flStyleDefault;
|
||||
DWORD flExtStyleDefault;
|
||||
DWORD flCtrlTypeMask;
|
||||
CHAR szTextDefault[CCHCCTEXT];
|
||||
INT cStyleFlags;
|
||||
LPCCSTYLEFLAGA aStyleFlags;
|
||||
LPFNCCSTYLEA lpfnStyle;
|
||||
LPFNCCSIZETOTEXTA lpfnSizeToText;
|
||||
DWORD dwReserved1;
|
||||
DWORD dwReserved2;
|
||||
} CCINFOA,*LPCCINFOA;
|
||||
typedef UINT(CALLBACK* LPFNCCINFOA)(LPCCINFOA);
|
||||
typedef BOOL(CALLBACK* LPFNCCSTYLEW)(HWND,LPCCSTYLEW);
|
||||
typedef INT (CALLBACK* LPFNCCSIZETOTEXTW)(DWORD,DWORD,HFONT,LPWSTR);
|
||||
typedef struct tagCCINFOW {
|
||||
WCHAR szClass[CCHCCCLASS];
|
||||
DWORD flOptions;
|
||||
WCHAR szDesc[CCHCCDESC];
|
||||
UINT cxDefault;
|
||||
UINT cyDefault;
|
||||
DWORD flStyleDefault;
|
||||
DWORD flExtStyleDefault;
|
||||
DWORD flCtrlTypeMask;
|
||||
WCHAR szTextDefault[CCHCCTEXT];
|
||||
INT cStyleFlags;
|
||||
LPCCSTYLEFLAGW aStyleFlags;
|
||||
LPFNCCSTYLEW lpfnStyle;
|
||||
LPFNCCSIZETOTEXTW lpfnSizeToText;
|
||||
DWORD dwReserved1;
|
||||
DWORD dwReserved2;
|
||||
} CCINFOW,*LPCCINFOW;
|
||||
typedef UINT(CALLBACK* LPFNCCINFOW)(LPCCINFOW);
|
||||
|
||||
UINT CALLBACK CustomControlInfoA(LPCCINFOA acci);
|
||||
UINT CALLBACK CustomControlInfoW(LPCCINFOW acci);
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef CCSTYLEW CCSTYLE,*LPCCSTYLE;
|
||||
typedef CCSTYLEFLAGW CCSTYLEFLAG,*LPCCSTYLEFLAG;
|
||||
typedef CCINFOW CCINFO,*LPCCINFO;
|
||||
#define LPFNCCSTYLE LPFNCCSTYLEW
|
||||
#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTW
|
||||
#define LPFNCCINFO LPFNCCINFOW
|
||||
#else
|
||||
typedef CCSTYLEA CCSTYLE,*LPCCSTYLE;
|
||||
typedef CCSTYLEFLAGA CCSTYLEFLAG,*LPCCSTYLEFLAG;
|
||||
typedef CCINFOA CCINFO,*LPCCINFO;
|
||||
#define LPFNCCSTYLE LPFNCCSTYLEA
|
||||
#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTA
|
||||
#define LPFNCCINFO LPFNCCINFOA
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
114
reactos/w32api/include/dbt.h
Normal file
114
reactos/w32api/include/dbt.h
Normal file
|
@ -0,0 +1,114 @@
|
|||
#ifndef _DBT_H
|
||||
#define _DBT_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define DBT_NO_DISK_SPACE 0x47
|
||||
#define DBT_CONFIGMGPRIVATE 0x7FFF
|
||||
#define DBT_DEVICEARRIVAL 0x8000
|
||||
#define DBT_DEVICEQUERYREMOVE 0x8001
|
||||
#define DBT_DEVICEQUERYREMOVEFAILED 0x8002
|
||||
#define DBT_DEVICEREMOVEPENDING 0x8003
|
||||
#define DBT_DEVICEREMOVECOMPLETE 0x8004
|
||||
#define DBT_DEVICETYPESPECIFIC 0x8005
|
||||
#define DBT_DEVTYP_OEM 0
|
||||
#define DBT_DEVTYP_DEVNODE 1
|
||||
#define DBT_DEVTYP_VOLUME 2
|
||||
#define DBT_DEVTYP_PORT 3
|
||||
#define DBT_DEVTYP_NET 4
|
||||
#define DBT_APPYBEGIN 0
|
||||
#define DBT_APPYEND 1
|
||||
#define DBT_DEVNODES_CHANGED 7
|
||||
#define DBT_QUERYCHANGECONFIG 0x17
|
||||
#define DBT_CONFIGCHANGED 0x18
|
||||
#define DBT_CONFIGCHANGECANCELED 0x19
|
||||
#define DBT_MONITORCHANGE 0x1B
|
||||
#define DBT_SHELLLOGGEDON 32
|
||||
#define DBT_CONFIGMGAPI32 34
|
||||
#define DBT_VXDINITCOMPLETE 35
|
||||
#define DBT_VOLLOCKQUERYLOCK 0x8041
|
||||
#define DBT_VOLLOCKLOCKTAKEN 0x8042
|
||||
#define DBT_VOLLOCKLOCKFAILED 0x8043
|
||||
#define DBT_VOLLOCKQUERYUNLOCK 0x8044
|
||||
#define DBT_VOLLOCKLOCKRELEASED 0x8045
|
||||
#define DBT_VOLLOCKUNLOCKFAILED 0x8046
|
||||
#define DBT_USERDEFINED 0xFFFF
|
||||
#define DBTF_MEDIA 1
|
||||
#define DBTF_NET 2
|
||||
|
||||
/* Also defined in winuser.h */
|
||||
#define BSM_ALLCOMPONENTS 0
|
||||
#define BSM_APPLICATIONS 8
|
||||
#define BSM_ALLDESKTOPS 16
|
||||
#define BSM_INSTALLABLEDRIVERS 4
|
||||
#define BSM_NETDRIVER 2
|
||||
#define BSM_VXDS 1
|
||||
#define BSF_FLUSHDISK 0x00000004
|
||||
#define BSF_FORCEIFHUNG 0x00000020
|
||||
#define BSF_IGNORECURRENTTASK 0x00000002
|
||||
#define BSF_NOHANG 0x00000008
|
||||
#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
|
||||
#define BSF_POSTMESSAGE 0x00000010
|
||||
#define BSF_QUERY 0x00000001
|
||||
#if (_WIN32_WINNT >= 0x0500)
|
||||
#define BSF_ALLOWSFW 0x00000080
|
||||
#define BSF_SENDNOTIFYMESSAGE 0x00000100
|
||||
#endif /* (_WIN32_WINNT >= 0x0500) */
|
||||
#if (_WIN32_WINNT >= 0x0501)
|
||||
#define BSF_LUID 0x00000400
|
||||
#define BSF_RETURNHDESK 0x00000200
|
||||
#endif /* (_WIN32_WINNT >= 0x0501) */
|
||||
|
||||
#define BSF_MSGSRV32ISOK_BIT 31
|
||||
#define BSF_MSGSRV32ISOK 0x80000000
|
||||
|
||||
typedef struct _DEV_BROADCAST_HDR {
|
||||
DWORD dbch_size;
|
||||
DWORD dbch_devicetype;
|
||||
DWORD dbch_reserved;
|
||||
} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
|
||||
typedef struct _DEV_BROADCAST_OEM {
|
||||
DWORD dbco_size;
|
||||
DWORD dbco_devicetype;
|
||||
DWORD dbco_reserved;
|
||||
DWORD dbco_identifier;
|
||||
DWORD dbco_suppfunc;
|
||||
} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM;
|
||||
typedef struct _DEV_BROADCAST_PORT_A {
|
||||
DWORD dbcp_size;
|
||||
DWORD dbcp_devicetype;
|
||||
DWORD dbcp_reserved;
|
||||
char dbcp_name[1];
|
||||
} DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
|
||||
typedef struct _DEV_BROADCAST_PORT_W {
|
||||
DWORD dbcp_size;
|
||||
DWORD dbcp_devicetype;
|
||||
DWORD dbcp_reserved;
|
||||
wchar_t dbcp_name[1];
|
||||
} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
|
||||
typedef struct _DEV_BROADCAST_USERDEFINED {
|
||||
struct _DEV_BROADCAST_HDR dbud_dbh;
|
||||
char dbud_szName[1];
|
||||
} DEV_BROADCAST_USERDEFINED;
|
||||
typedef struct _DEV_BROADCAST_VOLUME {
|
||||
DWORD dbcv_size;
|
||||
DWORD dbcv_devicetype;
|
||||
DWORD dbcv_reserved;
|
||||
DWORD dbcv_unitmask;
|
||||
WORD dbcv_flags;
|
||||
} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
|
||||
|
||||
#ifdef UNICODE
|
||||
typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
|
||||
#else
|
||||
typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
64
reactos/w32api/include/dde.h
Normal file
64
reactos/w32api/include/dde.h
Normal file
|
@ -0,0 +1,64 @@
|
|||
#ifndef _DDE_H
|
||||
#define _DDE_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#define WM_DDE_FIRST 0x03E0
|
||||
#define WM_DDE_INITIATE (WM_DDE_FIRST)
|
||||
#define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
|
||||
#define WM_DDE_ADVISE (WM_DDE_FIRST+2)
|
||||
#define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
|
||||
#define WM_DDE_ACK (WM_DDE_FIRST+4)
|
||||
#define WM_DDE_DATA (WM_DDE_FIRST+5)
|
||||
#define WM_DDE_REQUEST (WM_DDE_FIRST+6)
|
||||
#define WM_DDE_POKE (WM_DDE_FIRST+7)
|
||||
#define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
|
||||
#define WM_DDE_LAST (WM_DDE_FIRST+8)
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
typedef struct {
|
||||
unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
|
||||
} DDEACK;
|
||||
typedef struct {
|
||||
unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
|
||||
short cfFormat;
|
||||
} DDEADVISE;
|
||||
typedef struct {
|
||||
unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
|
||||
short cfFormat;
|
||||
BYTE Value[1];
|
||||
} DDEDATA;
|
||||
typedef struct {
|
||||
unsigned short unused:13,fRelease:1,fReserved:2;
|
||||
short cfFormat;
|
||||
BYTE Value[1];
|
||||
} DDEPOKE;
|
||||
typedef struct {
|
||||
unsigned short unused:13,
|
||||
fRelease:1,
|
||||
fDeferUpd:1,
|
||||
fAckReq:1;
|
||||
short cfFormat;
|
||||
} DDELN;
|
||||
|
||||
typedef struct {
|
||||
unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
|
||||
short cfFormat;
|
||||
BYTE rgb[1];
|
||||
} DDEUP;
|
||||
BOOL WINAPI DdeSetQualityOfService(HWND,const SECURITY_QUALITY_OF_SERVICE*,PSECURITY_QUALITY_OF_SERVICE);
|
||||
BOOL WINAPI ImpersonateDdeClientWindow(HWND,HWND);
|
||||
LPARAM WINAPI PackDDElParam(UINT,UINT_PTR,UINT_PTR);
|
||||
BOOL WINAPI UnpackDDElParam(UINT,LPARAM,PUINT_PTR,PUINT_PTR);
|
||||
BOOL WINAPI FreeDDElParam(UINT,LPARAM);
|
||||
LPARAM WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT_PTR,UINT_PTR);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
314
reactos/w32api/include/ddeml.h
Normal file
314
reactos/w32api/include/ddeml.h
Normal file
|
@ -0,0 +1,314 @@
|
|||
#ifndef _DDEML_H
|
||||
#define _DDEML_H
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define EXPENTRY CALLBACK
|
||||
#define CP_WINANSI 1004
|
||||
#define CP_WINUNICODE 1200
|
||||
#define XTYPF_NOBLOCK 2
|
||||
#define XTYPF_NODATA 4
|
||||
#define XTYPF_ACKREQ 8
|
||||
#define XCLASS_MASK 0xFC00
|
||||
#define XCLASS_BOOL 0x1000
|
||||
#define XCLASS_DATA 0x2000
|
||||
#define XCLASS_FLAGS 0x4000
|
||||
#define XCLASS_NOTIFICATION 0x8000
|
||||
#define XST_NULL 0
|
||||
#define XST_INCOMPLETE 1
|
||||
#define XST_CONNECTED 2
|
||||
#define XST_INIT1 3
|
||||
#define XST_INIT2 4
|
||||
#define XST_REQSENT 5
|
||||
#define XST_DATARCVD 6
|
||||
#define XST_POKESENT 7
|
||||
#define XST_POKEACKRCVD 8
|
||||
#define XST_EXECSENT 9
|
||||
#define XST_EXECACKRCVD 10
|
||||
#define XST_ADVSENT 11
|
||||
#define XST_UNADVSENT 12
|
||||
#define XST_ADVACKRCVD 13
|
||||
#define XST_UNADVACKRCVD 14
|
||||
#define XST_ADVDATASENT 15
|
||||
#define XST_ADVDATAACKRCVD 16
|
||||
#define XTYP_ERROR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
|
||||
#define XTYP_ADVDATA (16|XCLASS_FLAGS)
|
||||
#define XTYP_ADVREQ (32|XCLASS_DATA|XTYPF_NOBLOCK)
|
||||
#define XTYP_ADVSTART (0x30|XCLASS_BOOL)
|
||||
#define XTYP_ADVSTOP (0x0040|XCLASS_NOTIFICATION)
|
||||
#define XTYP_EXECUTE (0x0050|XCLASS_FLAGS)
|
||||
#define XTYP_CONNECT (0x0060|XCLASS_BOOL|XTYPF_NOBLOCK)
|
||||
#define XTYP_CONNECT_CONFIRM (0x0070|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
|
||||
#define XTYP_XACT_COMPLETE (0x0080|XCLASS_NOTIFICATION)
|
||||
#define XTYP_POKE (0x0090|XCLASS_FLAGS)
|
||||
#define XTYP_REGISTER (0x00A0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
|
||||
#define XTYP_REQUEST (0x00B0|XCLASS_DATA)
|
||||
#define XTYP_DISCONNECT (0x00C0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
|
||||
#define XTYP_UNREGISTER (0x00D0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
|
||||
#define XTYP_WILDCONNECT (0x00E0|XCLASS_DATA|XTYPF_NOBLOCK)
|
||||
#define XTYP_MASK 0xF0
|
||||
#define XTYP_SHIFT 4
|
||||
#define TIMEOUT_ASYNC 0xFFFFFFFF
|
||||
#define QID_SYNC 0xFFFFFFFF
|
||||
#define ST_CONNECTED 1
|
||||
#define ST_ADVISE 2
|
||||
#define ST_ISLOCAL 4
|
||||
#define ST_BLOCKED 8
|
||||
#define ST_CLIENT 16
|
||||
#define ST_TERMINATED 32
|
||||
#define ST_INLIST 64
|
||||
#define ST_BLOCKNEXT 128
|
||||
#define ST_ISSELF 256
|
||||
#define CADV_LATEACK 0xFFFF
|
||||
#define DMLERR_NO_ERROR 0
|
||||
#define DMLERR_FIRST 0x4000
|
||||
#define DMLERR_ADVACKTIMEOUT 0x4000
|
||||
#define DMLERR_BUSY 0x4001
|
||||
#define DMLERR_DATAACKTIMEOUT 0x4002
|
||||
#define DMLERR_DLL_NOT_INITIALIZED 0x4003
|
||||
#define DMLERR_DLL_USAGE 0x4004
|
||||
#define DMLERR_EXECACKTIMEOUT 0x4005
|
||||
#define DMLERR_INVALIDPARAMETER 0x4006
|
||||
#define DMLERR_LOW_MEMORY 0x4007
|
||||
#define DMLERR_MEMORY_ERROR 0x4008
|
||||
#define DMLERR_NOTPROCESSED 0x4009
|
||||
#define DMLERR_NO_CONV_ESTABLISHED 0x400a
|
||||
#define DMLERR_POKEACKTIMEOUT 0x400b
|
||||
#define DMLERR_POSTMSG_FAILED 0x400c
|
||||
#define DMLERR_REENTRANCY 0x400d
|
||||
#define DMLERR_SERVER_DIED 0x400e
|
||||
#define DMLERR_SYS_ERROR 0x400f
|
||||
#define DMLERR_UNADVACKTIMEOUT 0x4010
|
||||
#define DMLERR_UNFOUND_QUEUE_ID 0x4011
|
||||
#define DMLERR_LAST 0x4011
|
||||
#define DDE_FACK 0x8000
|
||||
#define DDE_FBUSY 0x4000
|
||||
#define DDE_FDEFERUPD 0x4000
|
||||
#define DDE_FACKREQ 0x8000
|
||||
#define DDE_FRELEASE 0x2000
|
||||
#define DDE_FREQUESTED 0x1000
|
||||
#define DDE_FAPPSTATUS 0x00ff
|
||||
#define DDE_FNOTPROCESSED 0
|
||||
#define DDE_FACKRESERVED (~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS))
|
||||
#define DDE_FADVRESERVED (~(DDE_FACKREQ|DDE_FDEFERUPD))
|
||||
#define DDE_FDATRESERVED (~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED))
|
||||
#define DDE_FPOKRESERVED (~DDE_FRELEASE)
|
||||
#define MSGF_DDEMGR 0x8001
|
||||
#define CBR_BLOCK ((HDDEDATA)0xffffffff)
|
||||
#define CBF_FAIL_SELFCONNECTIONS 0x1000
|
||||
#define CBF_FAIL_CONNECTIONS 0x2000
|
||||
#define CBF_FAIL_ADVISES 0x4000
|
||||
#define CBF_FAIL_EXECUTES 0x8000
|
||||
#define CBF_FAIL_POKES 0x10000
|
||||
#define CBF_FAIL_REQUESTS 0x20000
|
||||
#define CBF_FAIL_ALLSVRXACTIONS 0x3f000
|
||||
#define CBF_SKIP_CONNECT_CONFIRMS 0x40000
|
||||
#define CBF_SKIP_REGISTRATIONS 0x80000
|
||||
#define CBF_SKIP_UNREGISTRATIONS 0x100000
|
||||
#define CBF_SKIP_DISCONNECTS 0x200000
|
||||
#define CBF_SKIP_ALLNOTIFICATIONS 0x3c0000
|
||||
#define APPCMD_CLIENTONLY 0x10L
|
||||
#define APPCMD_FILTERINITS 0x20L
|
||||
#define APPCMD_MASK 0xFF0L
|
||||
#define APPCLASS_STANDARD 0
|
||||
#define APPCLASS_MASK 0xFL
|
||||
#define EC_ENABLEALL 0
|
||||
#define EC_ENABLEONE ST_BLOCKNEXT
|
||||
#define EC_DISABLE ST_BLOCKED
|
||||
#define EC_QUERYWAITING 2
|
||||
#define DNS_REGISTER 1
|
||||
#define DNS_UNREGISTER 2
|
||||
#define DNS_FILTERON 4
|
||||
#define DNS_FILTEROFF 8
|
||||
#define HDATA_APPOWNED 1
|
||||
#define MAX_MONITORS 4
|
||||
#define APPCLASS_MONITOR 1L
|
||||
#define XTYP_MONITOR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK|0xF0)
|
||||
#define MF_HSZ_INFO 0x1000000
|
||||
#define MF_SENDMSGS 0x2000000
|
||||
#define MF_POSTMSGS 0x4000000
|
||||
#define MF_CALLBACKS 0x8000000
|
||||
#define MF_ERRORS 0x10000000
|
||||
#define MF_LINKS 0x20000000
|
||||
#define MF_CONV 0x40000000
|
||||
#define MF_MASK 0xFF000000
|
||||
#define MH_CREATE 1
|
||||
#define MH_KEEP 2
|
||||
#define MH_DELETE 3
|
||||
#define MH_CLEANUP 4
|
||||
|
||||
DECLARE_HANDLE(HCONVLIST);
|
||||
DECLARE_HANDLE(HCONV);
|
||||
DECLARE_HANDLE(HSZ);
|
||||
DECLARE_HANDLE(HDDEDATA);
|
||||
typedef HDDEDATA CALLBACK FNCALLBACK(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
|
||||
typedef HDDEDATA(CALLBACK *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
|
||||
typedef struct tagHSZPAIR {
|
||||
HSZ hszSvc;
|
||||
HSZ hszTopic;
|
||||
} HSZPAIR, *PHSZPAIR;
|
||||
typedef struct tagCONVCONTEXT {
|
||||
UINT cb;
|
||||
UINT wFlags;
|
||||
UINT wCountryID;
|
||||
int iCodePage;
|
||||
DWORD dwLangID;
|
||||
DWORD dwSecurity;
|
||||
SECURITY_QUALITY_OF_SERVICE qos;
|
||||
} CONVCONTEXT,*PCONVCONTEXT;
|
||||
typedef struct tagCONVINFO {
|
||||
DWORD cb;
|
||||
DWORD hUser;
|
||||
HCONV hConvPartner;
|
||||
HSZ hszSvcPartner;
|
||||
HSZ hszServiceReq;
|
||||
HSZ hszTopic;
|
||||
HSZ hszItem;
|
||||
UINT wFmt;
|
||||
UINT wType;
|
||||
UINT wStatus;
|
||||
UINT wConvst;
|
||||
UINT wLastError;
|
||||
HCONVLIST hConvList;
|
||||
CONVCONTEXT ConvCtxt;
|
||||
HWND hwnd;
|
||||
HWND hwndPartner;
|
||||
} CONVINFO,*PCONVINFO;
|
||||
typedef struct tagDDEML_MSG_HOOK_DATA {
|
||||
UINT uiLo;
|
||||
UINT uiHi;
|
||||
DWORD cbData;
|
||||
DWORD Data[8];
|
||||
} DDEML_MSG_HOOK_DATA;
|
||||
typedef struct tagMONHSZSTRUCT {
|
||||
UINT cb;
|
||||
BOOL fsAction;
|
||||
DWORD dwTime;
|
||||
HSZ hsz;
|
||||
HANDLE hTask;
|
||||
TCHAR str[1];
|
||||
} MONHSZSTRUCT, *PMONHSZSTRUCT;
|
||||
typedef struct tagMONLINKSTRUCT {
|
||||
UINT cb;
|
||||
DWORD dwTime;
|
||||
HANDLE hTask;
|
||||
BOOL fEstablished;
|
||||
BOOL fNoData;
|
||||
HSZ hszSvc;
|
||||
HSZ hszTopic;
|
||||
HSZ hszItem;
|
||||
UINT wFmt;
|
||||
BOOL fServer;
|
||||
HCONV hConvServer;
|
||||
HCONV hConvClient;
|
||||
} MONLINKSTRUCT, *PMONLINKSTRUCT;
|
||||
typedef struct tagMONCONVSTRUCT {
|
||||
UINT cb;
|
||||
BOOL fConnect;
|
||||
DWORD dwTime;
|
||||
HANDLE hTask;
|
||||
HSZ hszSvc;
|
||||
HSZ hszTopic;
|
||||
HCONV hConvClient;
|
||||
HCONV hConvServer;
|
||||
} MONCONVSTRUCT, *PMONCONVSTRUCT;
|
||||
typedef struct tagMONCBSTRUCT {
|
||||
UINT cb;
|
||||
DWORD dwTime;
|
||||
HANDLE hTask;
|
||||
DWORD dwRet;
|
||||
UINT wType;
|
||||
UINT wFmt;
|
||||
HCONV hConv;
|
||||
HSZ hsz1;
|
||||
HSZ hsz2;
|
||||
HDDEDATA hData;
|
||||
ULONG_PTR dwData1;
|
||||
ULONG_PTR dwData2;
|
||||
CONVCONTEXT cc;
|
||||
DWORD cbData;
|
||||
DWORD Data[8];
|
||||
} MONCBSTRUCT, *PMONCBSTRUCT;
|
||||
typedef struct tagMONERRSTRUCT {
|
||||
UINT cb;
|
||||
UINT wLastError;
|
||||
DWORD dwTime;
|
||||
HANDLE hTask;
|
||||
} MONERRSTRUCT, *PMONERRSTRUCT;
|
||||
typedef struct tagMONMSGSTRUCT {
|
||||
UINT cb;
|
||||
HWND hwndTo;
|
||||
DWORD dwTime;
|
||||
HANDLE hTask;
|
||||
UINT wMsg;
|
||||
WPARAM wParam;
|
||||
LPARAM lParam;
|
||||
DDEML_MSG_HOOK_DATA dmhd;
|
||||
} MONMSGSTRUCT, *PMONMSGSTRUCT;
|
||||
|
||||
BOOL WINAPI DdeAbandonTransaction(DWORD,HCONV,DWORD);
|
||||
PBYTE WINAPI DdeAccessData(HDDEDATA,PDWORD);
|
||||
HDDEDATA WINAPI DdeAddData(HDDEDATA,PBYTE,DWORD,DWORD);
|
||||
HDDEDATA WINAPI DdeClientTransaction(PBYTE,DWORD,HCONV,HSZ,UINT,UINT,DWORD,PDWORD);
|
||||
int WINAPI DdeCmpStringHandles(HSZ,HSZ);
|
||||
HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,PCONVCONTEXT);
|
||||
HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT);
|
||||
HDDEDATA WINAPI DdeCreateDataHandle(DWORD,PBYTE,DWORD,DWORD,HSZ,UINT,UINT);
|
||||
HSZ WINAPI DdeCreateStringHandleA(DWORD,LPSTR,int);
|
||||
HSZ WINAPI DdeCreateStringHandleW(DWORD,LPWSTR,int);
|
||||
BOOL WINAPI DdeDisconnect(HCONV);
|
||||
BOOL WINAPI DdeDisconnectList(HCONVLIST);
|
||||
BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT);
|
||||
BOOL WINAPI DdeFreeDataHandle(HDDEDATA);
|
||||
BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
|
||||
DWORD WINAPI DdeGetData(HDDEDATA,PBYTE,DWORD,DWORD);
|
||||
UINT WINAPI DdeGetLastError(DWORD);
|
||||
BOOL WINAPI DdeImpersonateClient(HCONV);
|
||||
UINT WINAPI DdeInitializeA(PDWORD,PFNCALLBACK,DWORD,DWORD);
|
||||
UINT WINAPI DdeInitializeW(PDWORD,PFNCALLBACK,DWORD,DWORD);
|
||||
BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ);
|
||||
HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT);
|
||||
BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ);
|
||||
UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,PCONVINFO);
|
||||
HCONV WINAPI DdeQueryNextServer(HCONVLIST,HCONV);
|
||||
DWORD WINAPI DdeQueryStringA(DWORD,HSZ,LPSTR,DWORD,int);
|
||||
DWORD WINAPI DdeQueryStringW(DWORD,HSZ,LPWSTR,DWORD,int);
|
||||
HCONV WINAPI DdeReconnect(HCONV);
|
||||
BOOL WINAPI DdeSetUserHandle(HCONV,DWORD,DWORD);
|
||||
BOOL WINAPI DdeUnaccessData(HDDEDATA);
|
||||
BOOL WINAPI DdeUninitialize(DWORD);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define SZDDESYS_TOPIC L"System"
|
||||
#define SZDDESYS_ITEM_TOPICS L"Topics"
|
||||
#define SZDDESYS_ITEM_SYSITEMS L"SysItems"
|
||||
#define SZDDESYS_ITEM_RTNMSG L"ReturnMessage"
|
||||
#define SZDDESYS_ITEM_STATUS L"Status"
|
||||
#define SZDDESYS_ITEM_FORMATS L"Formats"
|
||||
#define SZDDESYS_ITEM_HELP L"Help"
|
||||
#define SZDDE_ITEM_ITEMLIST L"TopicItemList"
|
||||
#define DdeCreateStringHandle DdeCreateStringHandleW
|
||||
#define DdeInitialize DdeInitializeW
|
||||
#define DdeQueryString DdeQueryStringW
|
||||
#else
|
||||
#define SZDDESYS_TOPIC "System"
|
||||
#define SZDDESYS_ITEM_TOPICS "Topics"
|
||||
#define SZDDESYS_ITEM_SYSITEMS "SysItems"
|
||||
#define SZDDESYS_ITEM_RTNMSG "ReturnMessage"
|
||||
#define SZDDESYS_ITEM_STATUS "Status"
|
||||
#define SZDDESYS_ITEM_FORMATS "Formats"
|
||||
#define SZDDESYS_ITEM_HELP "Help"
|
||||
#define SZDDE_ITEM_ITEMLIST "TopicItemList"
|
||||
#define DdeCreateStringHandle DdeCreateStringHandleA
|
||||
#define DdeInitialize DdeInitializeA
|
||||
#define DdeQueryString DdeQueryStringA
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _DDEML_H */
|
510
reactos/w32api/include/ddk/atm.h
Normal file
510
reactos/w32api/include/ddk/atm.h
Normal file
|
@ -0,0 +1,510 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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;
|
||||
} 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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __ATM_H */
|
302
reactos/w32api/include/ddk/batclass.h
Normal file
302
reactos/w32api/include/ddk/batclass.h
Normal file
|
@ -0,0 +1,302 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __BATCLASS_H */
|
143
reactos/w32api/include/ddk/cfg.h
Normal file
143
reactos/w32api/include/ddk/cfg.h
Normal file
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CFG_H */
|
1533
reactos/w32api/include/ddk/cfgmgr32.h
Normal file
1533
reactos/w32api/include/ddk/cfgmgr32.h
Normal file
File diff suppressed because it is too large
Load diff
108
reactos/w32api/include/ddk/d4drvif.h
Normal file
108
reactos/w32api/include/ddk/d4drvif.h
Normal file
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D4DRVIF_H */
|
88
reactos/w32api/include/ddk/d4iface.h
Normal file
88
reactos/w32api/include/ddk/d4iface.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __D4IFACE_H */
|
338
reactos/w32api/include/ddk/ddkmapi.h
Normal file
338
reactos/w32api/include/ddk/ddkmapi.h
Normal file
|
@ -0,0 +1,338 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __DDKMAPI_H */
|
151
reactos/w32api/include/ddk/hidclass.h
Normal file
151
reactos/w32api/include/ddk/hidclass.h
Normal file
|
@ -0,0 +1,151 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 {
|
||||
#if 0
|
||||
/* FIXME: COM stuff */
|
||||
#ifdef __cplusplus
|
||||
INTERFACE i;
|
||||
#else
|
||||
INTERFACE;
|
||||
#endif
|
||||
#endif
|
||||
PHIDP_GETCAPS HidpGetCaps;
|
||||
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
|
||||
|
||||
typedef struct _HID_INTERFACE_NOTIFY_PNP {
|
||||
#if 0
|
||||
/* FIXME: COM stuff */
|
||||
#ifdef __cplusplus
|
||||
INTERFACE i;
|
||||
#else
|
||||
INTERFACE;
|
||||
#endif
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __HIDCLASS_H */
|
608
reactos/w32api/include/ddk/hidpi.h
Normal file
608
reactos/w32api/include/ddk/hidpi.h
Normal file
|
@ -0,0 +1,608 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __HIDPI_H */
|
210
reactos/w32api/include/ddk/hidusage.h
Normal file
210
reactos/w32api/include/ddk/hidusage.h
Normal file
|
@ -0,0 +1,210 @@
|
|||
/*
|
||||
* 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 */
|
147
reactos/w32api/include/ddk/mcd.h
Normal file
147
reactos/w32api/include/ddk/mcd.h
Normal file
|
@ -0,0 +1,147 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MCD_H */
|
82
reactos/w32api/include/ddk/miniport.h
Normal file
82
reactos/w32api/include/ddk/miniport.h
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MINIPORT_H */
|
223
reactos/w32api/include/ddk/minitape.h
Normal file
223
reactos/w32api/include/ddk/minitape.h
Normal file
|
@ -0,0 +1,223 @@
|
|||
/*
|
||||
* 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 */
|
84
reactos/w32api/include/ddk/mountdev.h
Normal file
84
reactos/w32api/include/ddk/mountdev.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MOUNTDEV_H */
|
144
reactos/w32api/include/ddk/mountmgr.h
Normal file
144
reactos/w32api/include/ddk/mountmgr.h
Normal file
|
@ -0,0 +1,144 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MOUNTMGR_H */
|
5189
reactos/w32api/include/ddk/ndis.h
Normal file
5189
reactos/w32api/include/ddk/ndis.h
Normal file
File diff suppressed because it is too large
Load diff
439
reactos/w32api/include/ddk/ndisguid.h
Normal file
439
reactos/w32api/include/ddk/ndisguid.h
Normal file
|
@ -0,0 +1,439 @@
|
|||
/*
|
||||
* 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 */
|
1312
reactos/w32api/include/ddk/ndistapi.h
Normal file
1312
reactos/w32api/include/ddk/ndistapi.h
Normal file
File diff suppressed because it is too large
Load diff
255
reactos/w32api/include/ddk/ndiswan.h
Normal file
255
reactos/w32api/include/ddk/ndiswan.h
Normal file
|
@ -0,0 +1,255 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NDISWAN_H */
|
42
reactos/w32api/include/ddk/netevent.h
Normal file
42
reactos/w32api/include/ddk/netevent.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* 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 */
|
73
reactos/w32api/include/ddk/netpnp.h
Normal file
73
reactos/w32api/include/ddk/netpnp.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NETPNP_H */
|
70
reactos/w32api/include/ddk/newdev.h
Normal file
70
reactos/w32api/include/ddk/newdev.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
/* 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 */
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NEWDEV_H */
|
2887
reactos/w32api/include/ddk/ntapi.h
Normal file
2887
reactos/w32api/include/ddk/ntapi.h
Normal file
File diff suppressed because it is too large
Load diff
218
reactos/w32api/include/ddk/ntdd8042.h
Normal file
218
reactos/w32api/include/ddk/ntdd8042.h
Normal file
|
@ -0,0 +1,218 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDD8042_H */
|
59
reactos/w32api/include/ddk/ntddbeep.h
Normal file
59
reactos/w32api/include/ddk/ntddbeep.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDBEEP_H */
|
352
reactos/w32api/include/ddk/ntddcdrm.h
Normal file
352
reactos/w32api/include/ddk/ntddcdrm.h
Normal file
|
@ -0,0 +1,352 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCDRM_H */
|
214
reactos/w32api/include/ddk/ntddcdvd.h
Normal file
214
reactos/w32api/include/ddk/ntddcdvd.h
Normal file
|
@ -0,0 +1,214 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
typedef struct DVD_READ_STRUCTURE {
|
||||
LARGE_INTEGER BlockByteOffset;
|
||||
DVD_STRUCTURE_FORMAT Format;
|
||||
DVD_SESSION_ID SessionId;
|
||||
UCHAR LayerNumber;
|
||||
} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
|
||||
|
||||
typedef struct _DVD_DESCRIPTOR_HEADER {
|
||||
USHORT Length;
|
||||
UCHAR Reserved[2];
|
||||
UCHAR Data[0];
|
||||
} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCDVD_H */
|
358
reactos/w32api/include/ddk/ntddchgr.h
Normal file
358
reactos/w32api/include/ddk/ntddchgr.h
Normal file
|
@ -0,0 +1,358 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDCHGR_H */
|
522
reactos/w32api/include/ddk/ntdddisk.h
Normal file
522
reactos/w32api/include/ddk/ntdddisk.h
Normal file
|
@ -0,0 +1,522 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
typedef struct _SENDCMDINPARAMS {
|
||||
ULONG cBufferSize;
|
||||
IDEREGS irDriveRegs;
|
||||
UCHAR bDriveNumber;
|
||||
UCHAR bReserved[3];
|
||||
ULONG dwReserved[4];
|
||||
UCHAR bBuffer[1];
|
||||
} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
|
||||
|
||||
/* 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
|
||||
|
||||
typedef struct _SENDCMDOUTPARAMS {
|
||||
ULONG cBufferSize;
|
||||
DRIVERSTATUS DriverStatus;
|
||||
UCHAR bBuffer[1];
|
||||
} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDDISK_H */
|
90
reactos/w32api/include/ddk/ntddk.h
Normal file
90
reactos/w32api/include/ddk/ntddk.h
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#ifndef __NTDDK_H
|
||||
#define __NTDDK_H
|
||||
|
||||
#if __GNUC__ >=3
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <windef.h>
|
||||
#include <ntdef.h>
|
||||
#include <basetyps.h>
|
||||
|
||||
/* Base types, structures and definitions */
|
||||
typedef short CSHORT;
|
||||
typedef CONST int CINT;
|
||||
typedef CONST char *PCSZ;
|
||||
|
||||
#ifndef STATIC
|
||||
#define STATIC static
|
||||
#endif
|
||||
|
||||
#ifndef CALLBACK
|
||||
#define CALLBACK
|
||||
#endif
|
||||
|
||||
#ifndef DECL_IMPORT
|
||||
#define DECL_IMPORT __attribute__((dllimport))
|
||||
#endif
|
||||
|
||||
#ifndef DECL_EXPORT
|
||||
#define DECL_EXPORT __attribute__((dllexport))
|
||||
#endif
|
||||
|
||||
/* Windows NT status codes */
|
||||
#include "ntstatus.h"
|
||||
|
||||
/* Windows NT definitions exported to user mode */
|
||||
#include <winnt.h>
|
||||
|
||||
/* Windows Device Driver Kit */
|
||||
#include "winddk.h"
|
||||
|
||||
/* Definitions only in Windows XP */
|
||||
#include "winxp.h"
|
||||
|
||||
/* Definitions only in Windows 2000 */
|
||||
#include "win2k.h"
|
||||
|
||||
/* Definitions only in Windows NT 4 */
|
||||
#include "winnt4.h"
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDK_H */
|
140
reactos/w32api/include/ddk/ntddkbd.h
Normal file
140
reactos/w32api/include/ddk/ntddkbd.h
Normal file
|
@ -0,0 +1,140 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDKBD_H */
|
120
reactos/w32api/include/ddk/ntddmou.h
Normal file
120
reactos/w32api/include/ddk/ntddmou.h
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDMOU_H */
|
188
reactos/w32api/include/ddk/ntddndis.h
Normal file
188
reactos/w32api/include/ddk/ntddndis.h
Normal file
|
@ -0,0 +1,188 @@
|
|||
/*
|
||||
* 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 */
|
124
reactos/w32api/include/ddk/ntddpar.h
Normal file
124
reactos/w32api/include/ddk/ntddpar.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDPAR_H */
|
170
reactos/w32api/include/ddk/ntddpcm.h
Normal file
170
reactos/w32api/include/ddk/ntddpcm.h
Normal file
|
@ -0,0 +1,170 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDPCM_H */
|
176
reactos/w32api/include/ddk/ntddscsi.h
Normal file
176
reactos/w32api/include/ddk/ntddscsi.h
Normal file
|
@ -0,0 +1,176 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSCSI_H */
|
454
reactos/w32api/include/ddk/ntddser.h
Normal file
454
reactos/w32api/include/ddk/ntddser.h
Normal file
|
@ -0,0 +1,454 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSER_H */
|
338
reactos/w32api/include/ddk/ntddstor.h
Normal file
338
reactos/w32api/include/ddk/ntddstor.h
Normal file
|
@ -0,0 +1,338 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDSTOR_H */
|
84
reactos/w32api/include/ddk/ntddtape.h
Normal file
84
reactos/w32api/include/ddk/ntddtape.h
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDTAPE_H */
|
66
reactos/w32api/include/ddk/ntddtdi.h
Normal file
66
reactos/w32api/include/ddk/ntddtdi.h
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDTDI_H */
|
444
reactos/w32api/include/ddk/ntddvdeo.h
Normal file
444
reactos/w32api/include/ddk/ntddvdeo.h
Normal file
|
@ -0,0 +1,444 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDVDEO_H */
|
146
reactos/w32api/include/ddk/ntddvol.h
Normal file
146
reactos/w32api/include/ddk/ntddvol.h
Normal file
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTDDVOL_H */
|
4691
reactos/w32api/include/ddk/ntifs.h
Normal file
4691
reactos/w32api/include/ddk/ntifs.h
Normal file
File diff suppressed because it is too large
Load diff
234
reactos/w32api/include/ddk/ntpoapi.h
Normal file
234
reactos/w32api/include/ddk/ntpoapi.h
Normal file
|
@ -0,0 +1,234 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __NTPOAPI_H */
|
1105
reactos/w32api/include/ddk/ntstatus.h
Normal file
1105
reactos/w32api/include/ddk/ntstatus.h
Normal file
File diff suppressed because it is too large
Load diff
282
reactos/w32api/include/ddk/parallel.h
Normal file
282
reactos/w32api/include/ddk/parallel.h
Normal file
|
@ -0,0 +1,282 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PARALLEL_H */
|
81
reactos/w32api/include/ddk/pfhook.h
Normal file
81
reactos/w32api/include/ddk/pfhook.h
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __PFHOOK_H */
|
123
reactos/w32api/include/ddk/poclass.h
Normal file
123
reactos/w32api/include/ddk/poclass.h
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __POCLASS_H */
|
1698
reactos/w32api/include/ddk/scsi.h
Normal file
1698
reactos/w32api/include/ddk/scsi.h
Normal file
File diff suppressed because it is too large
Load diff
135
reactos/w32api/include/ddk/scsiscan.h
Normal file
135
reactos/w32api/include/ddk/scsiscan.h
Normal file
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SCSISCAN_H */
|
215
reactos/w32api/include/ddk/scsiwmi.h
Normal file
215
reactos/w32api/include/ddk/scsiwmi.h
Normal file
|
@ -0,0 +1,215 @@
|
|||
/*
|
||||
* 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 */
|
194
reactos/w32api/include/ddk/smbus.h
Normal file
194
reactos/w32api/include/ddk/smbus.h
Normal file
|
@ -0,0 +1,194 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SMBUS_H */
|
757
reactos/w32api/include/ddk/srb.h
Normal file
757
reactos/w32api/include/ddk/srb.h
Normal file
|
@ -0,0 +1,757 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 TaggedQueueing;
|
||||
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 TaggedQueueing;
|
||||
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 ...);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SRB_H */
|
426
reactos/w32api/include/ddk/storport.h
Normal file
426
reactos/w32api/include/ddk/storport.h
Normal file
|
@ -0,0 +1,426 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __STORPORT_H */
|
597
reactos/w32api/include/ddk/tdi.h
Normal file
597
reactos/w32api/include/ddk/tdi.h
Normal file
|
@ -0,0 +1,597 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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 _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_ADDRESS_INFO {
|
||||
ULONG ActivityCount;
|
||||
TRANSPORT_ADDRESS Address;
|
||||
} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
|
||||
|
||||
typedef struct _TDI_ACTION_HEADER {
|
||||
ULONG TransportId;
|
||||
USHORT ActionCode;
|
||||
USHORT Reserved;
|
||||
} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
|
||||
|
||||
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 _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
|
||||
|
||||
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_ADDRESS_IP, *PTA_ADDRESS_IP;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
/* 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'
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TDI_H */
|
115
reactos/w32api/include/ddk/tdiinfo.h
Normal file
115
reactos/w32api/include/ddk/tdiinfo.h
Normal file
|
@ -0,0 +1,115 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TDIINFO_H */
|
1166
reactos/w32api/include/ddk/tdikrnl.h
Normal file
1166
reactos/w32api/include/ddk/tdikrnl.h
Normal file
File diff suppressed because it is too large
Load diff
83
reactos/w32api/include/ddk/tdistat.h
Normal file
83
reactos/w32api/include/ddk/tdistat.h
Normal file
|
@ -0,0 +1,83 @@
|
|||
/*
|
||||
* 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 */
|
121
reactos/w32api/include/ddk/tvout.h
Normal file
121
reactos/w32api/include/ddk/tvout.h
Normal file
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __TVOUT_H */
|
98
reactos/w32api/include/ddk/upssvc.h
Normal file
98
reactos/w32api/include/ddk/upssvc.h
Normal file
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __UPSSVC_H */
|
475
reactos/w32api/include/ddk/usb.h
Normal file
475
reactos/w32api/include/ddk/usb.h
Normal file
|
@ -0,0 +1,475 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* defined __USBDI_H */
|
||||
|
||||
#endif /* __USB_H */
|
233
reactos/w32api/include/ddk/usb100.h
Normal file
233
reactos/w32api/include/ddk/usb100.h
Normal file
|
@ -0,0 +1,233 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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
|
||||
|
||||
typedef struct _USB_CONFIGURATION_DESCRIPTOR {
|
||||
UCHAR bLength;
|
||||
UCHAR bDescriptorType;
|
||||
USHORT wTotalLength;
|
||||
UCHAR bNumInterfaces;
|
||||
UCHAR iConfiguration;
|
||||
UCHAR bmAttributes;
|
||||
UCHAR MaxPower;
|
||||
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
|
||||
|
||||
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
|
||||
|
||||
typedef struct _USB_ENDPOINT_DESCRIPTOR {
|
||||
UCHAR bLength;
|
||||
UCHAR bDescriptorType;
|
||||
UCHAR bEndpointAddress;
|
||||
UCHAR bmAttributes;
|
||||
USHORT wMaxPacketSize;
|
||||
UCHAR bInterval;
|
||||
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
|
||||
|
||||
#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;
|
||||
|
||||
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;
|
||||
|
||||
#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
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USB100_H */
|
404
reactos/w32api/include/ddk/usbcamdi.h
Normal file
404
reactos/w32api/include/ddk/usbcamdi.h
Normal file
|
@ -0,0 +1,404 @@
|
|||
/*
|
||||
* 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 */
|
412
reactos/w32api/include/ddk/usbdi.h
Normal file
412
reactos/w32api/include/ddk/usbdi.h
Normal file
|
@ -0,0 +1,412 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* defined __USB_H */
|
||||
|
||||
#endif /* __USBDI_H */
|
353
reactos/w32api/include/ddk/usbioctl.h
Normal file
353
reactos/w32api/include/ddk/usbioctl.h
Normal file
|
@ -0,0 +1,353 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#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;
|
||||
|
||||
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;
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __USBIOCTL_H */
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue