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

Last change on this file since 1775 was 1710, checked in by sandervl, 26 years ago

DIBSection changes, EB's file io additions, Jens Weissner's changes to several dlls

File size: 3.7 KB
Line 
1/* $Id: oslibdos.h,v 1.7 1999-11-12 11:38:40 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(LPSTR 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#define OSLIB_SEARCHDIR 1
76#define OSLIB_SEARCHCURDIR 2
77#define OSLIB_SEARCHFILE 3
78#define OSLIB_SEARCHENV 4
79
80DWORD OSLibDosSearchPath(DWORD cmd, char *path, char *name, char *full_name, DWORD length_fullname);
81
82
83DWORD OSLibDosCreate(CHAR *lpFileName,
84 DWORD dwAccess,
85 DWORD dwShare,
86 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
87 DWORD dwCreation,
88 DWORD dwFlags,
89 HANDLE hTemplate,
90 DWORD *dwFile);
91
92DWORD OSLibDosResetBuffer(DWORD hFile);
93DWORD OSLibDosDupHandle(DWORD hFile, DWORD *hNew);
94DWORD OSLibDosSetFilePtr2(DWORD hFile, DWORD offset, DWORD method);
95
96#endif
Note: See TracBrowser for help on using the repository browser.