haiku/headers/os/storage/SymLink.h

53 lines
1.1 KiB
C
Raw Normal View History

/*
* Copyright 2002-2007 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SYM_LINK_H
#define _SYM_LINK_H
#include <Node.h>
#include <StorageDefs.h>
2013-02-21 01:20:53 +04:00
class BDirectory;
class BPath;
class BSymLink : public BNode {
public:
2013-02-21 01:20:53 +04:00
BSymLink();
BSymLink(const BSymLink& other);
BSymLink(const entry_ref* ref);
BSymLink(const BEntry* entry);
BSymLink(const char* path);
BSymLink(const BDirectory* dir,
const char* path);
2013-02-21 01:20:53 +04:00
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);
2013-02-21 01:20:53 +04:00
bool IsAbsolute();
private:
2013-02-21 01:20:53 +04:00
virtual void _MissingSymLink1();
virtual void _MissingSymLink2();
virtual void _MissingSymLink3();
virtual void _MissingSymLink4();
virtual void _MissingSymLink5();
virtual void _MissingSymLink6();
2013-02-21 01:20:53 +04:00
uint32 _reservedData[4];
BEntry* fSecretEntry;
private:
2013-02-21 01:20:53 +04:00
int get_fd() const;
};
2013-02-21 01:20:53 +04:00
#endif // _SYM_LINK_H