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

Last change on this file since 1036 was 998, checked in by phaller, 26 years ago

Add: GetFileAttributeExA/W implemented. Time conversion is ugly still

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