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