FEDRA emulsion software from the OPERA Collaboration
im_nt.h
Go to the documentation of this file.
1
/*******************************************************************
2
*
3
* COPYRIGHT (c) 2000 Matrox Electronic Systems Ltd.
4
* All Rights Reserved
5
*
6
*******************************************************************/
7
8
#ifndef __IM_NT_H__
9
#define __IM_NT_H__
10
11
#if defined(SHOW_INCLUDE_FILE)
12
#pragma message ("#include "
__FILE__)
13
#endif
14
15
16
#define TIME_TYPE double
17
18
/* ---------------------------------------------------------------------- */
19
#if defined(_IM_COMP_MICROSOFT)
20
21
#if !defined(_IM_HOST_OS_NT_KERNEL)
22
23
#if 0 && defined(D_EXCEPTION)
24
#define _DEBUG_MSDEV_CRT
25
#endif
26
27
#if defined(_DEBUG_MSDEV_CRT) && defined(D_EXCEPTION)
28
#define _DEBUG
29
#define _CRTDBG_MAP_ALLOC
30
#endif
31
32
#pragma pack( push, enter_im_nt_h)
33
#pragma pack( 8 )
34
#include <ctype.h>
35
#include <malloc.h>
36
37
#include <stdlib.h>
38
#include <stdio.h>
39
#include <stddef.h>
40
41
#if defined(_DEBUG_MSDEV_CRT) && defined(D_EXCEPTION)
42
#include <crtdbg.h>
43
#endif
44
45
#if !defined(_WIN32_WINNT)
46
#define _WIN32_WINNT 0x0400
47
#endif
48
#include <string.h>
49
#include <windows.h>
/* Microsoft windows.h require a pack of 8! */
50
#include <winioctl.h>
51
#pragma pack( pop, enter_im_nt_h)
52
53
#endif
54
55
#define IM_FTYPE __cdecl
/* _stdcall can't be used because of varargs in inter */
56
#define IM_AFTYPE __cdecl
57
58
/* Linux */
59
#define IM_LFTYPE
60
#define IM_LAFTYPE
61
62
/* On local code, the message on the stack must be 32 byte aligned */
63
#define IM_MSG_ALIGN
64
#if !defined(_IM_HOST_OS_NT_KERNEL)
65
#define IM_DLLEXPORT __declspec(dllexport)
66
#define IM_DLLIMPORT __declspec(dllimport)
67
#if defined(OBJ_FOR_DLL)
68
#define IM_DLLTYPE IM_DLLEXPORT
69
#else
70
#define IM_DLLTYPE IM_DLLIMPORT
71
#endif
72
#else
73
#define IM_DLLEXPORT
74
#define IM_DLLIMPORT
75
#define IM_DLLTYPE
76
#endif
77
78
#if !defined(IM_EXTC)
79
#if defined(__cplusplus) && !defined(_IM_HOST_OS_NT_KERNEL)
80
#define IM_EXTC extern "C"
IM_DLLTYPE
81
#define IM_EXTCPP extern IM_DLLTYPE
82
#else
83
#define IM_EXTC extern IM_DLLTYPE
84
#define IM_EXTCPP extern IM_DLLTYPE
85
#endif
86
#endif
87
88
#endif
89
90
91
/* ---------------------------------------------------------------------- */
92
#define IM_VTYPE volatile
93
94
#define SH_TYPE IM_VTYPE
95
96
#if !defined(_IM_HOST_OS_NT_KERNEL)
97
/*
98
* Common typedefs used throughout source
99
*/
100
typedef
HANDLE
PID_HANDLE
;
101
#endif
102
103
/* ---------------------------------------------------------------------- */
104
#if defined(_IM_HOST_OS_NT_KERNEL)
105
106
#undef TIME_TYPE
107
#define TIME_TYPE long
108
109
extern
"C"
110
{
111
#include <ntddk.h>
112
}
113
114
115
#endif
/* _IM_HOST_OS_NT_KERNEL */
116
117
/* ---------------------------------------------------------------------- */
118
#if !defined(M_MTXSERVICE)
119
#include <
im_irqio.h
>
/* Host general interrupt and IO mechanism */
120
#endif
121
122
#endif
/*__IM_NT_H__*/
PID_HANDLE
HANDLE PID_HANDLE
Definition:
im_nt.h:100
im_irqio.h
fedra_doxygen
src
libACQ
Matrox
onl
src
headers
common
im_nt.h
Generated by
1.9.3