1/* 2 * Copyright 2009, Haiku Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _IO_REQUESTS_H 6#define _IO_REQUESTS_H 7 8 9/*! I/O request interface */ 10 11 12#include <SupportDefs.h> 13 14 15typedef struct IORequest io_request; 16 17 18#ifdef __cplusplus 19extern "C" { 20#endif 21 22bool io_request_is_write(const io_request* request); 23bool io_request_is_vip(const io_request* request); 24off_t io_request_offset(const io_request* request); 25off_t io_request_length(const io_request* request); 26status_t read_from_io_request(io_request* request, void* buffer, 27 size_t size); 28status_t write_to_io_request(io_request* request, const void* buffer, 29 size_t size); 30void notify_io_request(io_request* request, status_t status); 31 32#ifdef __cplusplus 33} 34#endif 35 36 37#endif /* _IO_REQUESTS_H */ 38