Changeset 7301 for trunk/src


Ignore:
Timestamp:
Nov 8, 2001, 4:38:43 PM (24 years ago)
Author:
phaller
Message:

.

Location:
trunk/src/kernel32
Files:
3 edited

Legend:

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

    r7298 r7301  
    1 /* $Id: hmcomm.cpp,v 1.12 2001-11-08 14:49:27 phaller Exp $ */
     1/* $Id: hmcomm.cpp,v 1.13 2001-11-08 15:38:42 phaller Exp $ */
    22
    33/*
     
    967967  memcpy(lpCC,&pDevData->CommCfg,sizeof(COMMCONFIG));
    968968  *lpdwSize = sizeof(COMMCONFIG);
    969   return(TRUE);
    970 
    971 
    972969  return(TRUE);
    973970}
  • trunk/src/kernel32/hmparport.cpp

    r7300 r7301  
    1 /* $Id: hmparport.cpp,v 1.2 2001-11-08 15:10:39 phaller Exp $ */
     1/* $Id: hmparport.cpp,v 1.3 2001-11-08 15:38:43 phaller Exp $ */
    22
    33/*
     
    9292  ULONG ulMagic;
    9393  // Win32 Device Control Block
     94  COMMCONFIG   CommCfg;
    9495  //OS/2 Device Control Block
    9596} HMDEVPARPORTDATA, *PHMDEVPARPORTDATA;
     
    103104    memset(pData,0,sizeof(HMDEVPARPORTDATA));
    104105    pData->ulMagic = MAGIC_PARPORT;
     106    pData->CommCfg.dwSize   = sizeof(COMMCONFIG);
     107    pData->CommCfg.wVersion = 1;
     108    pData->CommCfg.dwProviderSubType = PST_PARALLELPORT;
    105109  }
    106110  return pData;
     
    554558  return(rc==0);
    555559}
     560
     561
     562BOOL HMDeviceParPortClass::DeviceIoControl(PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
     563                             LPVOID lpInBuffer, DWORD nInBufferSize,
     564                             LPVOID lpOutBuffer, DWORD nOutBufferSize,
     565                             LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
     566{
     567#ifdef DEBUG
     568    char *msg = NULL;
     569
     570    switch(dwIoControlCode)
     571    {
     572/**
     573    case IOCTL_DISK_FORMAT_TRACKS:
     574        msg = "IOCTL_DISK_FORMAT_TRACKS";
     575        break;
     576*/
     577    }
     578 
     579    if(msg) {
     580        dprintf(("HMDeviceParPortClass::DeviceIoControl %s %x %d %x %d %x %x", msg, lpInBuffer, nInBufferSize,
     581                 lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped));
     582    }
     583#endif
     584
     585    switch(dwIoControlCode)
     586    {
     587//    case IOCTL_SCSI_RESCAN_BUS:
     588//        break;
     589
     590    }
     591    dprintf(("HMDeviceParPortClass::DeviceIoControl: unimplemented dwIoControlCode=%08lx\n", dwIoControlCode));
     592    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     593    return FALSE;
     594}
     595
     596
     597BOOL HMDeviceParPortClass::SetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
     598                                                LPCOMMCONFIG lpCC,
     599                                                DWORD dwSize)
     600{
     601  PHMDEVPARPORTDATA pDevData = (PHMDEVPARPORTDATA)pHMHandleData->lpDeviceData;
     602  if((NULL==pDevData) || (pDevData->ulMagic != MAGIC_PARPORT) )
     603  {
     604    SetLastError(ERROR_INVALID_HANDLE);
     605    return FALSE;
     606  }
     607  memset(&pDevData->CommCfg,0, sizeof(COMMCONFIG));
     608  memcpy(&pDevData->CommCfg,lpCC,dwSize>sizeof(COMMCONFIG)?sizeof(COMMCONFIG):dwSize);
     609
     610  return(TRUE);
     611}
     612
     613
     614BOOL HMDeviceParPortClass::GetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
     615                                                LPCOMMCONFIG lpCC,
     616                                                LPDWORD lpdwSize)
     617{
     618  PHMDEVPARPORTDATA pDevData = (PHMDEVPARPORTDATA)pHMHandleData->lpDeviceData;
     619
     620  if( O32_IsBadWritePtr(lpCC,sizeof(COMMCONFIG)) ||
     621      *lpdwSize< sizeof(COMMCONFIG) )
     622  {
     623    SetLastError(ERROR_INSUFFICIENT_BUFFER);
     624    *lpdwSize= sizeof(COMMCONFIG);
     625    return FALSE;
     626  }
     627
     628  if((NULL==pDevData) || (pDevData->ulMagic != MAGIC_PARPORT) )
     629  {
     630    SetLastError(ERROR_INVALID_HANDLE);
     631    return FALSE;
     632  }
     633
     634  memcpy(lpCC,&pDevData->CommCfg,sizeof(COMMCONFIG));
     635  *lpdwSize = sizeof(COMMCONFIG);
     636  return(TRUE);
     637}
     638
     639
     640BOOL HMDeviceParPortClass::SetCommConfig( PHMHANDLEDATA pHMHandleData,
     641                                         LPCOMMCONFIG lpCC,
     642                                         DWORD dwSize )
     643{
     644  dprintf(("HMDeviceParPortClass::SetCommConfig not implemented"));
     645
     646
     647  return(TRUE);
     648}
     649
     650
     651BOOL HMDeviceParPortClass::GetCommConfig( PHMHANDLEDATA pHMHandleData,
     652                                         LPCOMMCONFIG lpCC,
     653                                         LPDWORD lpdwSize )
     654{
     655  PHMDEVPARPORTDATA pDevData = (PHMDEVPARPORTDATA)pHMHandleData->lpHandlerData;
     656
     657  dprintf(("HMDeviceParPortClass::GetCommConfig"));
     658
     659  if( O32_IsBadWritePtr(lpCC,sizeof(COMMCONFIG)) ||
     660      *lpdwSize< sizeof(COMMCONFIG) )
     661  {
     662    SetLastError(ERROR_INSUFFICIENT_BUFFER);
     663    *lpdwSize= sizeof(COMMCONFIG);
     664    return FALSE;
     665  }
     666
     667  if((NULL==pDevData) || (pDevData->ulMagic != MAGIC_PARPORT) )
     668  {
     669    SetLastError(ERROR_INVALID_HANDLE);
     670    return FALSE;
     671  }
     672
     673  memcpy(lpCC,&pDevData->CommCfg,sizeof(COMMCONFIG));
     674  *lpdwSize = sizeof(COMMCONFIG);
     675  return(TRUE);
     676}
  • trunk/src/kernel32/hmparport.h

    r7300 r7301  
    1 /* $Id: hmparport.h,v 1.2 2001-11-08 15:10:38 phaller Exp $ */
     1/* $Id: hmparport.h,v 1.3 2001-11-08 15:38:42 phaller Exp $ */
    22
    33/*
     
    3838                               LPCOMSTAT lpcst);
    3939 
     40  virtual BOOL SetCommConfig( PHMHANDLEDATA pHMHandleData,
     41                              LPCOMMCONFIG lpCC,
     42                              DWORD dwSize );
     43 
     44  virtual BOOL GetCommConfig( PHMHANDLEDATA pHMHandleData,
     45                              LPCOMMCONFIG lpCC,
     46                              LPDWORD lpdwSize );
     47 
     48  virtual BOOL SetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
     49                                     LPCOMMCONFIG lpCC,
     50                                     DWORD dwSize);
     51 
     52  virtual BOOL GetDefaultCommConfig( PHMHANDLEDATA pHMHandleData,
     53                                     LPCOMMCONFIG lpCC,
     54                                     LPDWORD lpdwSize);
     55 
     56  /* this is a handler method for calls to DeviceIoControl() */
     57  virtual BOOL   DeviceIoControl    (PHMHANDLEDATA pHMHandleData, DWORD dwIoControlCode,
     58                                     LPVOID lpInBuffer, DWORD nInBufferSize,
     59                                     LPVOID lpOutBuffer, DWORD nOutBufferSize,
     60                                     LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
     61 
     62 
    4063                           /* this is a handler method for calls to ReadFile() */
    4164  virtual BOOL   ReadFile   (PHMHANDLEDATA pHMHandleData,
Note: See TracChangeset for help on using the changeset viewer.