source: trunk/src/win32k/kKrnlLib/include/krnlPrivate.h

Last change on this file was 9528, checked in by bird, 23 years ago

Just big commit.

File size: 3.9 KB
Line 
1/* $Id: krnlPrivate.h,v 1.5 2002-12-19 01:49:06 bird Exp $
2 *
3 * Private header file for the krnl part.
4 *
5 * Copyright (c) 2001-2003 knut st. osmundsen <bird@anduin.net>
6 *
7 *
8 * This file is part of kKrnlLib.
9 *
10 * kKrnlLib is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * kKrnlLib is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with kKrnlLib; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 *
24 */
25
26#ifndef _krnlPrivate_h_
27#define _krnlPrivate_h_
28
29/*******************************************************************************
30* Defined Constants And Macros *
31*******************************************************************************/
32#define IMPORT_LOCK() KSEMRequestMutex(&kmtxImports, KSEM_INDEFINITE_WAIT)
33#define IMPORT_UNLOCK() KSEMReleaseMutex(&kmtxImports)
34
35
36/*******************************************************************************
37* Global Variables *
38*******************************************************************************/
39#ifdef _OS2KSEM_h_
40extern KSEMMTX kmtxImports;
41#endif
42
43extern char KKL_EntryTab[1]; /* calltaba.asm */
44extern char KKL_EntryTabEND[1]; /* calltaba.asm */
45extern char KKL_EntryTabFixups[1]; /* calltaba.asm */
46#ifdef _OS2KLDR_H_
47extern MTE kKrnlLibMTE; /* calltaba.asm */
48extern SMTE KKL_SwapMTE; /* calltaba.asm */
49extern OTE KKL_ObjTab[4]; /* calltaba.asm */
50extern OTE KKL_ObjTab_DosCalls[20]; /* calltaba.asm */
51extern PMTE pKrnlMTE; /* krnlInit.c */
52extern PSMTE pKrnlSMTE; /* krnlInit.c */
53extern POTE pKrnlOTE; /* krnlInit.c */
54extern int cKernelObjects; /* krnlInit.c */
55#endif
56extern char KKL_ResNameTab[1]; /* calltaba.asm */
57extern char KKL_ResNameTabEND[1]; /* calltaba.asm */
58extern char callTab[1]; /* calltaba.asm */
59extern char callTabEND[1]; /* calltaba.asm */
60extern char callTab16[1]; /* calltaba.asm */
61extern char callTab16END[1]; /* calltaba.asm */
62extern unsigned auNopFuncs[NBR_OF_KRNLIMPORTS]; /* calltaba.asm */
63
64
65
66/*******************************************************************************
67* Functions *
68*******************************************************************************/
69extern void _Optlink krnlLockedWrite(unsigned long ulAddr, unsigned char chOpcode, unsigned long ulDword);
70extern int _System krnlMakeCalltab16CodeSegment(void);
71extern int krnlLoadKernelSym(void);
72extern int krnlVerifyImportTab(void);
73#ifdef _OS2KLDR_H_
74extern int krnlLoadKernelSymFile(const char *pszFilename, POTE paOTEs, int cOTEs);
75extern PMTE _System krnlGetOS2KrnlMTE(void);
76#endif
77extern int krnlInterpretProlog32(char *pach);
78extern int krnlInterpretProlog16(char *pach);
79
80
81#endif
Note: See TracBrowser for help on using the repository browser.