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
a518edc3
Commit
a518edc3
authored
Dec 15, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Allow 64-bit pointers to pass through LDT functions unmolested.
parent
f6fa72d7
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
0 deletions
+9
-0
library.h
include/wine/library.h
+6
-0
winnt.h
include/winnt.h
+3
-0
No files found.
include/wine/library.h
View file @
a518edc3
...
@@ -135,6 +135,9 @@ static inline void wine_ldt_set_base( LDT_ENTRY *ent, const void *base )
...
@@ -135,6 +135,9 @@ static inline void wine_ldt_set_base( LDT_ENTRY *ent, const void *base )
ent
->
BaseLow
=
(
WORD
)(
ULONG_PTR
)
base
;
ent
->
BaseLow
=
(
WORD
)(
ULONG_PTR
)
base
;
ent
->
HighWord
.
Bits
.
BaseMid
=
(
BYTE
)((
ULONG_PTR
)
base
>>
16
);
ent
->
HighWord
.
Bits
.
BaseMid
=
(
BYTE
)((
ULONG_PTR
)
base
>>
16
);
ent
->
HighWord
.
Bits
.
BaseHi
=
(
BYTE
)((
ULONG_PTR
)
base
>>
24
);
ent
->
HighWord
.
Bits
.
BaseHi
=
(
BYTE
)((
ULONG_PTR
)
base
>>
24
);
#ifdef _WIN64
ent
->
BaseHigh
=
(
ULONG_PTR
)
base
>>
32
;
#endif
}
}
static
inline
void
wine_ldt_set_limit
(
LDT_ENTRY
*
ent
,
unsigned
int
limit
)
static
inline
void
wine_ldt_set_limit
(
LDT_ENTRY
*
ent
,
unsigned
int
limit
)
{
{
...
@@ -145,6 +148,9 @@ static inline void wine_ldt_set_limit( LDT_ENTRY *ent, unsigned int limit )
...
@@ -145,6 +148,9 @@ static inline void wine_ldt_set_limit( LDT_ENTRY *ent, unsigned int limit )
static
inline
void
*
wine_ldt_get_base
(
const
LDT_ENTRY
*
ent
)
static
inline
void
*
wine_ldt_get_base
(
const
LDT_ENTRY
*
ent
)
{
{
return
(
void
*
)(
ent
->
BaseLow
|
return
(
void
*
)(
ent
->
BaseLow
|
#ifdef _WIN64
(
ULONG_PTR
)
ent
->
BaseHigh
<<
32
|
#endif
(
ULONG_PTR
)
ent
->
HighWord
.
Bits
.
BaseMid
<<
16
|
(
ULONG_PTR
)
ent
->
HighWord
.
Bits
.
BaseMid
<<
16
|
(
ULONG_PTR
)
ent
->
HighWord
.
Bits
.
BaseHi
<<
24
);
(
ULONG_PTR
)
ent
->
HighWord
.
Bits
.
BaseHi
<<
24
);
}
}
...
...
include/winnt.h
View file @
a518edc3
...
@@ -846,6 +846,9 @@ typedef struct _LDT_ENTRY {
...
@@ -846,6 +846,9 @@ typedef struct _LDT_ENTRY {
unsigned
BaseHi
:
8
;
unsigned
BaseHi
:
8
;
}
Bits
;
}
Bits
;
}
HighWord
;
}
HighWord
;
#ifdef _WIN64
/* FIXME: 64-bit code should not be using the LDT */
DWORD
BaseHigh
;
#endif
}
LDT_ENTRY
,
*
PLDT_ENTRY
;
}
LDT_ENTRY
,
*
PLDT_ENTRY
;
/* x86-64 context definitions */
/* x86-64 context definitions */
...
...
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