Ignore:
Timestamp:
Sep 26, 2002, 6:06:07 PM (23 years ago)
Author:
sandervl
Message:

lots of fixes/changes for physical disk & volume access

File:
1 edited

Legend:

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

    r9095 r9298  
    1 /* $Id: oslibdos.cpp,v 1.108 2002-08-22 14:21:26 sandervl Exp $ */
     1/* $Id: oslibdos.cpp,v 1.109 2002-09-26 16:06:07 sandervl Exp $ */
    22/*
    33 * Wrappers for OS/2 Dos* API
     
    996996      // @@@AH 2001-06-02 Win2k SP2 returns error 2 in this case
    997997      int winError = error2WinError(rc);
    998       if (winError == ERROR_OPEN_FAILED_W)
     998      if (winError == ERROR_OPEN_FAILED_W || winError == ERROR_PATH_NOT_FOUND_W)
    999999        winError = ERROR_FILE_NOT_FOUND_W;
    10001000      SetLastError(winError);
     
    24732473//******************************************************************************
    24742474//******************************************************************************
    2475 BOOL  OSLibDosGetDiskGeometry(HANDLE hDisk, DWORD cDisk, PVOID pdiskgeom)
     2475BOOL OSLibDosGetDiskGeometry(HANDLE hDisk, DWORD cDisk, PVOID pdiskgeom)
    24762476{
    24772477   PDISK_GEOMETRY pGeom = (PDISK_GEOMETRY)pdiskgeom;
     
    24872487   if(rc == 0)
    24882488   {
    2489         pGeom->SectorsPerTrack   = bpb.usSectorsPerTrack;
    2490         pGeom->BytesPerSector    = bpb.usBytesPerSector;
    2491         pGeom->TracksPerCylinder = 80;  //TODO:!!!!!
    2492         pGeom->Cylinders.u.LowPart  = bpb.cCylinders;
    2493         pGeom->Cylinders.u.HighPart = 0;
    2494         switch(bpb.bDeviceType) {
    2495         case DEVTYPE_48TPI:
    2496             pGeom->MediaType = F5_360_512;  //?????
    2497             break;
    2498         case DEVTYPE_96TPI:
    2499             pGeom->MediaType = F5_1Pt2_512; //?????
    2500             break;
    2501         case DEVTYPE_35:
    2502             pGeom->MediaType = F3_720_512;
    2503             break;
    2504         case DEVTYPE_8SD:
    2505         case DEVTYPE_8DD:
    2506             pGeom->MediaType = RemovableMedia;
    2507             break;
    2508         case DEVTYPE_FIXED:
    2509             pGeom->MediaType = FixedMedia;
    2510             break;
    2511         case DEVTYPE_TAPE:
    2512             pGeom->MediaType = RemovableMedia;
    2513             break;
    2514         case DEVTYPE_UNKNOWN: //others, include 1.44 3.5 inch disk drive
    2515             pGeom->MediaType = F3_1Pt44_512;
    2516             break;
    2517         case 8: //RW optical disk
    2518             pGeom->MediaType = RemovableMedia;
    2519             break;
    2520         case 9: //2.88 3.5 inch disk
    2521             pGeom->MediaType = F3_2Pt88_512;
    2522             break;
    2523         }
    2524         SetLastError(ERROR_SUCCESS_W);
    2525         return TRUE;
     2489            pGeom->SectorsPerTrack   = bpb.usSectorsPerTrack;
     2490            pGeom->BytesPerSector    = bpb.usBytesPerSector;
     2491            pGeom->TracksPerCylinder = 80;  //TODO:!!!!!
     2492            pGeom->Cylinders.u.LowPart  = bpb.cCylinders;
     2493            pGeom->Cylinders.u.HighPart = 0;
     2494            switch(bpb.bDeviceType) {
     2495            case DEVTYPE_48TPI:
     2496                pGeom->MediaType = F5_360_512;  //?????
     2497                break;
     2498            case DEVTYPE_96TPI:
     2499                pGeom->MediaType = F5_1Pt2_512; //?????
     2500                break;
     2501            case DEVTYPE_35:
     2502                pGeom->MediaType = F3_720_512;
     2503                break;
     2504            case DEVTYPE_8SD:
     2505            case DEVTYPE_8DD:
     2506                pGeom->MediaType = RemovableMedia;
     2507                break;
     2508            case DEVTYPE_FIXED:
     2509                pGeom->MediaType = FixedMedia;
     2510                break;
     2511            case DEVTYPE_TAPE:
     2512                pGeom->MediaType = RemovableMedia;
     2513                break;
     2514            case DEVTYPE_UNKNOWN: //others, include 1.44 3.5 inch disk drive
     2515                pGeom->MediaType = F3_1Pt44_512;
     2516                break;
     2517            case 8: //RW optical disk
     2518                pGeom->MediaType = RemovableMedia;
     2519                break;
     2520            case 9: //2.88 3.5 inch disk
     2521                pGeom->MediaType = F3_2Pt88_512;
     2522                break;
     2523            }
     2524            SetLastError(ERROR_SUCCESS_W);
     2525            return TRUE;
    25262526   }
    25272527   dprintf(("OSLibDosGetDiskGeometry: error %d -> %d", rc, error2WinError(rc)));
Note: See TracChangeset for help on using the changeset viewer.