Changeset 220


Ignore:
Timestamp:
Sep 2, 2002, 4:00:04 PM (23 years ago)
Author:
umoeller
Message:

Misc changes.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/helpers/dosh.h

    r200 r220  
    9595
    9696    ULONG doshQuerySysUptime(VOID);
     97
     98    APIRET doshDevIOCtl(HFILE hf,
     99                        ULONG ulCategory,
     100                        ULONG ulFunction,
     101                        PVOID pvParams,
     102                        ULONG cbParams,
     103                        PVOID pvData,
     104                        ULONG cbData);
    97105
    98106    /* ******************************************************************
     
    212220                                PBIOSPARAMETERBLOCK pdp,
    213221                                BOOL fFixed);
    214 
    215         APIRET XWPENTRY doshHasAudioCD(ULONG ulLogicalDrive,
    216                                        HFILE hfDrive,
    217                                        BOOL fMixedModeCD,
    218                                        PBOOL pfAudio);
    219 
    220222    #endif
     223
     224    APIRET doshQueryCDDrives(PBYTE pcCDs,
     225                             PBYTE pbFirstCD);
     226
     227    APIRET XWPENTRY doshOpenDrive(ULONG ulLogicalDrive,
     228                                  HFILE *phf);
     229
     230    APIRET XWPENTRY doshHasAudioCD(HFILE hfDrive,
     231                                   BOOL fMixedModeCD,
     232                                   PBOOL pfAudio);
     233
     234    #define CDFL_DOOROPEN               0x00000001      // bit 0
     235    #define CDFL_DOORLOCKED             0x00000002      // bit 1
     236    #define CDFL_COOKEDANDRAW           0x00000004      // bit 2
     237    #define CDFL_READWRITE              0x00000008      // bit 3
     238    #define CDFL_DATAANDAUDIO           0x00000010      // bit 4
     239    #define CDFL_ISO9660INTERLEAVE      0x00000020      // bit 5
     240    #define CDFL_PREFETCHSUPPORT        0x00000080      // bit 7
     241    #define CDFL_AUDIOCHANNELMANIP      0x00000100      // bit 8
     242    #define CDFL_MINUTESECONDADDR       0x00000200      // bit 9
     243    #define CDFL_MODE2SUPPORT           0x00000400      // bit 10
     244    #define CDFL_DISKPRESENT            0x00000800      // bit 11
     245    #define CDFL_PLAYINGAUDIO           0x00001000      // bit 12
     246    #define CDFL_CDDA                   0x40000000      // bit 30
     247
     248    APIRET XWPENTRY doshQueryCDStatus(HFILE hfDrive,
     249                                      PULONG pflStatus);
    221250
    222251    VOID XWPENTRY doshEnumDrives(PSZ pszBuffer,
     
    232261    #define ERROR_AUDIO_CD_ROM          10000
    233262
    234     #define DRVFL_MIXEDMODECD        0x0001
    235     #define DRVFL_TOUCHFLOPPIES      0x0002
    236     #define DRVFL_CHECKEAS           0x0004
    237     #define DRVFL_CHECKLONGNAMES     0x0008
     263    #define DRVFL_MIXEDMODECD           0x0001
     264    #define DRVFL_TOUCHFLOPPIES         0x0002
     265    #define DRVFL_CHECKEAS              0x0004
     266    #define DRVFL_CHECKLONGNAMES        0x0008
    238267
    239268    APIRET doshAssertDrive(ULONG ulLogicalDrive,
     
    307336                #define DRVTYPE_CDROM                   4
    308337                #define DRVTYPE_LAN                     5
    309                 #define DRVTYPE_PARTITIONABLEREMOVEABLE 6
     338                #define DRVTYPE_PRT                     6
     339                            // partitionable removeable (ZIP drive)
    310340                #define DRVTYPE_UNKNOWN               255
    311341
     
    323353                            // drive was booted from
    324354
    325                 // media flags:
    326 
    327                 #define DFL_MEDIA_PRESENT               0x1000
     355                // media flags: all changed V0.9.21 (2002-08-31) [umoeller]
     356
     357                #define DFL_MEDIA_PRESENT               0x0100
    328358                            // media is present in drive;
    329359                            // -- always set for harddisks,
     
    334364                            // -- set for CD-ROMS only if data
    335365                            //    CD-ROM is inserted
    336                 #define DFL_AUDIO_CD                    0x2000
     366                #define DFL_AUDIO_CD                    0x0200
    337367                            // set for CD-ROMs only, if an audio CD
    338368                            // is currently inserted; in that case,
    339369                            // DFL_MEDIA_PRESENT is _not_ set
    340                 #define DFL_SUPPORTS_EAS                0x4000
     370                #define DFL_DOOR_OPEN                   0x0400
     371                            // set for CD-ROMs only if the CD-ROM
     372                            // door is currently open
     373                            // V0.9.21 (2002-08-31) [umoeller]
     374
     375                #define DFL_SUPPORTS_EAS                0x0800
    341376                            // drive supports extended attributes
    342377                            // (assumption based on DosFSCtl,
    343378                            // might not be correct for remote drives;
    344379                            // reports correctly for FAT32 though)
    345                 #define DFL_SUPPORTS_LONGNAMES          0x8000
     380                #define DFL_SUPPORTS_LONGNAMES          0x1000
    346381                            // drive supports long names; this does not
    347382                            // necessarily mean that we support all IFS
    348383                            // characters also
     384
    349385
    350386            // the following are only valid if DFL_MEDIA_PRESENT is set;
  • trunk/src/helpers/_test_dosh.c

    r209 r220  
    3434int main (int argc, char *argv[])
    3535{
    36     ULONG ul;
     36    APIRET  arc;
     37
     38    BYTE    cCDs,
     39            bFirstCD;
     40
     41    ULONG   ul;
    3742
    3843            printf("Drive checker ("__DATE__")\n");
     
    4449    {
    4550        XDISKINFO xdi;
    46         APIRET arc = doshGetDriveInfo(ul,
    47                                       0, // DRVFL_TOUCHFLOPPIES,
    48                                       &xdi);
     51        arc = doshGetDriveInfo(ul,
     52                               0, // DRVFL_TOUCHFLOPPIES,
     53                               &xdi);
    4954
    5055        printf(" %c: ", xdi.cDriveLetter, ul);
     
    8691                    case DRVTYPE_CDROM:     pcsz = "CDROM "; break;
    8792                    case DRVTYPE_LAN:       pcsz = "LAN   "; break;
    88                     case DRVTYPE_PARTITIONABLEREMOVEABLE:
     93                    case DRVTYPE_PRT:
    8994                                            pcsz = "PRTREM"; break;
    9095                    default:
     
    122127        }
    123128    }
     129
     130    if (!(arc = doshQueryCDDrives(&cCDs,
     131                                  &bFirstCD)))
     132    {
     133        printf("First CD-ROM drive is %c:\n", bFirstCD);
     134        printf("%d CD-ROM drive(s) present\n", cCDs);
     135    }
     136    else
     137        printf("doshQueryCDDrives returned %d\n", arc);
     138
     139    {
     140        #pragma pack(1)
     141        struct
     142        {
     143            BYTE    ci;
     144            USHORT  usDrive;
     145        } parms;
     146        #pragma pack()
     147
     148        USHORT fs = 123;
     149
     150        parms.ci = 0;
     151        parms.usDrive = bFirstCD - 'A';
     152
     153        if (!(arc = doshDevIOCtl((HFILE)-1,
     154                                 IOCTL_DISK,
     155                                 DSK_GETLOCKSTATUS,
     156                                 &parms, sizeof(parms),
     157                                 &fs, sizeof(fs))))
     158        {
     159            printf("IOCTL_DISK DSK_GETLOCKSTATUS returned 0x%lX\n", fs);
     160            switch (fs & 0x03)
     161            {
     162                case 0:
     163                    printf("  Lock/Unlock/Eject/Status functions not supported\n");
     164                break;
     165
     166                case 1:
     167                    printf("  Drive locked; Lock/Unlock/Eject functions supported\n");
     168                break;
     169
     170                case 2:
     171                    printf("  Drive unlocked; Lock/Unlock/Eject functions supported\n");
     172                break;
     173
     174                case 3:
     175                    printf("  Lock Status not supported; Lock/Unlock/Eject functions supported\n");
     176                break;
     177            }
     178
     179            if (fs & 0x04)
     180                printf("  Media in drive\n");
     181            else
     182                printf("  No media in drive\n");
     183
     184        }
     185        else
     186            printf("ioctl DSK_GETLOCKSTATUS returned %d\n", arc);
     187    }
     188
     189    {
     190        HFILE hf;
     191        ULONG dummy;
     192        CHAR    szDrive[] = "C:";
     193        szDrive[0] = bFirstCD;
     194        if (arc = DosOpen(szDrive,   // "C:", "D:", ...
     195                          &hf,
     196                          &dummy,
     197                          0,
     198                          FILE_NORMAL,
     199                          // OPEN_ACTION_FAIL_IF_NEW
     200                                 OPEN_ACTION_OPEN_IF_EXISTS,
     201                          OPEN_FLAGS_DASD
     202                                 | OPEN_FLAGS_FAIL_ON_ERROR
     203                                       // ^^^ if this flag is not set, we get the white
     204                                       // hard-error box
     205                                 | OPEN_FLAGS_NOINHERIT     // V0.9.6 (2000-11-25) [pr]
     206                      //            | OPEN_ACCESS_READONLY  // V0.9.13 (2001-06-14) [umoeller]
     207                                 | OPEN_SHARE_DENYNONE,
     208                          NULL))
     209            printf("DosOpen(\"%s\") returned %d\n",
     210                   szDrive,
     211                   arc);
     212        else
     213        {
     214            ULONG fl;
     215            if (!(arc = doshQueryCDStatus(hf, &fl)))
     216            {
     217                #define FLAG(f) f, # f
     218                struct
     219                {
     220                    ULONG fl;
     221                    PCSZ pcszFl;
     222                } aFlags[] =
     223                    {
     224                        FLAG(CDFL_DOOROPEN),
     225                        FLAG(CDFL_DOORLOCKED),
     226                        FLAG(CDFL_COOKEDANDRAW),
     227                        FLAG(CDFL_READWRITE),
     228                        FLAG(CDFL_DATAANDAUDIO),
     229                        FLAG(CDFL_ISO9660INTERLEAVE   ),
     230                        FLAG(CDFL_PREFETCHSUPPORT),
     231                        FLAG(CDFL_AUDIOCHANNELMANIP),
     232                        FLAG(CDFL_MINUTESECONDADDR),
     233                        FLAG(CDFL_MODE2SUPPORT),
     234                        FLAG(CDFL_DISKPRESENT),
     235                        FLAG(CDFL_PLAYINGAUDIO),
     236                        FLAG(CDFL_CDDA),
     237                    };
     238                ULONG ul;
     239
     240                printf("IOCTL_CDROMDISK CDROMDISK_DEVICESTATUS returned 0x%lX\n", fl);
     241
     242                for (ul = 0;
     243                     ul < ARRAYITEMCOUNT(aFlags);
     244                     ++ul)
     245                {
     246                    if (fl & aFlags[ul].fl)
     247                        printf("    + ");
     248                    else
     249                        printf("    - ");
     250                    printf("%s\n", aFlags[ul].pcszFl);
     251                }
     252            }
     253            else
     254                printf("IOCTL_CDROMDISK CDROMDISK_DEVICESTATUS returned error 0x%lX (%d)\n",
     255                        arc, arc);
     256
     257            DosClose(hf);
     258        }
     259    }
    124260}
  • trunk/src/helpers/cctl_splitwin.c

    r214 r220  
    212212
    213213        case WM_WINDOWPOSCHANGED:
    214         {
    215214            // this msg is passed two SWP structs:
    216215            // one for the old, one for the new data
    217216            // (from PM docs)
    218             PSWP pswpNew = (PSWP)mp1;
    219 
    220             if (pswpNew->fl & SWP_SIZE)
    221             {
     217            if (((PSWP)mp1)->fl & SWP_SIZE)
    222218                // _Pmpf(("ctl_fnwpSplitWindow, WM_WINDOWPOSCHANGED"));
    223219                ctlUpdateSplitWindow(hwndSplit);
    224             }
     220
    225221            mrc = WinDefWindowProc(hwndSplit, msg, mp1, mp2);
    226         break; }
     222        break;
    227223
    228224        /*
     
    251247        {
    252248            HWND    hwndSplitBar = WinWindowFromID(hwndSplit, ID_SPLITBAR);
    253             PSPLITBARDATA pData = (PSPLITBARDATA)WinQueryWindowULong(hwndSplitBar,
    254                                                                      QWL_USER);
    255             if (pData)
     249            PSPLITBARDATA pData;
     250            if (pData = (PSPLITBARDATA)WinQueryWindowULong(hwndSplitBar,
     251                                                           QWL_USER))
    256252            {
    257253                pData->hwndLinked1 = (HWND)mp1;
     
    263259                             FALSE);        // no redraw
    264260            }
    265         break; }
     261        }
     262        break;
    266263
    267264        default:
     
    445442                    pData->lcolInactiveBorder);
    446443
    447         if ((pData->sbcd.ulCreateFlags & SBCF_3DSUNK) == 0)
     444        if (!(pData->sbcd.ulCreateFlags & (SBCF_3DSUNK | SBCF_3DEXPLORERSTYLE)))
     445                        // V0.9.21 (2002-08-31) [umoeller]
    448446        {
    449447            GpiSetColor(hps, pData->lcol3DLight);
  • trunk/src/helpers/dosh.c

    r217 r220  
    685685    {
    686686        if (pdp->fsDeviceAttr & DEVATTR_PARTITIONALREMOVEABLE) // 0x08
    687             return DRVTYPE_PARTITIONABLEREMOVEABLE;
    688         else if (fFixed)
     687            return DRVTYPE_PRT;
     688
     689        if (fFixed)
    689690            return DRVTYPE_HARDDISK;
    690         else if (    (pdp->bDeviceType == 7)     // "other"
    691                   && (pdp->usBytesPerSector == 2048)
    692                   && (pdp->usSectorsPerTrack == (USHORT)-1)
    693                 )
    694                  return DRVTYPE_CDROM;
    695         else switch (pdp->bDeviceType)
     691
     692        if (    (pdp->bDeviceType == 7)     // "other"
     693             && (pdp->usBytesPerSector == 2048)
     694             && (pdp->usSectorsPerTrack == (USHORT)-1)
     695           )
     696            return DRVTYPE_CDROM;
     697
     698        switch (pdp->bDeviceType)
    696699        {
    697700            case DEVTYPE_TAPE: // 6
     
    708711                   )
    709712                    return DRVTYPE_FLOPPY;
    710                 else
    711                     return DRVTYPE_VDISK;
     713
     714                return DRVTYPE_VDISK;
    712715
    713716            case DEVTYPE_RWOPTICAL: // 8, what is this?!?
     
    716719    }
    717720
    718     return (DRVTYPE_UNKNOWN);
     721    return DRVTYPE_UNKNOWN;
     722}
     723
     724/*
     725 *@@ doshQueryCDDrives:
     726 *      returns the no. of CD-ROM drives on the system
     727 *      as well as the drive letter of the first
     728 *      CD-ROM drive.
     729 *
     730 *@@added V0.9.21 (2002-08-31) [umoeller]
     731 */
     732
     733APIRET doshQueryCDDrives(PBYTE pcCDs,           // out: CD-ROM drives count
     734                         PCHAR pcFirstCD)       // out: drive letter of first CD
     735{
     736    APIRET  arc;
     737    HFILE   hfCDROM;
     738    ULONG   ulAction;
     739
     740    if (!(arc = DosOpen("\\DEV\\CD-ROM2$",
     741                        &hfCDROM,
     742                        &ulAction,
     743                        0,
     744                        FILE_NORMAL,
     745                        OPEN_ACTION_OPEN_IF_EXISTS,
     746                        OPEN_SHARE_DENYNONE | OPEN_ACCESS_READONLY,
     747                        NULL)))
     748    {
     749        struct
     750        {
     751            USHORT cCDs;
     752            USHORT usFirstCD;       // 0 == A:, 1 == B:, ...
     753        } cdinfo;
     754
     755        ULONG cb = sizeof(cdinfo);
     756
     757        if (!(arc = DosDevIOCtl(hfCDROM,
     758                                0x82,
     759                                0x60,
     760                                NULL,
     761                                0,
     762                                NULL,
     763                                &cdinfo,
     764                                cb,
     765                                &cb)))
     766        {
     767            *pcCDs = cdinfo.cCDs;
     768            *pcFirstCD = cdinfo.usFirstCD + 'A';
     769        }
     770
     771        DosClose(hfCDROM);
     772    }
     773
     774    return arc;
     775}
     776
     777/*
     778 *@@ doshOpenDrive:
     779 *      opens the given logical drive using
     780 *      DosOpen with OPEN_FLAGS_DASD. Use
     781 *      the file handle returned from here
     782 *      for doshHasAudioCD and doshQueryCDStatus.
     783 *
     784 *      If NO_ERROR is returned, use DosClose
     785 *      to close the device again.
     786 *
     787 *@@added V0.9.21 (2002-08-31) [umoeller]
     788 */
     789
     790APIRET doshOpenDrive(ULONG ulLogicalDrive,
     791                     HFILE *phf)            // out: open drive's file handle
     792{
     793    ULONG   dummy;
     794
     795    CHAR    szDrive[] = "C:";
     796    szDrive[0] = 'A' + ulLogicalDrive - 1;
     797
     798    return DosOpen(szDrive,   // "C:", "D:", ...
     799                   phf,
     800                   &dummy,
     801                   0,
     802                   FILE_NORMAL,
     803                   // OPEN_ACTION_FAIL_IF_NEW
     804                          OPEN_ACTION_OPEN_IF_EXISTS,
     805                   OPEN_FLAGS_DASD
     806                          | OPEN_FLAGS_FAIL_ON_ERROR
     807                                // ^^^ if this flag is not set, we get the white
     808                                // hard-error box
     809                          | OPEN_FLAGS_NOINHERIT     // V0.9.6 (2000-11-25) [pr]
     810               //            | OPEN_ACCESS_READONLY  // V0.9.13 (2001-06-14) [umoeller]
     811                          | OPEN_SHARE_DENYNONE,
     812                   NULL);
    719813}
    720814
     
    729823 *
    730824 *@@added V0.9.14 (2001-08-01) [umoeller]
    731  */
    732 
    733 APIRET doshHasAudioCD(ULONG ulLogicalDrive,
    734                       HFILE hfDrive,            // in: DASD open
     825 *@@changed V0.9.21 (2002-08-31) [umoeller]: removed ulLogicalDrive which was not needed
     826 */
     827
     828APIRET doshHasAudioCD(HFILE hfDrive,            // in: DASD open
    735829                      BOOL fMixedModeCD,
    736830                      PBOOL pfAudio)
     
    758852        else
    759853        {
     854            #pragma pack(1)         // V0.9.21 (2002-08-31) [umoeller]
     855
    760856            struct {
    761857                UCHAR   ucFirstTrack,
     
    763859                ULONG   ulLeadOut;
    764860            } cdat;
     861
     862            struct {
     863                ULONG   ulTrackAddress;
     864                BYTE    bFlags;
     865            } trackdata;
     866
     867            #pragma pack()
    765868
    766869            // get track count
     
    780883                      { 'C', 'D', '0', '1', (UCHAR)i };
    781884
    782                     struct {
    783                         ULONG   ulTrackAddress;
    784                         BYTE    bFlags;
    785                     } trackdata;
    786 
    787885                    if (!(arc = doshDevIOCtl(hfDrive,
    788886                                             IOCTL_CDROMAUDIO,
     
    828926        // _Pmpf(("   CDROMDISK_GETDRIVER returned %d", arc));
    829927        arc = NO_ERROR;
     928    }
     929
     930    return arc;
     931}
     932
     933/*
     934 *@@ doshQueryCDStatus:
     935 *      returns the status bits of a CD-ROM drive.
     936 *      This calls the CDROMDISK_DEVICESTATUS
     937 *      ioctl.
     938 *
     939 *      If NO_ERROR is returned, *pflStatus has
     940 *      received the following flags:
     941 *
     942 *      --  CDFL_DOOROPEN (bit 0)
     943 *
     944 *      --  CDFL_DOORLOCKED (bit 1)
     945 *
     946 *      and many more (see dosh.h).
     947 *
     948 *      Actually I wrote this function to have a way to
     949 *      find out whether the drive door is already open.
     950 *      But thanks to IBM's thoughtful design, this ioctl
     951 *      is 99% useless for that purpose since it requires
     952 *      a DASD disk handle to be passed in, which cannot
     953 *      be obtained if there's no media in the drive.
     954 *
     955 *      In other words, it is absolutely impossible to
     956 *      ever get the CDFL_DOOROPEN flag, because if the
     957 *      door is open, DosOpen already fails on the drive.
     958 *      As a consequence, it is seems to be impossible
     959 *      to find out if the door is open with OS/2.
     960 *
     961 *@@added V0.9.21 (2002-08-31) [umoeller]
     962 */
     963
     964APIRET doshQueryCDStatus(HFILE hfDrive,            // in: DASD open
     965                         PULONG pflStatus)         // out: CD-ROM status bits
     966{
     967    APIRET  arc;
     968
     969    CHAR    cds1[4] = { 'C', 'D', '0', '1' };
     970    ULONG   fl;
     971
     972    *pflStatus = 0;
     973
     974    if (!(arc = doshDevIOCtl(hfDrive,
     975                             IOCTL_CDROMDISK,
     976                             CDROMDISK_DEVICESTATUS,
     977                             &cds1, sizeof(cds1),
     978                             &fl, sizeof(fl))))
     979    {
     980        *pflStatus = fl;
    830981    }
    831982
     
    9651116    }
    9661117
    967     return (cBootDrive);
     1118    return cBootDrive;
    9681119}
    9691120
     
    9761127 *      Use doshIsFixedDisk to find out.
    9771128 *
     1129 *      Returns:
     1130 *
     1131 *      --  NO_ERROR: media is present.
     1132 *
     1133 *      --  ERROR_AUDIO_CD_ROM (10000): audio CD-ROM is present.
     1134 *
     1135 *      --  ERROR_NOT_READY (21) or other: drive has no media.
     1136 *
    9781137 *@@added V0.9.16 (2002-01-13) [umoeller]
    9791138 */
    9801139
    981 APIRET doshQueryMedia(ULONG ulLogicalDrive,
     1140APIRET doshQueryMedia(ULONG ulLogicalDrive,    // in: 1 for A:, 2 for B:, 3 for C:, ...
    9821141                      BOOL fCDROM,             // in: is drive CD-ROM?
    9831142                      ULONG fl)                // in: DRVFL_* flags
     
    9851144    APIRET  arc;
    9861145
    987     HFILE   hf = NULLHANDLE;
    988     ULONG   dummy;
    989 
    990     CHAR    szDrive[3] = "C:";
    991     szDrive[0] = 'A' + ulLogicalDrive - 1;
    992 
    993     arc = DosOpen(szDrive,   // "C:", "D:", ...
    994                   &hf,
    995                   &dummy,
    996                   0,
    997                   FILE_NORMAL,
    998                   OPEN_ACTION_FAIL_IF_NEW
    999                          | OPEN_ACTION_OPEN_IF_EXISTS,
    1000                   OPEN_FLAGS_DASD
    1001                          | OPEN_FLAGS_FAIL_ON_ERROR
    1002                          | OPEN_FLAGS_NOINHERIT     // V0.9.6 (2000-11-25) [pr]
    1003               //            | OPEN_ACCESS_READONLY  // V0.9.13 (2001-06-14) [umoeller]
    1004                          | OPEN_SHARE_DENYNONE,
    1005                   NULL);
     1146    HFILE   hf;
     1147
     1148    // exported this code to doshOpenDrive V0.9.21 (2002-08-31) [umoeller]
     1149    arc = doshOpenDrive(ulLogicalDrive,
     1150                        &hf);
    10061151
    10071152    // this still returns NO_ERROR for audio CDs in a
     
    10171162    {
    10181163        BOOL fAudio;
    1019         if (    (!(arc = doshHasAudioCD(ulLogicalDrive,
    1020                                         hf,
     1164        if (    (!(arc = doshHasAudioCD(hf,
    10211165                                        ((fl & DRVFL_MIXEDMODECD) != 0),
    10221166                                        &fAudio)))
     
    11791323 *          file systems so we will always have a
    11801324 *          value for the DFL_SUPPORTS_EAS flags.
    1181  *          Otherwise that flag might or might not
    1182  *          be set correctly.
    1183  *
    11841325 *          The EA support returned by DosFSCtl
    11851326 *          might not be correct for remote file
     
    11871328 *          that query.
    11881329 *
    1189  *      --  DRVFL_CHECKLONGNAMES: drive should always be
    1190  *          checked for longname support. If this is
     1330 *          If not set, we set DFL_SUPPORTS_EAS only
     1331 *          for file systems such as HPFS and JFS
     1332 *          that are known to support EAs.
     1333 *
     1334 *      --  DRVFL_CHECKLONGNAMES: drive should be
     1335 *          tested for longname support. If this is
    11911336 *          set, we will try a DosOpen("\\long.name.file")
    11921337 *          on the drive to see if it supports long
     
    13761521                        pdi->bType = bTemp;
    13771522
    1378                         if (bTemp == DRVTYPE_PARTITIONABLEREMOVEABLE)
     1523                        if (bTemp == DRVTYPE_PRT)
    13791524                            pdi->flDevice |=    DFL_FIXED
    13801525                                              | DFL_PARTITIONABLEREMOVEABLE;
  • trunk/src/helpers/helpers_pre.in

    r215 r220  
    4141
    4242PLAINCOBJS = \
    43 $(OUTPUTDIR)\encodings.obj \
    44 $(OUTPUTDIR)\linklist.obj \
    45 $(OUTPUTDIR)\math.obj \
    46 $(OUTPUTDIR)\regexp.obj \
    47 $(OUTPUTDIR)\tree.obj \
    48 $(OUTPUTDIR)\xml.obj \
     43$(OUTPUTDIR)\encodings.obj\
     44$(OUTPUTDIR)\linklist.obj\
     45$(OUTPUTDIR)\math.obj\
     46$(OUTPUTDIR)\regexp.obj\
     47$(OUTPUTDIR)\tree.obj\
     48$(OUTPUTDIR)\xml.obj\
    4949
    5050XMLOBJS = \
    51 $(OUTPUTDIR)\xmlparse.obj \
    52 $(OUTPUTDIR)\xmlrole.obj \
    53 $(OUTPUTDIR)\xmltok.obj \
     51$(OUTPUTDIR)\xmlparse.obj\
     52$(OUTPUTDIR)\xmlrole.obj\
     53$(OUTPUTDIR)\xmltok.obj\
    5454
    5555CPOBJS = $(PLAINCOBJS) $(XMLOBJS) \
    56 $(OUTPUTDIR)\apmh.obj \
    57 $(OUTPUTDIR)\datetime.obj \
    58 $(OUTPUTDIR)\debug.obj \
    59 $(OUTPUTDIR)\dosh.obj \
    60 $(OUTPUTDIR)\dosh2.obj \
    61 $(OUTPUTDIR)\eah.obj \
    62 $(OUTPUTDIR)\except.obj \
    63 $(OUTPUTDIR)\exeh.obj \
    64 $(OUTPUTDIR)\lan.obj \
    65 $(OUTPUTDIR)\level.obj \
    66 $(OUTPUTDIR)\nls.obj \
    67 $(OUTPUTDIR)\nlscache.obj \
    68 $(OUTPUTDIR)\procstat.obj \
    69 $(OUTPUTDIR)\prfh.obj \
    70 $(OUTPUTDIR)\prfh2.obj \
    71 $(OUTPUTDIR)\resh.obj \
    72 $(OUTPUTDIR)\sem.obj \
    73 $(OUTPUTDIR)\interlock.obj \
    74 $(OUTPUTDIR)\stringh.obj \
    75 $(OUTPUTDIR)\syssound.obj \
    76 $(OUTPUTDIR)\tmsgfile.obj \
    77 $(OUTPUTDIR)\vcard.obj \
    78 $(OUTPUTDIR)\wphandle.obj \
    79 $(OUTPUTDIR)\xprf.obj \
    80 $(OUTPUTDIR)\xprf2.obj \
     56$(OUTPUTDIR)\apmh.obj\
     57$(OUTPUTDIR)\datetime.obj\
     58$(OUTPUTDIR)\debug.obj\
     59$(OUTPUTDIR)\dosh.obj\
     60$(OUTPUTDIR)\dosh2.obj\
     61$(OUTPUTDIR)\eah.obj\
     62$(OUTPUTDIR)\except.obj\
     63$(OUTPUTDIR)\exeh.obj\
     64$(OUTPUTDIR)\lan.obj\
     65$(OUTPUTDIR)\level.obj\
     66$(OUTPUTDIR)\nls.obj\
     67$(OUTPUTDIR)\nlscache.obj\
     68$(OUTPUTDIR)\procstat.obj\
     69$(OUTPUTDIR)\prfh.obj\
     70$(OUTPUTDIR)\prfh2.obj\
     71$(OUTPUTDIR)\resh.obj\
     72$(OUTPUTDIR)\sem.obj\
     73$(OUTPUTDIR)\interlock.obj\
     74$(OUTPUTDIR)\stringh.obj\
     75$(OUTPUTDIR)\syssound.obj\
     76$(OUTPUTDIR)\tmsgfile.obj\
     77$(OUTPUTDIR)\vcard.obj\
     78$(OUTPUTDIR)\wphandle.obj\
     79$(OUTPUTDIR)\xprf.obj\
     80$(OUTPUTDIR)\xprf2.obj\
    8181$(OUTPUTDIR)\xstring.obj
    8282
    8383OBJS = $(CPOBJS) \
    84 $(OUTPUTDIR)\animate.obj \
    85 $(OUTPUTDIR)\apps.obj \
    86 $(OUTPUTDIR)\cctl_chart.obj \
    87 $(OUTPUTDIR)\cctl_checkcnr.obj \
    88 $(OUTPUTDIR)\cctl_combo.obj \
    89 $(OUTPUTDIR)\cctl_progbar.obj \
    90 $(OUTPUTDIR)\cctl_splitwin.obj \
    91 $(OUTPUTDIR)\cctl_tooltip.obj \
    92 $(OUTPUTDIR)\comctl.obj \
    93 $(OUTPUTDIR)\configsys.obj \
    94 $(OUTPUTDIR)\cnrh.obj \
    95 $(OUTPUTDIR)\dialog.obj \
    96 $(OUTPUTDIR)\gpih.obj \
    97 $(OUTPUTDIR)\memdebug.obj \
    98 $(OUTPUTDIR)\memdebug_win.obj \
    99 $(OUTPUTDIR)\shapewin.obj \
    100 $(OUTPUTDIR)\threads.obj \
    101 $(OUTPUTDIR)\textview.obj \
    102 $(OUTPUTDIR)\textv_html.obj \
    103 $(OUTPUTDIR)\timer.obj \
     84$(OUTPUTDIR)\animate.obj\
     85$(OUTPUTDIR)\apps.obj\
     86$(OUTPUTDIR)\cctl_chart.obj\
     87$(OUTPUTDIR)\cctl_checkcnr.obj\
     88$(OUTPUTDIR)\cctl_combo.obj\
     89$(OUTPUTDIR)\cctl_progbar.obj\
     90$(OUTPUTDIR)\cctl_splitwin.obj\
     91$(OUTPUTDIR)\cctl_tooltip.obj\
     92$(OUTPUTDIR)\comctl.obj\
     93$(OUTPUTDIR)\configsys.obj\
     94$(OUTPUTDIR)\cnrh.obj\
     95$(OUTPUTDIR)\dialog.obj\
     96$(OUTPUTDIR)\gpih.obj\
     97$(OUTPUTDIR)\memdebug.obj\
     98$(OUTPUTDIR)\memdebug_win.obj\
     99$(OUTPUTDIR)\shapewin.obj\
     100$(OUTPUTDIR)\threads.obj\
     101$(OUTPUTDIR)\textview.obj\
     102$(OUTPUTDIR)\textv_html.obj\
     103$(OUTPUTDIR)\timer.obj\
    104104$(OUTPUTDIR)\winh.obj
    105105
  • trunk/src/helpers/makefile

    r209 r220  
    149149# to execute the LIB command once for each dependent file in the list.
    150150
    151 $(OUTPUTDIR)\helpers.lib: $(OBJS)
     151$(OUTPUTDIR)\helpers.lib: $(OBJS) makefile
    152152!ifdef EMX
    153153    !emxomfar cr $* $?
    154154!else
    155     !ilib /nol /nob $* -+$?;
     155    rm -f $@
     156    ilib /nol /nob $@ @<<$(TEMP)\ilib.lnk
     157+$(OBJS: =&^
     158);
     159<<KEEP
    156160!endif
    157161
    158162# same thing for cp.lib
    159 $(OUTPUTDIR)\cp.lib: $(CPOBJS)
     163$(OUTPUTDIR)\cp.lib: $(CPOBJS) makefile
    160164!ifdef EMX
    161165    !emxomfar cr $* $?
    162166!else
    163     !ilib /nol /nob $* -+$?;
     167    rm -f $@
     168    ilib /nol /nob $@ @<<
     169+$(CPOBJS: =&^
     170);
     171<<KEEP
    164172!endif
    165173
    166174# same thing for plainc.lib
    167 $(OUTPUTDIR)\plainc.lib: $(PLAINCOBJS)
     175$(OUTPUTDIR)\plainc.lib: $(PLAINCOBJS) makefile
    168176!ifdef EMX
    169177    !emxomfar cr $* $?
    170178!else
    171     !ilib /nol /nob $* -+$?;
     179    rm -f $@
     180    ilib /nol /nob $@ @<<
     181+$(PLAINCOBJS: =&^
     182);
     183<<KEEP
    172184!endif
    173185
Note: See TracChangeset for help on using the changeset viewer.