Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
eba9649b
Commit
eba9649b
authored
Sep 10, 2002
by
Patrik Stridvall
Committed by
Alexandre Julliard
Sep 10, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added the new header winternl.h.
parent
4041c6b6
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
309 additions
and
0 deletions
+309
-0
Makefile.in
include/Makefile.in
+1
-0
winternl.h
include/winternl.h
+308
-0
No files found.
include/Makefile.in
View file @
eba9649b
...
...
@@ -195,6 +195,7 @@ INSTALLED_INCLUDES = \
winsock2.h
\
winspool.h
\
winsvc.h
\
winternl.h
\
winuser.h
\
winver.h
\
wnaspi32.h
\
...
...
include/winternl.h
0 → 100644
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 */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment