home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / me34src.zip / me3 / util / misc / os2dir.c < prev   
C/C++ Source or Header  |  1995-01-14  |  1KB  |  63 lines

  1. /*
  2.  * Some support routines for MS-DOS.  These are directory/disk search
  3.  *   routines in Lattice C but not in other Cs.
  4.  * J Burnell  3/92    Public Domain
  5.  */
  6.  
  7. #include <string.h>
  8. #define INCL_BASE
  9. #include <os2.h>
  10.  
  11. #include <dir.h>
  12.  
  13. #include "ibmdir.h"
  14.  
  15. int dfind (struct FILEINFO *buffer, const char *path, int attrib)
  16. {
  17.   FILEFINDBUF FindBuffer;
  18.   USHORT FindHandle, FindCount;
  19.  
  20.   FindHandle = 1;
  21.   FindCount = 1;
  22.  
  23.   if (DosFindFirst(path, &FindHandle, attrib, &FindBuffer,
  24.     sizeof (FindBuffer), &FindCount, 0L))
  25.     return 1;
  26.   else {
  27.     buffer->attr = FindBuffer.attrFile;
  28.     strncpy (buffer->name, FindBuffer.achName, FindBuffer.cchName);
  29.     buffer->name [FindBuffer.cchName] = 0;
  30.     return 0;
  31.   }
  32. }
  33.  
  34. int dnext (struct FILEINFO *buffer)
  35. {
  36.   FILEFINDBUF FindBuffer;
  37.   USHORT FileCount;
  38.  
  39.   FileCount = 1;
  40.  
  41.   if (DosFindNext(1, &FindBuffer, sizeof (FindBuffer), &FileCount))
  42.     return 1;
  43.   else {
  44.     buffer->attr = FindBuffer.attrFile;
  45.     strncpy (buffer->name, FindBuffer.achName, FindBuffer.cchName);
  46.     buffer->name [FindBuffer.cchName] = 0;
  47.     return 0;
  48.   }
  49. }
  50.  
  51. int getdsk (void) {
  52.     USHORT tmp;
  53.     ULONG drive;
  54.  
  55.     DosQCurDisk(&tmp, &drive);
  56.  
  57.     return (tmp) - 1;
  58. }
  59.  
  60. int getcd (int drive, char *dir) {
  61.   return getcurdir (drive, dir);
  62. }
  63.