1/* 2 * Copyright 2003, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef HANDLE_H 6#define HANDLE_H 7 8 9#include <boot/vfs.h> 10 11 12class Handle : public Node { 13 public: 14 Handle(intptr_t handle, bool takeOwnership = true); 15 Handle(); 16 virtual ~Handle(); 17 18 void SetHandle(intptr_t handle, bool takeOwnership = true); 19 20 virtual ssize_t ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize); 21 virtual ssize_t WriteAt(void *cookie, off_t pos, const void *buffer, size_t bufferSize); 22 23 virtual off_t Size() const; 24 25 protected: 26 intptr_t fHandle; 27 bool fOwnHandle; 28}; 29 30#endif /* HANDLE_H */ 31