Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Johnny Cai
wine
Commits
eba9649b
Commit
eba9649b
authored
22 years ago
by
Patrik Stridvall
Committed by
Alexandre Julliard
22 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Added the new header winternl.h.
parent
4041c6b6
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
include/Makefile.in
+1
-0
1 addition, 0 deletions
include/Makefile.in
include/winternl.h
+308
-0
308 additions, 0 deletions
include/winternl.h
with
309 additions
and
0 deletions
include/Makefile.in
+
1
−
0
View file @
eba9649b
...
...
@@ -195,6 +195,7 @@ INSTALLED_INCLUDES = \
winsock2.h
\
winspool.h
\
winsvc.h
\
winternl.h
\
winuser.h
\
winver.h
\
wnaspi32.h
\
...
...
This diff is collapsed.
Click to expand it.
include/winternl.h
0 → 100644
+
308
−
0
View file @
eba9649b
/*
* Internal NT APIs and data structures
*
* Copyright (C) the Wine project
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINTERNAL_H
#define __WINE_WINTERNAL_H
#include
"windef.h"
#ifdef __cplusplus
extern
"C"
{
#endif
/* defined(__cplusplus) */
/***********************************************************************
* PEB data structure
*/
typedef
struct
_PEB
{
BYTE
Reserved1
[
2
];
BYTE
BeingDebugged
;
BYTE
Reserved2
[
229
];
PVOID
Reserved3
[
59
];
ULONG
SessionId
;
}
PEB
,
*
PPEB
;
/***********************************************************************
* PEB data structure
*/
typedef
struct
_TEB
{
BYTE
Reserved1
[
1952
];
PVOID
Reserved2
[
412
];
PVOID
TlsSlots
[
64
];
BYTE
Reserved3
[
8
];
PVOID
Reserved4
[
26
];
PVOID
ReservedForOle
;
/* Windows 2000 only */
PVOID
Reserved5
[
4
];
PVOID
TlsExpansionSlots
;
}
TEB
,
*
PTEB
;
/**********************************************************************
* Various types and data structures
*/
typedef
LONG
NTSTATUS
;
typedef
CONST
char
*
PCSZ
;
typedef
struct
_STRING
{
USHORT
Length
;
USHORT
MaximumLength
;
PCHAR
Buffer
;
}
STRING
,
*
PSTRING
;
typedef
STRING
ANSI_STRING
;
typedef
PSTRING
PANSI_STRING
;
typedef
PSTRING
PCANSI_STRING
;
typedef
STRING
OEM_STRING
;
typedef
PSTRING
POEM_STRING
;
typedef
const
STRING
*
PCOEM_STRING
;
typedef
struct
_UNICODE_STRING
{
USHORT
Length
;
USHORT
MaximumLength
;
PWSTR
Buffer
;
}
UNICODE_STRING
,
*
PUNICODE_STRING
;
typedef
const
UNICODE_STRING
*
PCUNICODE_STRING
;
typedef
struct
_OBJECT_ATTRIBUTES
{
ULONG
Length
;
HANDLE
RootDirectory
;
PUNICODE_STRING
ObjectName
;
ULONG
Attributes
;
PVOID
SecurityDescriptor
;
PVOID
SecurityQualityOfService
;
}
OBJECT_ATTRIBUTES
,
*
POBJECT_ATTRIBUTES
;
typedef
struct
_IO_STATUS_BLOCK
{
union
{
NTSTATUS
Status
;
PVOID
Pointer
;
}
DUMMYUNIONNAME
;
ULONG_PTR
Information
;
}
IO_STATUS_BLOCK
,
*
PIO_STATUS_BLOCK
;
typedef
void
(
WINAPI
*
PIO_APC_ROUTINE
)(
PVOID
,
PIO_STATUS_BLOCK
,
ULONG
);
/***********************************************************************
* IA64 specific types and data structures
*/
#ifdef __ia64__
typedef
struct
_FRAME_POINTERS
{
ULONGLONG
MemoryStackFp
;
ULONGLONG
BackingStoreFp
;
}
FRAME_POINTERS
,
*
PFRAME_POINTERS
;
#define UNWIND_HISTORY_TABLE_SIZE 12
typedef
struct
_RUNTIME_FUNCTION
{
ULONG
BeginAddress
;
ULONG
EndAddress
;
ULONG
UnwindInfoAddress
;
}
RUNTIME_FUNCTION
,
*
PRUNTIME_FUNCTION
;
typedef
struct
_UNWIND_HISTORY_TABLE_ENTRY
{
ULONG64
ImageBase
;
ULONG64
Gp
;
PRUNTIME_FUNCTION
FunctionEntry
;
}
UNWIND_HISTORY_TABLE_ENTRY
,
*
PUNWIND_HISTORY_TABLE_ENTRY
;
typedef
struct
_UNWIND_HISTORY_TABLE
{
ULONG
Count
;
UCHAR
Search
;
ULONG64
LowAddress
;
ULONG64
HighAddress
;
UNWIND_HISTORY_TABLE_ENTRY
Entry
[
UNWIND_HISTORY_TABLE_SIZE
];
}
UNWIND_HISTORY_TABLE
,
*
PUNWIND_HISTORY_TABLE
;
#endif
/* defined(__ia64__) */
/***********************************************************************
* Various types and data structures
*/
typedef
struct
_PROCESS_BASIC_INFORMATION
{
PVOID
Reserved1
;
PPEB
PebBaseAddress
;
PVOID
Reserved2
[
2
];
ULONG_PTR
UniqueProcessId
;
PVOID
Reserved3
;
}
PROCESS_BASIC_INFORMATION
,
*
PPROCESS_BASIC_INFORMATION
;
typedef
struct
_SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
{
LARGE_INTEGER
IdleTime
;
LARGE_INTEGER
KernelTime
;
LARGE_INTEGER
UserTime
;
LARGE_INTEGER
Reserved1
[
2
];
ULONG
Reserved2
;
}
SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
,
*
PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
;
typedef
struct
_SYSTEM_PROCESS_INFORMATION
{
ULONG
NextEntryOffset
;
BYTE
Reserved1
[
52
];
PVOID
Reserved2
[
3
];
HANDLE
UniqueProcessId
;
PVOID
Reserved3
;
ULONG
HandleCount
;
BYTE
Reserved4
[
4
];
PVOID
Reserved5
[
11
];
SIZE_T
PeakPagefileUsage
;
SIZE_T
PrivatePageCount
;
LARGE_INTEGER
Reserved6
[
6
];
}
SYSTEM_PROCESS_INFORMATION
,
*
PSYSTEM_PROCESS_INFORMATION
;
typedef
struct
_SYSTEM_REGISTRY_QUOTA_INFORMATION
{
ULONG
RegistryQuotaAllowed
;
ULONG
RegistryQuotaUsed
;
PVOID
Reserved1
;
}
SYSTEM_REGISTRY_QUOTA_INFORMATION
,
*
PSYSTEM_REGISTRY_QUOTA_INFORMATION
;
typedef
struct
_SYSTEM_BASIC_INFORMATION
{
BYTE
Reserved1
[
24
];
PVOID
Reserved2
[
4
];
CCHAR
NumberOfProcessors
;
}
SYSTEM_BASIC_INFORMATION
,
*
PSYSTEM_BASIC_INFORMATION
;
typedef
struct
_SYSTEM_TIMEOFDAY_INFORMATION
{
BYTE
Reserved1
[
48
];
}
SYSTEM_TIMEOFDAY_INFORMATION
,
*
PSYSTEM_TIMEOFDAY_INFORMATION
;
typedef
struct
_SYSTEM_PERFORMANCE_INFORMATION
{
BYTE
Reserved1
[
312
];
}
SYSTEM_PERFORMANCE_INFORMATION
,
*
PSYSTEM_PERFORMANCE_INFORMATION
;
typedef
struct
_SYSTEM_EXCEPTION_INFORMATION
{
BYTE
Reserved1
[
16
];
}
SYSTEM_EXCEPTION_INFORMATION
,
*
PSYSTEM_EXCEPTION_INFORMATION
;
typedef
struct
_SYSTEM_LOOKASIDE_INFORMATION
{
BYTE
Reserved1
[
32
];
}
SYSTEM_LOOKASIDE_INFORMATION
,
*
PSYSTEM_LOOKASIDE_INFORMATION
;
typedef
struct
_SYSTEM_INTERRUPT_INFORMATION
{
BYTE
Reserved1
[
24
];
}
SYSTEM_INTERRUPT_INFORMATION
,
*
PSYSTEM_INTERRUPT_INFORMATION
;
/***********************************************************************
* Enums
*/
typedef
enum
_FILE_INFORMATION_CLASS
{
FileDirectoryInformation
=
1
}
FILE_INFORMATION_CLASS
;
typedef
enum
_PROCESSINFOCLASS
{
ProcessBasicInformation
=
0
,
ProcessWow64Information
=
26
}
PROCESSINFOCLASS
;
typedef
enum
_THREADINFOCLASS
{
ThreadIsIoPending
=
16
}
THREADINFOCLASS
;
typedef
enum
_SYSTEM_INFORMATION_CLASS
{
SystemBasicInformation
=
0
,
SystemPerformanceInformation
=
2
,
SystemTimeOfDayInformation
=
3
,
SystemProcessInformation
=
5
,
SystemProcessorPerformanceInformation
=
8
,
SystemInterruptInformation
=
23
,
SystemExceptionInformation
=
33
,
SystemRegistryQuotaInformation
=
37
,
SystemLookasideInformation
=
45
}
SYSTEM_INFORMATION_CLASS
;
#if (_WIN32_WINNT >= 0x0501)
#define INTERNAL_TS_ACTIVE_CONSOLE_ID ( *((volatile ULONG*)(0x7ffe02d8)) )
#endif
/* (_WIN32_WINNT >= 0x0501) */
/***********************************************************************
* Macro expensions
*/
#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))
#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))
/***********************************************************************
* Function declarations
*/
NTSTATUS
WINAPI
NtClose
(
HANDLE
);
NTSTATUS
WINAPI
NtCreateFile
(
PHANDLE
,
ACCESS_MASK
,
POBJECT_ATTRIBUTES
,
PIO_STATUS_BLOCK
,
PLARGE_INTEGER
,
ULONG
,
ULONG
,
ULONG
,
ULONG
,
PVOID
,
ULONG
);
NTSTATUS
WINAPI
NtOpenFile
(
PHANDLE
,
ACCESS_MASK
,
POBJECT_ATTRIBUTES
,
PIO_STATUS_BLOCK
,
ULONG
,
ULONG
);
NTSTATUS
WINAPI
NtDeviceIoControlFile
(
HANDLE
,
HANDLE
,
PIO_APC_ROUTINE
,
PVOID
,
PIO_STATUS_BLOCK
,
ULONG
,
PVOID
,
ULONG
,
PVOID
,
ULONG
);
NTSTATUS
WINAPI
NtWaitForSingleObject
(
HANDLE
,
BOOLEAN
,
PLARGE_INTEGER
);
BOOLEAN
WINAPI
RtlIsNameLegalDOS8Dot3
(
PUNICODE_STRING
,
POEM_STRING
,
PBOOLEAN
);
ULONG
WINAPI
RtlNtStatusToDosError
(
NTSTATUS
);
NTSTATUS
WINAPI
NtQueryInformationProcess
(
HANDLE
,
PROCESSINFOCLASS
,
PVOID
,
ULONG
,
PULONG
);
NTSTATUS
WINAPI
NtQueryInformationThread
(
HANDLE
,
THREADINFOCLASS
,
PVOID
,
ULONG
,
PULONG
);
NTSTATUS
WINAPI
NtQuerySystemInformation
(
SYSTEM_INFORMATION_CLASS
,
PVOID
,
ULONG
,
PULONG
);
NTSTATUS
WINAPI
NtQuerySystemTime
(
PLARGE_INTEGER
);
NTSTATUS
WINAPI
RtlLocalTimeToSystemTime
(
PLARGE_INTEGER
,
PLARGE_INTEGER
);
BOOLEAN
WINAPI
RtlTimeToSecondsSince1970
(
PLARGE_INTEGER
,
PULONG
);
void
WINAPI
RtlFreeAnsiString
(
PANSI_STRING
);
void
WINAPI
RtlFreeUnicodeString
(
PUNICODE_STRING
);
void
WINAPI
RtlFreeOemString
(
POEM_STRING
);
void
WINAPI
RtlInitString
(
PSTRING
,
PCSZ
);
void
WINAPI
RtlInitAnsiString
(
PANSI_STRING
,
PCSZ
);
void
WINAPI
RtlInitUnicodeString
(
PUNICODE_STRING
,
PCWSTR
);
NTSTATUS
WINAPI
RtlAnsiStringToUnicodeString
(
PUNICODE_STRING
,
PCANSI_STRING
,
BOOLEAN
);
NTSTATUS
WINAPI
RtlUnicodeStringToAnsiString
(
PANSI_STRING
,
PCUNICODE_STRING
,
BOOLEAN
);
NTSTATUS
WINAPI
RtlUnicodeStringToOemString
(
POEM_STRING
,
PCUNICODE_STRING
,
BOOLEAN
);
NTSTATUS
WINAPI
RtlUnicodeToMultiByteSize
(
PULONG
,
PWSTR
,
ULONG
);
NTSTATUS
WINAPI
RtlCharToInteger
(
PCSZ
,
ULONG
,
PULONG
);
NTSTATUS
WINAPI
RtlConvertSidToUnicodeString
(
PUNICODE_STRING
,
PSID
,
BOOLEAN
);
ULONG
WINAPI
RtlUniform
(
PULONG
);
void
WINAPI
RtlUnwind
(
PVOID
,
PVOID
,
PEXCEPTION_RECORD
,
PVOID
);
#ifdef __ia64__
void
WINAPI
RtlUnwind2
(
FRAME_POINTERS
,
PVOID
,
PEXCEPTION_RECORD
,
PVOID
,
PCONTEXT
);
void
WINAPI
RtlUnwindEx
(
FRAME_POINTERS
,
PVOID
,
PEXCEPTION_RECORD
,
PVOID
,
PCONTEXT
,
PUNWIND_HISTORY_TABLE
);
#endif
/***********************************************************************
* Various macros, types and data structures
*/
#define LOGONID_CURRENT ((ULONG)-1)
#define SERVERNAME_CURRENT ((HANDLE)NULL)
typedef
enum
_WINSTATIONINFOCLASS
{
WinStationInformation
=
8
}
WINSTATIONINFOCLASS
;
typedef
struct
_WINSTATIONINFORMATIONW
{
BYTE
Reserved2
[
70
];
ULONG
LogonId
;
BYTE
Reserved3
[
1140
];
}
WINSTATIONINFORMATIONW
,
*
PWINSTATIONINFORMATIONW
;
typedef
BOOLEAN
(
WINAPI
*
PWINSTATIONQUERYINFORMATIONW
)(
HANDLE
,
ULONG
,
WINSTATIONINFOCLASS
,
PVOID
,
ULONG
,
PULONG
);
#ifdef __cplusplus
}
/* extern "C" */
#endif
/* defined(__cplusplus) */
#endif
/* __WINE_WINTERNAL_H */
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment