ReactOS
0.4.15-dev-8621-g4b051b9
isvbop.h
Go to the documentation of this file.
1
/*
2
* isvbop.h
3
*
4
* Windows NT Device Driver Kit
5
*
6
* This file is part of the ReactOS DDK package.
7
*
8
* Contributors:
9
* Hermes Belusca-Maito (hermes.belusca@sfr.fr)
10
*
11
* THIS SOFTWARE IS NOT COPYRIGHTED
12
*
13
* This source code is offered for use in the public domain. You may
14
* use, modify or distribute it freely.
15
*
16
* This code is distributed in the hope that it will be useful but
17
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18
* DISCLAIMED. This includes but is not limited to warranties of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20
*
21
*/
22
23
/*
24
* The corresponding ASM header of this file is isvbop.inc.
25
*/
26
27
#pragma once
28
29
/* BOP Identifiers */
30
#define BOP_3RDPARTY 0x58
// 3rd-party VDD BOP
31
#define BOP_UNSIMULATE 0xFE
// Stop execution
32
33
#if defined(__GNUC__)
34
35
#define RegisterModule() __asm__(".byte 0xC4, 0xC4, %c0, 0"
: : "i"(BOP_3RDPARTY))
36
#define UnRegisterModule() __asm__(".byte 0xC4, 0xC4, %c0, 1"
: : "i"(BOP_3RDPARTY))
37
#define DispatchCall() __asm__(".byte 0xC4, 0xC4, %c0, 2"
: : "i"(BOP_3RDPARTY))
38
#define VDDUnSimulate16() __asm__(".byte 0xC4, 0xC4, %c0"
: : "i"(BOP_UNSIMULATE))
39
40
#elif defined(_MSC_VER)
41
42
#define RegisterModule() _asm _emit 0xC4 _asm _emit 0xC4 _asm _emit BOP_3RDPARTY _asm _emit 0
43
#define UnRegisterModule() _asm _emit 0xC4 _asm _emit 0xC4 _asm _emit BOP_3RDPARTY _asm _emit 1
44
#define DispatchCall() _asm _emit 0xC4 _asm _emit 0xC4 _asm _emit BOP_3RDPARTY _asm _emit 2
45
#define VDDUnSimulate16() _asm _emit 0xC4 _asm _emit 0xC4 _asm _emit BOP_UNSIMULATE
46
47
#else
48
#error Unknown compiler for inline assembler
49
#endif
50
51
/* EOF */
sdk
include
ddk
isvbop.h
Generated on Sun Sep 8 2024 06:11:09 for ReactOS by
1.9.6