xref: /netbsd-src/include/aio.h (revision d5c47e0e14707c07012d43429430bef41ae892ee)
1*d5c47e0eSchristos /*	$NetBSD: aio.h,v 1.7 2009/01/13 15:11:09 christos Exp $	*/
267d703cfSrmind 
367d703cfSrmind /*
467d703cfSrmind  * Copyright (c) 2007, Mindaugas Rasiukevicius <rmind at NetBSD org>
5c75dc327Srmind  * All rights reserved.
667d703cfSrmind  *
767d703cfSrmind  * Redistribution and use in source and binary forms, with or without
867d703cfSrmind  * modification, are permitted provided that the following conditions
967d703cfSrmind  * are met:
1067d703cfSrmind  * 1. Redistributions of source code must retain the above copyright
1167d703cfSrmind  *    notice, this list of conditions and the following disclaimer.
1267d703cfSrmind  * 2. Redistributions in binary form must reproduce the above copyright
1367d703cfSrmind  *    notice, this list of conditions and the following disclaimer in the
1467d703cfSrmind  *    documentation and/or other materials provided with the distribution.
1567d703cfSrmind  *
1606171502Srmind  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1706171502Srmind  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1806171502Srmind  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1906171502Srmind  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2006171502Srmind  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2106171502Srmind  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2206171502Srmind  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2306171502Srmind  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2406171502Srmind  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2506171502Srmind  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2606171502Srmind  * SUCH DAMAGE.
2767d703cfSrmind  */
2867d703cfSrmind 
2967d703cfSrmind #ifndef	_AIO_H_
3067d703cfSrmind #define	_AIO_H_
3167d703cfSrmind 
3267d703cfSrmind #include <fcntl.h>
3367d703cfSrmind #include <signal.h>
3467d703cfSrmind #include <time.h>
35f8679681Srmind 
36f8679681Srmind #include <sys/cdefs.h>
3767d703cfSrmind #include <sys/signal.h>
3867d703cfSrmind 
3967d703cfSrmind #include <sys/aio.h>
4067d703cfSrmind 
41f8679681Srmind __BEGIN_DECLS
4267d703cfSrmind int	aio_cancel(int, struct aiocb *);
4367d703cfSrmind int	aio_error(const struct aiocb *);
4467d703cfSrmind int	aio_fsync(int, struct aiocb *);
4567d703cfSrmind int	aio_read(struct aiocb *);
4667d703cfSrmind ssize_t	aio_return(struct aiocb *);
47*d5c47e0eSchristos #ifndef __LIBC12_SOURCE__
48f8679681Srmind int	aio_suspend(const struct aiocb * const [], int,
4950728e78Schristos     const struct timespec *) __RENAME(__aio_suspend50);
5050728e78Schristos #endif
5167d703cfSrmind int	aio_write(struct aiocb *);
52597004aaSrmind int	lio_listio(int, struct aiocb * const * __restrict,
53f8679681Srmind 		    int, struct sigevent * __restrict);
54f8679681Srmind __END_DECLS
5567d703cfSrmind 
5667d703cfSrmind #endif	/* _AIO_H_ */
57