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