Changeset 1713 for trunk/src


Ignore:
Timestamp:
Nov 12, 1999, 3:57:15 PM (26 years ago)
Author:
sandervl
Message:

device driver handlemanager class added

Location:
trunk/src/kernel32
Files:
2 added
2 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/Fileio.cpp

    r1628 r1713  
    1 /* $Id: Fileio.cpp,v 1.14 1999-11-08 13:43:11 sandervl Exp $ */
     1/* $Id: Fileio.cpp,v 1.15 1999-11-12 14:57:12 sandervl Exp $ */
    22
    33/*
     
    2727#include <heapstring.h>
    2828#include "handlemanager.h"
    29 #include "devio.h"
    3029#include "oslibdos.h"
    3130
  • trunk/src/kernel32/HandleManager.cpp

    r1712 r1713  
    1 /* $Id: HandleManager.cpp,v 1.24 1999-11-12 13:41:53 davidr Exp $ */
    2 
    3 /*
    4  *
    5  * Project Odin Software License can be found in LICENSE.TXT
    6  *
    7  */
     1/* $Id: HandleManager.cpp,v 1.25 1999-11-12 14:57:13 sandervl Exp $ */
     2
    83/*
    94 * Win32 Unified Handle Manager for OS/2
     
    127 *
    138 * @(#) HandleManager.Cpp       1.0.0   1998/02/11 PH start
     9 *
     10 * Project Odin Software License can be found in LICENSE.TXT
     11 *
    1412 */
    1513
     
    25472545}
    25482546
     2547/*****************************************************************************
     2548 * Name      : HMDeviceIoControl
     2549 * Purpose   : router function for DeviceIoControl
     2550 * Parameters:
     2551 * Variables :
     2552 * Result    :
     2553 * Remark    :
     2554 * Status    :
     2555 *
     2556 * Author    : Sander van Leeuwen
     2557 *****************************************************************************/
     2558
     2559BOOL WIN32API DeviceIoControl(HANDLE hDevice, DWORD dwIoControlCode,
     2560                              LPVOID lpInBuffer, DWORD nInBufferSize,
     2561                              LPVOID lpOutBuffer, DWORD nOutBufferSize,
     2562                              LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
     2563{
     2564  int       iIndex;                           /* index into the handle table */
     2565  BOOL      fResult;       /* result from the device handler's CloseHandle() */
     2566  PHMHANDLE pHMHandle;       /* pointer to the handle structure in the table */
     2567
     2568                                                          /* validate handle */
     2569  iIndex = _HMHandleQuery(hDevice);                           /* get the index */
     2570  if (-1 == iIndex)                                               /* error ? */
     2571  {
     2572    SetLastError(ERROR_INVALID_HANDLE);       /* set win32 error information */
     2573    return (FALSE);                                        /* signal failure */
     2574  }
     2575
     2576  pHMHandle = &TabWin32Handles[iIndex];               /* call device handler */
     2577  fResult = pHMHandle->pDeviceHandler->DeviceIoControl(&pHMHandle->hmHandleData,
     2578                                                dwIoControlCode,
     2579                                                lpInBuffer, nInBufferSize,
     2580                                                lpOutBuffer, nOutBufferSize,
     2581                                                lpBytesReturned, lpOverlapped);
     2582
     2583  return (fResult);                                   /* deliver return code */
     2584}
  • trunk/src/kernel32/KERNEL32.CPP

    r1708 r1713  
    1 /* $Id: KERNEL32.CPP,v 1.30 1999-11-11 19:10:08 sandervl Exp $ */
     1/* $Id: KERNEL32.CPP,v 1.31 1999-11-12 14:57:12 sandervl Exp $ */
    22
    33/*
     
    3131
    3232#include "misc.h"
    33 #include "devio.h"
    3433#include "except.h"
    3534#include <builtin.h>
  • trunk/src/kernel32/hmdevice.cpp

    r780 r1713  
    1 /* $Id: hmdevice.cpp,v 1.8 1999-09-01 19:12:17 phaller Exp $ */
     1/* $Id: hmdevice.cpp,v 1.9 1999-11-12 14:57:13 sandervl Exp $ */
    22
    33/*
     
    10561056  return(NULL);
    10571057}
     1058
     1059/*****************************************************************************
     1060 * Name      : DWORD HMDeviceHandler::DeviceIoControl
     1061 * Purpose   : send command to device driver
     1062 * Variables :
     1063 * Result    :
     1064 * Remark    :
     1065 * Status    :
     1066 *
     1067 * Author    : Sander van Leeuwen
     1068 *****************************************************************************/
     1069
     1070BOOL HMDeviceHandler::DeviceIoControl(PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
     1071                                      LPVOID lpInBuffer, DWORD nInBufferSize,
     1072                                      LPVOID lpOutBuffer, DWORD nOutBufferSize,
     1073                                      LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
     1074{
     1075  dprintf(("KERNEL32: HandleManager::DeviceHandler::DeviceIoControl(%08xh,%08xh,%08xh,%08xh,%08xh,%08xh)\n",
     1076           pHMHandleData->hHMHandle,
     1077           dwIoControlCode,
     1078           lpInBuffer,
     1079           nInBufferSize,
     1080           lpOutBuffer, nOutBufferSize));
     1081
     1082  return(FALSE);
     1083}
  • trunk/src/kernel32/hmdevice.h

    r780 r1713  
    1 /* $Id: hmdevice.h,v 1.9 1999-09-01 19:12:17 phaller Exp $ */
     1/* $Id: hmdevice.h,v 1.10 1999-11-12 14:57:14 sandervl Exp $ */
    22
    33/*
     
    2727#define HMTYPE_UNKNOWN  0
    2828#define HMTYPE_MEMMAP   1
     29#define HMTYPE_DEVICE   2
    2930//.....
    3031
     
    280281                                     LPVOID                     lpBaseAddress);
    281282
     283                    /* this is a handler method for calls to DeviceIoControl() */
     284  virtual BOOL   DeviceIoControl    (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
     285                                     LPVOID lpInBuffer, DWORD nInBufferSize,
     286                                     LPVOID lpOutBuffer, DWORD nOutBufferSize,
     287                                     LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
     288
    282289};
    283290
  • trunk/src/kernel32/hmopen32.cpp

    r1710 r1713  
    1 /* $Id: hmopen32.cpp,v 1.10 1999-11-12 11:38:39 sandervl Exp $ */
     1/* $Id: hmopen32.cpp,v 1.11 1999-11-12 14:57:15 sandervl Exp $ */
    22
    33/*
     
    155155  if (strncmp(lpFileName,       // "support" for local unc names
    156156              "\\\\.\\",
    157               4) == 0)
    158     lpFileName+=4;
     157              4) == 0)
     158  {
     159        lpFileName+=4;
     160  }
    159161
    160162  // create from template
  • trunk/src/kernel32/initterm.cpp

    r1663 r1713  
    1 /* $Id: initterm.cpp,v 1.23 1999-11-09 14:19:46 sandervl Exp $ */
     1/* $Id: initterm.cpp,v 1.24 1999-11-12 14:57:15 sandervl Exp $ */
    22
    33/*
     
    4444#include "mmap.h"
    4545#include "directory.h"
     46#include "hmdevio.h"
    4647
    4748/*-------------------------------------------------------------------*/
     
    133134            HMInitialize();             /* store standard handles within HandleManager */
    134135            InitDirectories();
     136            RegisterDevices();
    135137            break;
    136138        }
  • trunk/src/kernel32/makefile

    r1708 r1713  
    1 # $Id: makefile,v 1.56 1999-11-11 19:10:09 sandervl Exp $
     1# $Id: makefile,v 1.57 1999-11-12 14:57:15 sandervl Exp $
    22
    33#
     
    3030
    3131OBJS = KERNEL32.OBJ KOBJECTS.OBJ CONSOLE.OBJ CONIN.OBJ \
    32 CONBUFFER.OBJ CONOUT.OBJ UNICODE.OBJ network.OBJ DEVIO.OBJ \
     32CONBUFFER.OBJ CONOUT.OBJ UNICODE.OBJ network.OBJ HMDEVIO.OBJ \
    3333profile.obj THREAD.OBJ virtual.obj THUNK.OBJ OBSOLETE.OBJ COMM.OBJ\
    3434MESSAGE.OBJ RESOURCE.OBJ EXCEPTIONS.OBJ heapshared.obj \
     
    144144    os2heap.h
    145145
    146 initterm.OBJ: .\initterm.cpp initterm.h  $(PDWIN32_INCLUDE)\heapshared.h  mmap.h directory.h
     146initterm.OBJ: .\initterm.cpp initterm.h  $(PDWIN32_INCLUDE)\heapshared.h  mmap.h directory.h hmdevio.h
    147147
    148148thunk.OBJ: \
     
    169169    oslibexcept.h
    170170
    171 devio.OBJ: \
    172     .\devio.cpp \
     171hmdevio.OBJ: \
     172    .\hmdevio.cpp \
    173173    exceptutil.h \
    174     devio.h \
     174    hmdevio.h \
    175175    map.h \
    176176    cio.h
Note: See TracChangeset for help on using the changeset viewer.