29 lines
		
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2004 Jeff Dike (jdike@karaya.com)
 | 
						|
 * Licensed under the GPL
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef AIO_H__
 | 
						|
#define AIO_H__
 | 
						|
 | 
						|
enum aio_type { AIO_READ, AIO_WRITE, AIO_MMAP };
 | 
						|
 | 
						|
struct aio_thread_reply {
 | 
						|
	void *data;
 | 
						|
	int err;
 | 
						|
};
 | 
						|
 | 
						|
struct aio_context {
 | 
						|
	int reply_fd;
 | 
						|
	struct aio_context *next;
 | 
						|
};
 | 
						|
 | 
						|
#define INIT_AIO_CONTEXT { .reply_fd	= -1, \
 | 
						|
			   .next	= NULL }
 | 
						|
 | 
						|
extern int submit_aio(enum aio_type type, int fd, char *buf, int len,
 | 
						|
		      unsigned long long offset, int reply_fd,
 | 
						|
                      struct aio_context *aio);
 | 
						|
 | 
						|
#endif
 |