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

Last change on this file since 1570 was 1432, checked in by sandervl, 26 years ago

Shared memory mapping changes

File size: 3.1 KB
Line 
1/* $Id: oslibdos.h,v 1.5 1999-10-24 22:51:22 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 OSLibDosAliasMem(LPVOID pb, ULONG cb, LPVOID *ppbAlias, ULONG fl);
17DWORD OSLibDosAllocMem(LPVOID *lplpMemAddr, DWORD size, DWORD flags);
18DWORD OSLibDosFreeMem(LPVOID lpMemAddr);
19DWORD OSLibDosQueryMem(LPVOID lpMemAddr, DWORD *lpRangeSize, DWORD *lpAttr);
20DWORD OSLibDosSetMem(LPVOID lpMemAddr, DWORD size, DWORD flags);
21DWORD OSLibDosAllocSharedMem(LPVOID *lplpMemAddr, DWORD size, DWORD flags, LPSTR name);
22DWORD OSLibDosGetNamedSharedMem(LPVOID *lplpMemAddr, LPSTR name);
23
24BOOL OSLibDosGetFileAttributesEx(PSZ pszName, ULONG ulDummy, PVOID pBuffer);
25
26#define OSLIB_NOERROR 0
27#define OSLIB_ERROR_INVALID_ADDRESS 1
28#define OSLIB_ERROR_ACCESS_DENIED 2
29#define OSLIB_ERROR_INVALID_PARAMETER 3
30
31#ifndef __OS2_H__
32
33/* Access protection */
34#define PAG_READ 0x00000001U /* read access */
35#define PAG_WRITE 0x00000002U /* write access */
36#define PAG_EXECUTE 0x00000004U /* execute access */
37#define PAG_GUARD 0x00000008U /* guard protection */
38#define PAG_DEFAULT 0x00000400U /* default (initial) access */
39
40/* Commit */
41#define PAG_COMMIT 0x00000010U /* commit storage */
42#define PAG_DECOMMIT 0x00000020U /* decommit storage */
43
44/* Allocation attributes */
45#define OBJ_TILE 0x00000040U /* tile object */
46#define OBJ_PROTECTED 0x00000080U /* protect object */
47#define OBJ_GETTABLE 0x00000100U /* gettable by other processes */
48#define OBJ_GIVEABLE 0x00000200U /* giveable to other processes */
49
50/* Allocation type (returned from DosQueryMem) */
51#define PAG_SHARED 0x00002000U /* shared object */
52#define PAG_FREE 0x00004000U /* pages are free */
53#define PAG_BASE 0x00010000U /* first page in object */
54
55#endif
56
57#define OSLIB_ACCESS_READONLY 1
58#define OSLIB_ACCESS_READWRITE 2
59#define OSLIB_ACCESS_SHAREDENYNONE 4
60#define OSLIB_ACCESS_SHAREDENYREAD 8
61#define OSLIB_ACCESS_SHAREDENYWRITE 16
62
63DWORD OSLibDosOpen(char *lpszFileName, DWORD flags);
64DWORD OSLibDosClose(DWORD hFile);
65DWORD OSLibDosGetFileSize(DWORD hFile);
66DWORD OSLibDosRead(DWORD hFile, LPVOID lpBuffer, DWORD size, DWORD *nrBytesRead);
67DWORD OSLibDosWrite(DWORD hFile, LPVOID lpBuffer, DWORD size, DWORD *nrBytesWritten);
68
69#define OSLIB_SETPTR_FILE_CURRENT 1
70#define OSLIB_SETPTR_FILE_BEGIN 2
71#define OSLIB_SETPTR_FILE_END 3
72
73DWORD OSLibDosSetFilePtr(DWORD hFile, DWORD offset, DWORD method);
74
75#endif
Note: See TracBrowser for help on using the repository browser.