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

Last change on this file since 1570 was 99, checked in by phaller, 26 years ago

Add: added cvs variable $Id$ to source files.

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