summaryrefslogtreecommitdiffstats
path: root/private/utils/ntbackup/inc/lstdres.h
blob: 6513506e3b2749414b636acab849da8016b0b37e (plain) (blame)
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