source: trunk/src/win32k/include/LdrCalls.h@ 2912

Last change on this file since 2912 was 2501, checked in by bird, 26 years ago

Temporary backup checkin.

File size: 4.7 KB
Line 
1/* $Id: LdrCalls.h,v 1.3 2000-01-22 18:21:00 bird Exp $
2 *
3 * Prototypes for the loader overrided function.
4 *
5 * Copyright (c) 1998-1999 knut st. osmundsen
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10#ifndef _ldrCalls_h_
11#define _ldrCalls_h_
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*******************************************************************************
18* Defined Constants And Macros *
19*******************************************************************************/
20#define LDRCALL __stdcall
21
22
23/**
24 * _ldrClose
25 */
26extern ULONG LDRCALL ldrClose( /* retd 0x04 */
27 SFN p1 /* ebp + 0x08 */
28 );
29
30ULONG LDRCALL myldrClose(SFN);
31
32
33/**
34 * _ldrOpen
35 */
36extern ULONG LDRCALL ldrOpen( /* retd 0x0c */
37 PSFN p1, /* ebp + 0x08 */
38 PCHAR p2, /* ebp + 0x0c */
39 ULONG p3 /* ebp + 0x10 */
40 );
41
42ULONG LDRCALL myldrOpen(PSFN,PCHAR,ULONG);
43
44
45/**
46 * _ldrRead
47 */
48extern ULONG LDRCALL ldrRead( /* retd 0x18 */
49 SFN p1, /* ebp + 0x08 */
50 ULONG p2, /* ebp + 0x0c */
51 PVOID p3, /* ebp + 0x10 */
52 ULONG p4, /* ebp + 0x14 */
53 ULONG p5, /* ebp + 0x18 */
54 PMTE p6 /* ebp + 0x1c */
55 );
56
57ULONG LDRCALL myldrRead(
58 SFN hFile,
59 ULONG ulOffset,
60 PVOID pBuffer,
61 ULONG ulFlags ,
62 ULONG ulBytesToRead,
63 PMTE pMTE
64 );
65
66
67
68/**
69 * _LDRQAppType
70 */
71extern ULONG LDRCALL LDRQAppType( /* retd 0x08 */
72 ULONG p1, /* ebp + 0x08 */
73 ULONG p2 /* ebp + 0x0c */
74 );
75
76ULONG LDRCALL myLDRQAppType(ULONG,ULONG);
77
78
79/**
80 * ldrEnum32bitRelRecs
81 * @param pMTE Pointer to MTE for this module.
82 * @param iObject Object index. 0-based!
83 * @param iPageTabl Page index. 0-based!
84 * @param pvPage Pointer to page buffer.
85 * @param ulPageAddress Note! Page is not present.
86 * @param pPTDA
87 *
88 */
89extern ULONG LDRCALL ldrEnum32bitRelRecs( /* retd 0x20 */
90 PMTE pMTE, /* ebp + 0x08 */
91 ULONG iObject, /* ebp + 0x0c */
92 ULONG iPageTable, /* ebp + 0x10 */
93 PVOID pvPage, /* ebp + 0x14 */
94 ULONG ulPageAddress, /* ebp + 0x18 */
95 PVOID pvPTDA /* ebp + 0x1c */
96 );
97
98ULONG LDRCALL myldrEnum32bitRelRecs(PMTE, ULONG, ULONG, PVOID, ULONG, PVOID);
99
100
101#if 0
102/****************************************/
103/* _LDRLoadExe */
104/****************************************/
105extern int LDRCALL _LDRLoadExe( /* retd 0x08 */
106 PCHAR pExeName, /* ebp + 0x08 */
107 PULONG param2 /* ebp + 0x0c */
108 );
109
110int LDRCALL myLDRLoadExe(PCHAR,PULONG);
111
112
113
114/****************************************/
115/* _ldrGetResource */
116/****************************************/
117extern int LDRCALL _ldrGetResource( /* retd 0x14 - 20d */
118 USHORT idType, /* ebp + 0x08 */
119 ULONG idName, /* ebp + 0x0c */
120 USHORT hMod, /* ebp + 0x10 */
121 PPVOID ppRes, /* ebp + 0x14 */
122 ULONG ulP5 /* ebp + 0x18 */
123 );
124
125int LDRCALL myldrGetResource(USHORT,ULONG,USHORT,PPVOID,ULONG);
126
127
128
129/****************************************/
130/* _ldrOpenNewExe */
131/****************************************/
132extern int LDRCALL _ldrOpenNewExe( /* retd 0x10 - 16d */
133 PCHAR pszName, /* ebp + 0x08 */
134 USHORT lenName, /* ebp + 0x0c */
135 ULONG ulP3, /* ebp + 0x10 */
136 ULONG ulP4 /* ebp + 0x14 */
137 );
138
139int LDRCALL myldrOpenNewExe(PCHAR,USHORT,ULONG,ULONG);
140
141
142
143/****************************************/
144/* _ldrCreateMte */
145/****************************************/
146extern int LDRCALL _ldrCreateMte( /* retd 0x08 */
147 ULONG p1, /* ebp + 0x08 */
148 ULONG p2 /* ebp + 0x0c */
149 );
150
151int LDRCALL myldrCreateMte(ULONG,ULONG);
152
153
154
155/****************************************/
156/* _ldrGetMte */
157/****************************************/
158extern int LDRCALL _ldrGetMte( /* retd 0x14 - 20d */
159 ULONG p1, /* ebp + 0x08 */
160 ULONG p2, /* ebp + 0x0c */
161 ULONG p3, /* ebp + 0x10 */
162 ULONG p4, /* ebp + 0x14 */
163 ULONG p5 /* ebp + 0x18 */
164 );
165
166int LDRCALL myldrGetMte(ULONG,ULONG,ULONG,ULONG,ULONG);
167
168#endif
169
170#ifdef __cplusplus
171} /* extern "C" */
172#endif
173
174#endif
175
Note: See TracBrowser for help on using the repository browser.