source: trunk/src/win32k/include/dev32.h@ 2898

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

Symbol Database is implemented.
No scanning of the os2krnl file, the loaded image is now scaned to determin
which build, debug/retail and smp/uni.
And yet some more enhanchments like 16-bit logging.

File size: 3.6 KB
Line 
1/* $Id: dev32.h,v 1.8 2000-02-25 18:15:04 bird Exp $
2 *
3 * dev32 - header file for 32-bit part of the driver.
4 *
5 * Copyright (c) 1999 knut st. osmundsen
6 *
7 * Project Odin Software License can be found in LICENSE.TXT
8 *
9 */
10#ifndef _dev32_h_
11#define _dev32_h_
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*
18 * Wrapper for declaration from dev1632.h used in this file.
19 */
20#ifndef _dev1632_h_
21 #define RP32INIT void
22 #define PRP32INIT void *
23 #define RP32GENIOCTL void
24 #define PRP32GENIOCTL void *
25 #define PKRNLINFO void *
26#endif
27
28
29/*
30 * Defines from reqpkt.h.
31 */
32#define MAX_DISKDD_CMD 29
33
34#define STERR 0x8000 /* Bit 15 - Error */
35#define STINTER 0x0400 /* Bit 10 - Interim character */
36#define STBUI 0x0200 /* Bit 9 - Busy */
37#define STDON 0x0100 /* Bit 8 - Done */
38#define STECODE 0x00FF /* Error code */
39#define WRECODE 0x0000
40
41#define STATUS_DONE 0x0100
42#define STATUS_ERR_UNKCMD 0x8003
43
44
45#define RPF_Int13RP 0x01 /* Int 13 Request Packet */
46#define RPF_CallOutDone 0x02 /* Int 13 Callout completed */
47#define RPF_PktDiskIOTchd 0x04 /* Disk_IO has touched this packet */
48#define RPF_CHS_ADDRESSING 0x08 /* CHS Addressing used in RBA field */
49#define RPF_Internal 0x10 /* Internal request packet command */
50#define RPF_TraceComplete 0x20 /* Trace completion flag */
51
52
53/*
54 * Function prototypes.
55 */
56#if !defined(__cplusplus) && defined(RING0)
57USHORT _loadds _Far32 _Pascal R0Init32(RP32INIT *pRpInit);
58USHORT _loadds _Far32 _Pascal GetKernelInfo32(PKRNLINFO pKrnlInfo);
59USHORT _loadds _Far32 _Pascal VerifyImportTab32(void);
60USHORT _loadds _Far32 _Pascal ElfIOCtl(PRP32GENIOCTL pRpIOCtl);
61USHORT _loadds _Far32 _Pascal Win32kIOCtl(PRP32GENIOCTL pRpIOCtl);
62#endif
63#ifdef _OS2Krnl_h_
64PMTE _System GetOS2KrnlMTE(void); /* (devfirst.asm) */
65#endif
66
67
68/*
69 * Global variables
70 */
71extern PULONG pulTKSSBase32;
72
73/*
74 * SSToDS( stack pointer )
75 *
76 * In RING-0 this translates pointers to stack memory in the
77 * Stack Segment (SS) to pointers to stack memory in the
78 * Data Segment (DS). SS is 16-bit compatible, DS is 32-bit flat.
79 * It is vitally important to use this macro whenever creating
80 * a pointer to stack memory which don't implies that is a pointer
81 * relative to SS. For example when passing the pointer to an stack
82 * variable into an function call; like the addToModule calls.
83 *
84 * Warning - At init-time you have ot make sure that the pulTKSSBase32 pointer is set!
85 *
86 * @returns 32-bit FLAT pointer.
87 */
88#ifdef RING0
89 #define SSToDS(a) ((PVOID)((ULONG)(a) + *pulTKSSBase32))
90#else
91 #define SSToDS(a) ((PVOID)(a))
92#endif
93
94#ifdef __cplusplus
95}
96#endif
97
98
99/*
100 * START and END labels. NOTE: these are not bytes only assembly labels.
101 */
102extern char CODE16START ;
103extern char DATA16START ;
104extern char DATA16START ;
105extern char DATA16_BSSSTART ;
106extern char DATA16_CONSTSTART;
107extern char CODE16START ;
108extern char CODE32START ;
109extern char DATA32START ;
110extern char BSS32START ;
111extern char CONST32_ROSTART ;
112extern char _VFTSTART ;
113extern char EH_DATASTART ;
114
115extern char CODE16END ;
116extern char DATA16END ;
117extern char DATA16END ;
118extern char DATA16_BSSEND ;
119extern char DATA16_CONSTEND;
120extern char CODE16END ;
121extern char CODE32END ;
122extern char DATA32END ;
123extern char BSS32END ;
124extern char CONST32_ROEND ;
125extern char _VFTEND ;
126extern char EH_DATAEND ;
127
128
129
130
131#endif
Note: See TracBrowser for help on using the repository browser.