llib-laio revision 3470957343f37ed9baa957980891dbbe4c2d7092
bb5e3b2f129cc39517b925419c22f69a378ec023eh/*
bb5e3b2f129cc39517b925419c22f69a378ec023eh * CDDL HEADER START
bb5e3b2f129cc39517b925419c22f69a378ec023eh *
bb5e3b2f129cc39517b925419c22f69a378ec023eh * The contents of this file are subject to the terms of the
bb5e3b2f129cc39517b925419c22f69a378ec023eh * Common Development and Distribution License (the "License").
bb5e3b2f129cc39517b925419c22f69a378ec023eh * You may not use this file except in compliance with the License.
bb5e3b2f129cc39517b925419c22f69a378ec023eh *
bb5e3b2f129cc39517b925419c22f69a378ec023eh * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bb5e3b2f129cc39517b925419c22f69a378ec023eh * or http://www.opensolaris.org/os/licensing.
bb5e3b2f129cc39517b925419c22f69a378ec023eh * See the License for the specific language governing permissions
bb5e3b2f129cc39517b925419c22f69a378ec023eh * and limitations under the License.
bb5e3b2f129cc39517b925419c22f69a378ec023eh *
bb5e3b2f129cc39517b925419c22f69a378ec023eh * When distributing Covered Code, include this CDDL HEADER in each
bb5e3b2f129cc39517b925419c22f69a378ec023eh * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bb5e3b2f129cc39517b925419c22f69a378ec023eh * If applicable, add the following below this CDDL HEADER, with the
bb5e3b2f129cc39517b925419c22f69a378ec023eh * fields enclosed by brackets "[]" replaced with your own identifying
bb5e3b2f129cc39517b925419c22f69a378ec023eh * information: Portions Copyright [yyyy] [name of copyright owner]
bb5e3b2f129cc39517b925419c22f69a378ec023eh *
bb5e3b2f129cc39517b925419c22f69a378ec023eh * CDDL HEADER END
bb5e3b2f129cc39517b925419c22f69a378ec023eh */
bb5e3b2f129cc39517b925419c22f69a378ec023eh
922d2c76afbee21520ffa2088c4e60dcb80d3945eh/* LINTLIBRARY */
bb5e3b2f129cc39517b925419c22f69a378ec023eh/* PROTOLIB1 */
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh/*
bb5e3b2f129cc39517b925419c22f69a378ec023eh * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
bb5e3b2f129cc39517b925419c22f69a378ec023eh * Use is subject to license terms.
bb5e3b2f129cc39517b925419c22f69a378ec023eh */
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#pragma ident "%Z%%M% %I% %E% SMI"
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh#include <sys/types.h>
bb5e3b2f129cc39517b925419c22f69a378ec023eh#include <sys/stat.h>
bb5e3b2f129cc39517b925419c22f69a378ec023eh#include <sys/time.h>
bb5e3b2f129cc39517b925419c22f69a378ec023eh#include <signal.h>
bb5e3b2f129cc39517b925419c22f69a378ec023eh#include <libaio.h>
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh/*
bb5e3b2f129cc39517b925419c22f69a378ec023eh * usr/src/lib/libaio/common
bb5e3b2f129cc39517b925419c22f69a378ec023eh */
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh/* aio.c */
bb5e3b2f129cc39517b925419c22f69a378ec023ehint aioread(int fd, caddr_t buf, int bufsz, off_t offset, int whence,
bb5e3b2f129cc39517b925419c22f69a378ec023eh aio_result_t *resultp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint aiowrite(int fd, caddr_t buf, int bufsz, off_t offset, int whence,
bb5e3b2f129cc39517b925419c22f69a378ec023eh aio_result_t *resultp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint aioread64(int fd, caddr_t buf, int bufsz, off64_t offset, int whence,
bb5e3b2f129cc39517b925419c22f69a378ec023eh aio_result_t *resultp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint aiowrite64(int fd, caddr_t buf, int bufsz, off64_t offset, int whence,
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe aio_result_t *resultp);
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweint aiocancel(aio_result_t *resultp);
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweaio_result_t *aiowait(struct timeval *uwait);
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe/* scalls.c */
bb5e3b2f129cc39517b925419c22f69a378ec023ehint _libaio_close(int fd);
bb5e3b2f129cc39517b925419c22f69a378ec023eh
bb5e3b2f129cc39517b925419c22f69a378ec023eh/* posix_aio.c */
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_read(aiocb_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_write(aiocb_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __lio_listio(int mode, aiocb_t * const list[],
bb5e3b2f129cc39517b925419c22f69a378ec023eh int nent, struct sigevent *sig);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_suspend(void **list, int nent, const timespec_t *timo, int lf);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_error(aiocb_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehssize_t __aio_return(aiocb_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_fsync(int op, aiocb_t *aiocbp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_cancel(int fd, aiocb_t *aiocbp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_waitn(void **list, uint_t nent, uint_t *nwait,
bb5e3b2f129cc39517b925419c22f69a378ec023eh const struct timespec *timeout);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_read64(aiocb64_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_write64(aiocb64_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __lio_listio64(int mode, aiocb64_t *const list[],
bb5e3b2f129cc39517b925419c22f69a378ec023eh int nent, struct sigevent *sig);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_error64(aiocb64_t *cb);
bb5e3b2f129cc39517b925419c22f69a378ec023ehssize_t __aio_return64(aiocb64_t *cb);
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweint __aio_fsync64(int op, aiocb64_t *aiocbp);
bb5e3b2f129cc39517b925419c22f69a378ec023ehint __aio_cancel64(int fd, aiocb64_t *aiocbp);
bb5e3b2f129cc39517b925419c22f69a378ec023eh