delorie.com/djgpp/doc/libc/libc_166.html   search  
libc.a reference

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

_dos_findfirst

Syntax

 
#include <dos.h>

unsigned int _dos_findfirst(char *name, unsigned int attr, 
                            struct find_t *result);

Description

This function and the related _dos_findnext (see section _dos_findnext) are used to scan directories for the list of files therein. The name is a wildcard that specifies the directory and files to search. result is a structure to hold the results and state of the search, and attr is a combination of the following:

_A_NORMAL (0x00)

Normal file (no read/write restrictions)

_A_RDONLY (0x01)

Read only file

_A_HIDDEN (0x02)

Hidden file

_A_SYSTEM (0x04)

System file

_A_VOLID (0x08)

Volume ID file

_A_SUBDIR (0x10)

Subdirectory

_A_ARCH (0x20)

Archive file

The results are returned in a struct find_t defined on <dos.h> as follows:

 
struct find_t {
  char reserved[21];
  unsigned char attrib;
  unsigned short wr_time;
  unsigned short wr_date;
  unsigned long size;
  char name[256];
};

See section _dos_findnext.

This function does not support long filenames, even on systems where the LFN API (see section LFN) is available. For LFN-aware functions with similar functionality see findfirst, and findnext. Also see opendir, and readdir, which are Posix-standard.

Return Value

Zero if a match is found, DOS error code if not found (and sets errno).

Portability

ANSI/ISO C No
POSIX No

Example

 
#include <dos.h>

struct find_t f;

if ( !_dos_findfirst("*.DAT", &f, _A_ARCH | _A_RDONLY) )
{
  do
  {
    printf("%-14s %10u %02u:%02u:%02u %02u/%02u/%04u\n",
           f.name,
           f.size,
           (f.wr_time >> 11) & 0x1f,
           (f.wr_time >>  5) & 0x3f,
           (f.wr_time & 0x1f) * 2,
           (f.wr_date >>  5) & 0x0f,
           (f.wr_date & 0x1f),
           ((f.wr_date >> 9) & 0x7f) + 1980);
  } while( !_dos_findnext(&f) );
}


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright © 2004     Updated Apr 2004