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