home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 6 File / 06-File.zip / ramfs102.zip / src / ramdisk.c < prev    next >
C/C++ Source or Header  |  1996-06-23  |  1KB  |  50 lines

  1. #define INCL_DOSFILEMGR
  2. #define INCL_DOSERRORS
  3. #include <os2.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6.  
  7.  
  8. int main (int argc, char **argv)
  9. {
  10.   int rc;
  11.  
  12.   if (argc < 2)
  13.   {
  14.     printf ("RAMDISK: Create a RAM disk\n");
  15.     printf ("Syntax:\n");
  16.     printf ("  RAMDISK d:                   create RAM disk d:\n");
  17.     printf ("  RAMDISK d: vollabel          create RAM disk d: with label vollabel\n");
  18.     return 1;
  19.   }
  20.  
  21.   printf ("Creating RAM disk %s\n", argv[1]);
  22.   if (argc == 2)
  23.     rc = DosFSAttach (argv[1], "RAMFS", NULL, 0, FS_ATTACH);
  24.   else
  25.     rc = DosFSAttach (argv[1], "RAMFS", argv[2], strlen(argv[2]+1), FS_ATTACH);
  26.  
  27.   switch (rc)
  28.   {
  29.     case ERROR_INVALID_FSD_NAME:
  30.            printf ("Error: IFS=RAMFS.IFS not loaded in CONFIG.SYS\n");
  31.            return 1;
  32.  
  33.     case ERROR_INVALID_PATH:
  34.            printf ("Error: Invalid drive letter\n");
  35.            return 1;
  36.  
  37.     case ERROR_ALREADY_ASSIGNED:
  38.            printf ("Error: This drive letter is already in use\n");
  39.            return 1;
  40.  
  41.     case NO_ERROR:
  42.            printf ("OK\n");
  43.            return 0;
  44.  
  45.     default:
  46.            printf ("DosFSAttach rc=%d\n", rc);
  47.            return 1;
  48.   }
  49. }
  50.