summaryrefslogtreecommitdiffstats
path: root/private/oleauto/tools/win16/hdos/c800/include/vmemory.h
blob: 4a57e93ec20fa1a3d645f68102a136944c4fe8e4 (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
/***
* vmemory.h - Virtual Memory (VM) Management Routines
*
*	Copyright (c) 1989-1992, Microsoft Corporation.  All rights reserved.
*
*Purpose:
*	This include file provides prototypes and definitions for
*	the virtual memory management routines.
*
*******************************************************************************/

#ifndef _INC_VMEMORY

#if (_MSC_VER <= 600)
#define __far       _far
#define __pascal    _pascal
#endif

/* virtual memory handle type */
typedef unsigned long _vmhnd_t;

/* null handle value */
#define _VM_NULL	((_vmhnd_t) 0)

/* use all available DOS memory for virtual heap */
#define _VM_ALLDOS	0

/* swap areas */
#define _VM_EMS 	1
#define _VM_XMS 	2
#define _VM_DISK	4
#define _VM_ALLSWAP	(_VM_EMS | _VM_XMS | _VM_DISK)

/* clean/dirty flags */
#define _VM_CLEAN	0
#define _VM_DIRTY	1

/* function prototypes */

#ifdef __cplusplus
extern "C" {
#endif

void __far __pascal _vfree(_vmhnd_t);
int __far __pascal _vheapinit(unsigned int, unsigned int, unsigned int);
void __far __pascal _vheapterm(void);
void __far * __far __pascal _vload(_vmhnd_t, int);
void __far * __far __pascal _vlock(_vmhnd_t);
unsigned int __far __pascal _vlockcnt(_vmhnd_t);
_vmhnd_t __far __pascal _vmalloc(unsigned long);
unsigned long __far __pascal _vmsize(_vmhnd_t);
_vmhnd_t __far __pascal _vrealloc(_vmhnd_t , unsigned long);
void __far __pascal _vunlock(_vmhnd_t, int);

#ifdef __cplusplus
}
#endif

#define _INC_VMEMORY
#endif /* _INC_VMEMORY */