source: trunk/src/kernel32/oslibdos.h@ 710

Last change on this file since 710 was 707, checked in by sandervl, 26 years ago

VirtualProtect bugfix + some additions to oslib

File size: 2.8 KB
Line 
1/* $Id: oslibdos.h,v 1.2 1999-08-26 15:05:14 sandervl Exp $ */
2
3/*
4 * Wrappers for OS/2 Dos* API
5 *
6 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12#ifndef __OSLIBDOS_H__
13#define __OSLIBDOS_H__
14
15
16DWORD OSLibDosAllocMem(LPVOID *lplpMemAddr, DWORD size, DWORD flags);
17DWORD OSLibDosFreeMem(LPVOID lpMemAddr);
18DWORD OSLibDosQueryMem(LPVOID lpMemAddr, DWORD *lpRangeSize, DWORD *lpAttr);
19DWORD OSLibDosSetMem(LPVOID lpMemAddr, DWORD size, DWORD flags);
20
21#define OSLIB_NOERROR 0
22#define OSLIB_ERROR_INVALID_ADDRESS 1
23#define OSLIB_ERROR_ACCESS_DENIED 2
24#define OSLIB_ERROR_INVALID_PARAMETER 3
25
26#ifndef __OS2_H__
27
28/* Access protection */
29#define PAG_READ 0x00000001U /* read access */
30#define PAG_WRITE 0x00000002U /* write access */
31#define PAG_EXECUTE 0x00000004U /* execute access */
32#define PAG_GUARD 0x00000008U /* guard protection */
33#define PAG_DEFAULT 0x00000400U /* default (initial) access */
34
35/* Commit */
36#define PAG_COMMIT 0x00000010U /* commit storage */
37#define PAG_DECOMMIT 0x00000020U /* decommit storage */
38
39/* Allocation attributes */
40#define OBJ_TILE 0x00000040U /* tile object */
41#define OBJ_PROTECTED 0x00000080U /* protect object */
42#define OBJ_GETTABLE 0x00000100U /* gettable by other processes */
43#define OBJ_GIVEABLE 0x00000200U /* giveable to other processes */
44
45/* Allocation type (returned from DosQueryMem) */
46#define PAG_SHARED 0x00002000U /* shared object */
47#define PAG_FREE 0x00004000U /* pages are free */
48#define PAG_BASE 0x00010000U /* first page in object */
49
50#endif
51
52#define OSLIB_ACCESS_READONLY 1
53#define OSLIB_ACCESS_READWRITE 2
54#define OSLIB_ACCESS_SHAREDENYNONE 4
55#define OSLIB_ACCESS_SHAREDENYREAD 8
56#define OSLIB_ACCESS_SHAREDENYWRITE 16
57
58DWORD OSLibDosOpen(char *lpszFileName, DWORD flags);
59DWORD OSLibDosClose(DWORD hFile);
60DWORD OSLibDosGetFileSize(DWORD hFile);
61DWORD OSLibDosRead(DWORD hFile, LPVOID lpBuffer, DWORD size, DWORD *nrBytesRead);
62DWORD OSLibDosWrite(DWORD hFile, LPVOID lpBuffer, DWORD size, DWORD *nrBytesWritten);
63
64#define OSLIB_SETPTR_FILE_CURRENT 1
65#define OSLIB_SETPTR_FILE_BEGIN 2
66#define OSLIB_SETPTR_FILE_END 3
67
68DWORD OSLibDosSetFilePtr(DWORD hFile, DWORD offset, DWORD method);
69
70#endif
Note: See TracBrowser for help on using the repository browser.