Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/aio.h
Show First 20 Lines • Show All 130 Lines • ▼ Show 20 Lines | struct kaiocb { | ||||
TAILQ_ENTRY(kaiocb) plist; /* (a) lists of pending / done jobs */ | TAILQ_ENTRY(kaiocb) plist; /* (a) lists of pending / done jobs */ | ||||
TAILQ_ENTRY(kaiocb) allist; /* (a) list of all jobs in proc */ | TAILQ_ENTRY(kaiocb) allist; /* (a) list of all jobs in proc */ | ||||
int jobflags; /* (a) job flags */ | int jobflags; /* (a) job flags */ | ||||
int inblock; /* (*) input blocks */ | int inblock; /* (*) input blocks */ | ||||
int outblock; /* (*) output blocks */ | int outblock; /* (*) output blocks */ | ||||
int msgsnd; /* (*) messages sent */ | int msgsnd; /* (*) messages sent */ | ||||
int msgrcv; /* (*) messages received */ | int msgrcv; /* (*) messages received */ | ||||
struct proc *userproc; /* (*) user process */ | struct proc *userproc; /* (*) user process */ | ||||
struct thread *td; /* (a) submitting thread */ | |||||
struct ucred *cred; /* (*) active credential when created */ | struct ucred *cred; /* (*) active credential when created */ | ||||
struct file *fd_file; /* (*) pointer to file structure */ | struct file *fd_file; /* (*) pointer to file structure */ | ||||
struct aioliojob *lio; /* (*) optional lio job */ | struct aioliojob *lio; /* (*) optional lio job */ | ||||
struct aiocb *ujob; /* (*) pointer in userspace of aiocb */ | struct aiocb *ujob; /* (*) pointer in userspace of aiocb */ | ||||
struct knlist klist; /* (a) list of knotes */ | struct knlist klist; /* (a) list of knotes */ | ||||
struct aiocb uaiocb; /* (*) copy of user I/O control block */ | struct aiocb uaiocb; /* (*) copy of user I/O control block */ | ||||
struct uio uio; /* (*) storage for non-vectored uio */ | struct uio uio; /* (*) storage for non-vectored uio */ | ||||
struct iovec iov[1]; /* (*) storage for non-vectored uio */ | struct iovec iov[1]; /* (*) storage for non-vectored uio */ | ||||
▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | |||||
bool aio_cancel_cleared(struct kaiocb *job); | bool aio_cancel_cleared(struct kaiocb *job); | ||||
void aio_cancel(struct kaiocb *job); | void aio_cancel(struct kaiocb *job); | ||||
bool aio_clear_cancel_function(struct kaiocb *job); | bool aio_clear_cancel_function(struct kaiocb *job); | ||||
void aio_complete(struct kaiocb *job, long status, int error); | void aio_complete(struct kaiocb *job, long status, int error); | ||||
void aio_schedule(struct kaiocb *job, aio_handle_fn_t *func); | void aio_schedule(struct kaiocb *job, aio_handle_fn_t *func); | ||||
bool aio_set_cancel_function(struct kaiocb *job, aio_cancel_fn_t *func); | bool aio_set_cancel_function(struct kaiocb *job, aio_cancel_fn_t *func); | ||||
void aio_switch_vmspace(struct kaiocb *job); | void aio_switch_vmspace(struct kaiocb *job); | ||||
void aio_thread_exit(struct thread *thread); | |||||
#else /* !_KERNEL */ | #else /* !_KERNEL */ | ||||
struct timespec; | struct timespec; | ||||
__BEGIN_DECLS | __BEGIN_DECLS | ||||
/* | /* | ||||
* Asynchronously read from a file | * Asynchronously read from a file | ||||
▲ Show 20 Lines • Show All 63 Lines • Show Last 20 Lines |