1/* 2 * Copyright 2008-2010, Fran��ois Revol, revol@free.fr. All rights reserved. 3 * Copyright 2003, Axel D��rfler, axeld@pinc-software.de. All rights reserved. 4 * Distributed under the terms of the MIT License. 5 */ 6#ifndef HANDLE_H 7#define HANDLE_H 8 9 10#include <boot/vfs.h> 11 12 13#ifdef __cplusplus 14 15class Handle : public Node { 16 public: 17 Handle(int handle); 18 Handle(); 19 virtual ~Handle(); 20 21 void SetHandle(int handle); 22 23 virtual ssize_t ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize); 24 virtual ssize_t WriteAt(void *cookie, off_t pos, const void *buffer, size_t bufferSize); 25 26 virtual off_t Size() const; 27 28 protected: 29 int16 fHandle; 30}; 31 32/* block devices */ 33/* cf. devices.cpp */ 34 35#endif /* __cplusplus */ 36 37#endif /* HANDLE_H */ 38