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
 |