source: trunk/src/kernel32/devio.h@ 91

Last change on this file since 91 was 46, checked in by sandervl, 26 years ago

* empty log message *

File size: 3.2 KB
Line 
1#ifndef __DEVIO_H__
2#define __DEVIO_H__
3
4#ifndef _OS2WIN_H
5#define GENERIC_READ 0x80000000
6#define GENERIC_WRITE 0x40000000
7#define GENERIC_EXECUTE 0x20000000
8#define GENERIC_ALL 0x10000000
9
10#define FILE_SHARE_READ 0x00000001
11#define FILE_SHARE_WRITE 0x00000002
12#define FILE_ATTRIBUTE_READONLY 0x00000001
13#define FILE_ATTRIBUTE_HIDDEN 0x00000002
14#define FILE_ATTRIBUTE_SYSTEM 0x00000004
15#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
16#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
17#define FILE_ATTRIBUTE_NORMAL 0x00000080
18#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
19#define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200
20#define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400
21#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
22#define FILE_ATTRIBUTE_HAS_EMBEDDING 0x00001000
23
24#define FILE_SHARE_READ 0x00000001
25#define FILE_SHARE_WRITE 0x00000002
26
27#define IOCTL_GPD_READ_PORT_UCHAR 0x900
28#define IOCTL_GPD_READ_PORT_USHORT 0x901
29#define IOCTL_GPD_READ_PORT_ULONG 0x902
30#define IOCTL_GPD_WRITE_PORT_UCHAR 0x910
31#define IOCTL_GPD_WRITE_PORT_USHORT 0x911
32#define IOCTL_GPD_WRITE_PORT_ULONG 0x912
33
34#define IOCTL_MAPMEM_MAP_USER_PHYSICAL_MEMORY 0x800
35#define IOCTL_MAPMEM_UNMAP_USER_PHYSICAL_MEMORY 0x801
36
37typedef struct _GENPORT_WRITE_INPUT {
38 ULONG PortNumber;
39 union {
40 ULONG LongData;
41 USHORT ShortData;
42 UCHAR CharData;
43 };
44} GENPORT_WRITE_INPUT;
45
46typedef struct _tagOVERLAPPED {
47 DWORD Internal;
48 DWORD InternalHigh;
49 DWORD Offset;
50 DWORD OffsetHigh;
51 HANDLE hEvent;
52} OVERLAPPED, *POVERLAPPED, *LPOVERLAPPED;
53
54typedef BOOL (* WINIOCTL)(HANDLE hDevice, DWORD dwIoControlCode,
55 LPVOID lpInBuffer, DWORD nInBufferSize,
56 LPVOID lpOutBuffer, DWORD nOutBufferSize,
57 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
58
59typedef struct {
60 char szWin32Name[32];
61 char szOS2Name[32];
62 BOOL fCreateFile;
63 DWORD hDevice;
64 WINIOCTL devIOCtl;
65} WIN32DRV;
66
67typedef enum _INTERFACE_TYPE {
68 InterfaceTypeUndefined = -1,
69 Internal,
70 Isa,
71 Eisa,
72 MicroChannel,
73 TurboChannel,
74 PCIBus,
75 VMEBus,
76 NuBus,
77 PCMCIABus,
78 CBus,
79 MPIBus,
80 MPSABus,
81 ProcessorInternal,
82 InternalPowerBus,
83 PNPISABus,
84 MaximumInterfaceType
85}INTERFACE_TYPE, *PINTERFACE_TYPE;
86
87typedef LARGE_INTEGER PHYSICAL_ADDRESS;
88
89typedef struct
90{
91 INTERFACE_TYPE InterfaceType;
92 ULONG BusNumber;
93 PHYSICAL_ADDRESS BusAddress;
94 ULONG AddressSpace;
95 ULONG Length;
96
97} PHYSICAL_MEMORY_INFO, *PPHYSICAL_MEMORY_INFO;
98
99typedef struct _MapDevRequest
100{
101 DWORD mdr_ServiceID;
102 LPVOID mdr_PhysicalAddress;
103 DWORD mdr_SizeInBytes;
104 LPVOID mdr_LinearAddress;
105 WORD mdr_Selector;
106 WORD mdr_Status;
107} MAPDEVREQUEST, *PMAPDEVREQUEST;
108
109#endif
110
111#ifdef __cplusplus
112extern "C" {
113#endif
114
115HANDLE OS2CreateFile(char *szName, DWORD fdwAccess, DWORD fdwShareMode);
116void OS2CloseFile(HANDLE hDevice);
117
118#ifdef __cplusplus
119}
120#endif
121
122#endif
Note: See TracBrowser for help on using the repository browser.