source: trunk/src/kernel32/map.cpp@ 120

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

Include os2wrap.h instead of os2.h

File size: 1.2 KB
Line 
1/* $Id: map.cpp,v 1.3 1999-06-19 10:54:41 sandervl Exp $ */
2
3/* Copyright (C) 1995 by Holger Veit (Holger.Veit@gmd.de)
4 * Use at your own risk! No Warranty! The author is not responsible for
5 * any damage or loss of data caused by proper or improper use of this
6 * device driver.
7 */
8
9#define INCL_DOS
10#define INCL_DOSDEVICES
11#define INCL_DOSDEVIOCTL
12#include <os2wrap.h> //Odin32 OS/2 api wrappers
13
14#include "map.h"
15#include "mapos2.h"
16
17int mpioctl(HFILE fd, int func,struct map_ioctl* data)
18{
19 struct xf86_pmap_param par;
20 struct xf86_pmap_data dta;
21 ULONG len;
22 APIRET rc;
23
24 switch (func) {
25 case IOCTL_MAP:
26 par.u.physaddr = data->a.phys;
27 par.size = data->size;
28 rc = DosDevIOCtl(fd, XFREE86_PMAP, PMAP_MAP,
29 (ULONG*)&par, sizeof(par), &len,
30 (ULONG*)&dta, sizeof(dta), &len);
31 if (!rc) data->a.user = (void*)dta.addr;
32 return rc ? -1 : 0;
33 case IOCTL_UMAP:
34 par.u.physaddr = (ULONG)data->a.user;
35 par.size = 0;
36 rc = DosDevIOCtl(fd, XFREE86_PMAP, PMAP_UNMAP,
37 (ULONG*)&par, sizeof(par), &len,
38 NULL, 0, NULL);
39 return rc ? -1 : 0;
40 default:
41 return -1;
42 }
43}
Note: See TracBrowser for help on using the repository browser.