#include <OS2.h>
#include <Stdio.h>
#include <String.h>

#define Run int main

#define MAX_DRIVES 32
#define SHIFT_TO_DRIVE_A 65

Run ()
{
  ULONG Current_drive = 0; ULONG Drive_map = 0; 
  DosQueryCurrentDisk (&Current_drive, &Drive_map);

  ULONG Drives[MAX_DRIVES] = {0};

  {
    for (INT Drive_number = 0; Drive_number < MAX_DRIVES; Drive_number ++)
    {
      ULONG Drive_bit = 1 << Drive_number;

      if (Drive_map & Drive_bit) Drives[Drive_number] = 1;
    }
  }

  {
    for (INT Drive_number = 0; Drive_number < MAX_DRIVES; Drive_number ++)
    {
      if (Drives[Drive_number]) 
      {
        BYTE Drive_letter[] = { Drive_number + SHIFT_TO_DRIVE_A, 0 };

        printf ("Found: %s:" "\r\n", Drive_letter);
      }
    }
  }

  return 0;
}
