# PFileInfo Class Reference

Class containing the system information on a file path. More...

`#include <pdirect.h>`

Inheritance diagram for PFileInfo:

List of all members.

## Public Types

| RegularFile = 1
| Ordinary disk file.
| SymbolicLink = 2
| File path is a symbolic link.
| SubDirectory = 4
| File path is a sub-directory.
| CharDevice = 8
| File path is a character device name.
| BlockDevice = 16
| File path is a block device name.
| Fifo = 32
| File path is a fifo (pipe) device.
| SocketDevice = 64
| File path is a socket device.
| UnknownFileType = 256
| File path is of an unknown type.
| AllFiles = 0x1ff
| Mask for all file types.
| WorldExecute = 1
| File has world execute permission.
| WorldWrite = 2
| File has world write permission.
| WorldRead = 4
| File has world read permission.
| GroupExecute = 8
| File has group execute permission.
| GroupWrite = 16
| File has group write permission.
| GroupRead = 32
| File has group read permission.
| UserExecute = 64
| File has owner execute permission.
| UserWrite = 128
| File has owner write permission.
| UserRead = 256
| File has owner read permission.
| AllPermissions = 0x1ff
| All possible permissions.
| DefaultPerms = UserRead|UserWrite|GroupRead|WorldRead
| Owner read & write plus group and world read permissions.
| DefaultDirPerms = DefaultPerms|UserExecute|GroupExecute|WorldExecute
| Owner read & write & execute plus group and world read & exectute permissions.
enum | FileTypes { RegularFile = 1, SymbolicLink = 2, SubDirectory = 4, CharDevice = 8, BlockDevice = 16, Fifo = 32, SocketDevice = 64, UnknownFileType = 256, AllFiles = 0x1ff }
| All types that a particular file path may be. More...
enum | Permissions { WorldExecute = 1, WorldWrite = 2, WorldRead = 4, GroupExecute = 8, GroupWrite = 16, GroupRead = 32, UserExecute = 64, UserWrite = 128, UserRead = 256, AllPermissions = 0x1ff, DefaultPerms = UserRead|UserWrite|GroupRead|WorldRead, DefaultDirPerms = DefaultPerms|UserExecute|GroupExecute|WorldExecute }
| File access permissions for the file. More...

## Public Attributes

FileTypes | type
| File type for this file. Only one bit is set at a time here.
PTime | created
| Time of file creation of the file.
PTime | modified
| Time of last modifiaction of the file.
PTime | accessed
| Time of last access to the file.
PUInt64 | size
| Size of the file in bytes.
int | permissions
| A bit mask of all the file acces permissions.
PBoolean | hidden
| File is a hidden file.

## Detailed Description

Class containing the system information on a file path.

Information can be obtained on any directory entry event if it is not a "file" in the strictest sense. Sub-directories, devices etc may also have information retrieved.

## Member Enumeration Documentation

enum PFileInfo::FileTypes

All types that a particular file path may be.

Not all platforms support all of the file types. For example under DOS no file may be of the type `SymbolicLink`.

Enumerator:

  RegularFile | Ordinary disk file.
  SymbolicLink | File path is a symbolic link.
  SubDirectory | File path is a sub-directory.
  CharDevice | File path is a character device name.
  BlockDevice | File path is a block device name.
  Fifo | File path is a fifo (pipe) device.
  SocketDevice | File path is a socket device.
  UnknownFileType | File path is of an unknown type.
  AllFiles | Mask for all file types.

enum PFileInfo::Permissions

File access permissions for the file.

Enumerator:

  WorldExecute | File has world execute permission.
  WorldWrite | File has world write permission.
  WorldRead | File has world read permission.
  GroupExecute | File has group execute permission.
  GroupWrite | File has group write permission.
  GroupRead | File has group read permission.
  UserExecute | File has owner execute permission.
  UserWrite | File has owner write permission.
  UserRead | File has owner read permission.
  AllPermissions | All possible permissions.
  DefaultPerms | Owner read & write plus group and world read permissions.
  DefaultDirPerms | Owner read & write & execute plus group and world read & exectute permissions.

## Member Data Documentation

PTime PFileInfo::accessed

Time of last access to the file.

Not all platforms support a separate access time in which case the last modified time is returned.

PTime PFileInfo::created

Time of file creation of the file.

Not all platforms support a separate creation time in which case the last modified time is returned.

PBoolean PFileInfo::hidden

File is a hidden file.

What constitutes a hidden file is platform dependent, for example under unix it is a file beginning with a '.' character while under MS-DOS there is a file system attribute for it.

PTime PFileInfo::modified

Time of last modifiaction of the file.

int PFileInfo::permissions

A bit mask of all the file acces permissions.

See the `Permissions` enum# for the possible bit values.

Not all platforms support all permissions.

PUInt64 PFileInfo::size

Size of the file in bytes.

This is a quadword or 8 byte value to allow for files greater than 4 gigabytes.

FileTypes PFileInfo::type

File type for this file. Only one bit is set at a time here.

The documentation for this class was generated from the following file:

- pdirect.h