1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
/**
Copyright(c) Maynard Electronics, Inc. 1984-89
Name: lstdres.h
Date Updated: $./FDT$ $./FTM$
Description: Contains the function prototypes for the standard
resources.
Location: BE_PRIVATE
$Log: N:/LOGFILES/LSTDRES.H_V $
*
* Rev 1.5 12 Aug 1992 17:47:22 STEVEN
* fixed bugs at microsoft
*
* Rev 1.4 24 Jul 1992 16:00:50 STEVEN
* fix warnings
*
* Rev 1.3 27 May 1992 18:52:42 STEVEN
* switches need to match tfinit.c
*
* Rev 1.2 28 Aug 1991 09:40:24 ED
* Roll in Bonoman's changes (Panther). Fiexed bad log token.
**/
/* $end$ */
#ifndef _LMSLRES
#define _LMSLRES
#include "detdrive.h"
/* Resources from the MSC libraries that everyone uses */
#if ( !defined( OS_OS2 ) && !defined( OS_WIN32 ) )
typedef INT16 ( * PF_intdosx )( union REGS *, union REGS *, struct SREGS * );
typedef VOID ( * PF_free )( VOID_PTR ) ;
typedef VOID ( * PF_memset )( VOID_PTR,INT16,UINT16 ) ;
typedef INT16 ( * PF_inp )( UINT16 ) ;
typedef UINT16 ( * PF_inpw )( UINT16 ) ;
typedef INT16 ( * PF_outp )( UINT16,INT16 ) ;
typedef UINT16 ( * PF_outpw )( UINT16,UINT16 ) ;
typedef VOID_PTR ( * PF_calloc )( size_t,size_t ) ;
typedef INT16 ( * PF_int86 )( INT16, union REGS *, union REGS * ) ;
typedef INT16 ( * PF_int86x )( INT16, union REGS *, union REGS *,struct SREGS * ) ;
#endif
typedef UINT8_PTR ( * PF_DriverLoad )( CHAR_PTR,DRIVERHANDLE *,VOID_PTR,UINT16 ) ;
typedef CHAR_PTR ( * PF_CDS_GetMaynFolder )( VOID ) ;
/* The structure we'll have at the top of our header */
typedef struct {
#if ( !defined( OS_OS2 ) && !defined( OS_WIN32 ) )
PF_intdosx intdosx ;
PF_free free ;
PF_memset memset ;
PF_inp inp ;
PF_inpw inpw ;
PF_outp outp ;
PF_outpw outpw ;
PF_calloc calloc ;
PF_int86 int86 ;
PF_int86x int86x ;
#endif
PF_DriverLoad DriverLoad ;
PF_CDS_GetMaynFolder CDS_GetMaynFolder ;
} STD_RESOURCES_INIT ;
#define STD_BUILD_TCB 0
#define STD_DEBUILD_TCB 1
typedef BOOLEAN (* PF_STDENTRY)( UINT16,INT16,VOID_PTR ) ;
typedef BOOLEAN (* PF_DDRENTRY)( DET_DRIVER_PTR, INT16 ) ;
/*
** SetCurrentMSL is used to give the handle of the currently loaded MSL to
** the interface layer so the DIL can call it.
*/
extern VOID SetActiveMSL( DRIVERHANDLE ) ;
typedef struct {
PF_STDENTRY STDENTRY ;
UINT16 rmtseg ;
STD_RESOURCES_INIT rsrc ;
} STD_RESOURCES ;
/*
** This is defined in d_main.asm, the prefix code that makes
** this module loadable. Note that we only include this code
** if TDHRES.H has not been loaded; e.g. they don't have the
** real functions already linked in. (We also keep them from
** including TDGRES.H after this)
*/
extern STD_RESOURCES funs_tbl ;
#define _intdosx(a,b,c) ( funs_tbl.rsrc.intdosx( a,b,c ) )
#define _MemFree(a) ( funs_tbl.rsrc.free( a ) )
#define _MemFill(a,b,c) ( funs_tbl.rsrc.memset( a,b,c ) )
#define _InByte(a) ( funs_tbl.rsrc.inp( a ) )
#define _InWord(a) ( funs_tbl.rsrc.inpw( a ) )
#define _OutByte(a,b) ( funs_tbl.rsrc.outp( a,b ) )
#define _OutWord(a,b) ( funs_tbl.rsrc.outpw( a,b ) )
#define _MemAlloc(a,b) ( funs_tbl.rsrc.calloc( a,b ) )
#define _int86(a,b,c) ( funs_tbl.rsrc.int86( a,b,c ) )
#define _int86x(a,b,c,d) ( funs_tbl.rsrc.int86x( a,b,c,d ) )
#define _DriverLoad(a,b,c,d) ( funs_tbl.rsrc.DriverLoad( a,b,c,d ) )
#define _CDS_GetMaynFolder() ( funs_tbl.rsrc.CDS_GetMaynFolder( ) )
#endif
|