Files
haiku-beta6/headers/os/storage/SymLink.h
T

59 lines
1.2 KiB
C++
Raw Normal View History

/*
* Copyright 2002-2007, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
2002-08-12 07:24:02 +00:00
#ifndef _SYM_LINK_H
#define _SYM_LINK_H
2002-07-09 12:24:59 +00:00
2002-07-09 12:24:59 +00:00
#include <Node.h>
#include <StorageDefs.h>
class BDirectory;
class BPath;
2002-07-09 12:24:59 +00:00
/*!
\class BSymLink
\brief A symbolic link in the filesystem
Provides an interface for manipulating symbolic links.
\author <a href='mailto:[email protected]'>Ingo Weinhold</a>
\version 0.0.0
*/
class BSymLink : public BNode {
public:
BSymLink();
BSymLink(const BSymLink &link);
BSymLink(const entry_ref *ref);
BSymLink(const BEntry *entry);
BSymLink(const char *path);
BSymLink(const BDirectory *dir, const char *path);
virtual ~BSymLink();
ssize_t ReadLink(char *buf, size_t size);
ssize_t MakeLinkedPath(const char *dirPath, BPath *path);
ssize_t MakeLinkedPath(const BDirectory *dir, BPath *path);
bool IsAbsolute();
private:
virtual void _MissingSymLink1();
virtual void _MissingSymLink2();
virtual void _MissingSymLink3();
virtual void _MissingSymLink4();
virtual void _MissingSymLink5();
virtual void _MissingSymLink6();
2002-07-09 12:24:59 +00:00
uint32 _reservedData[4];
2002-07-09 12:24:59 +00:00
BEntry *fSecretEntry;
private:
int get_fd() const;
2002-07-09 12:24:59 +00:00
};
2002-08-12 07:24:02 +00:00
#endif // _SYM_LINK_H