Go to the first, previous, next, last section, table of contents.


_dos_getfileattr

Syntax

#include <dos.h>

unsigned int _dos_getfileattr(const char *filename, unsigned int *p_attr);

Description

This function determines the attributes of given file and fills attr with it. Use the following constans (in DOS.H) to check this value.

_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

See section _dos_setfileattr.

This function does not support long filenames, even on systems where the LFN API (see section _use_lfn) is available. For LFN-aware functions with similar functionality see section _chmod. Also see section chmod, section access, and section stat, which are Posix-standard.

Return Value

Returns with 0 if successful and DOS error value on error (and sets errno=ENOENT).

Portability

not ANSI, not POSIX

Example

unsigned int attr;

if ( !_dos_getfileattr("FOO.DAT", &attr) )
{
  puts("FOO.DAT attributes are:");
  if ( attr & _A_ARCH )   puts("Archive");
  if ( attr & _A_RDONLY ) puts("Read only");
  if ( attr & _A_HIDDEN ) puts("Hidden");
  if ( attr & _A_SYSTEM ) puts("Is it part of DOS ?");
  if ( attr & _A_VOLID )  puts("Volume ID");
  if ( attr & _A_SUBDIR ) puts("Directory");
}
else
  puts("Unable to get FOO.DAT attributes.");


Go to the first, previous, next, last section, table of contents.