xref: /haiku/src/add-ons/kernel/file_systems/ramfs/SymLink.h (revision c237c4ce593ee823d9867fd997e51e4c447f5623)
1 /*
2  * Copyright 2007, Ingo Weinhold, ingo_weinhold@gmx.de.
3  * All rights reserved. Distributed under the terms of the MIT license.
4  */
5 #ifndef SYMLINK_H
6 #define SYMLINK_H
7 
8 #include "Node.h"
9 #include "String.h"
10 
11 class SymLink : public Node {
12 public:
13 	SymLink(Volume *volume);
14 	virtual ~SymLink();
15 
16 	virtual status_t SetSize(off_t newSize);
17 	virtual off_t GetSize() const;
18 
19 	status_t SetLinkedPath(const char *path);
20 	const char *GetLinkedPath() const { return fLinkedPath.GetString(); }
21 	size_t GetLinkedPathLength() const { return fLinkedPath.GetLength(); }
22 
23 	// debugging
24 	virtual void GetAllocationInfo(AllocationInfo &info);
25 
26 private:
27 	String	fLinkedPath;
28 };
29 
30 #endif	// SYMLINK_H
31