// -*- C++ -*-
/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
#include <boost/utility.hpp>
#include "LString.h"
-#if defined(__CYGWIN__) //Cygwin has it's own concept of X_OK ???
-#undef X_OK
-#define X_OK 1
-#endif
-
/** Use objects of this class to get information about files.
*
* Users must make sure to check fi.isOK() before any operations
public:
///
FileInfo();
-
+
/** Get information about file.
If link is true, the information is about the link itself, not
the file that is obtained by tracing the links. */
/// Query a new file
FileInfo & newFile(string const & path, bool link = false);
-
+
/// Query a new file descriptor
- FileInfo & newFile(int fildes);
-
+ FileInfo & newFile(int fildes);
+
/// Returns a character describing file type (ls -F)
char const * typeIndicator() const;
-
+
/// File protection mode
mode_t getMode() const;
/// Constructs standard mode string (ls style)
void modeString(char * szString) const;
-
+
/// returns a letter describing a file type (ls style)
char typeLetter() const;
-
+
/// builds 'rwx' string describing file access rights
void flagRWX(mode_t i, char * szString) const;
-
+
/// updates mode string to match suid/sgid/sticky bits
void setSticky(char * szString) const;
-
+
///
time_t getModificationTime() const;
-
+
///
time_t getAccessTime() const;
-
+
///
time_t getStatusChangeTime() const;
-
+
/// Total file size in bytes
off_t getSize() const;
-
+
/// Number of hard links
nlink_t getNumberOfLinks() const;
-
+
/// User ID of owner
uid_t getUid() const;
-
+
/// Group ID of owner
gid_t getGid() const;
-
+
/// Is the file information correct? Did the query succeed?
bool isOK() const;
-
+
/// Permission flags
enum perm_test {
/// test for read permission