xref: /openbsd/share/man/man9/bio_register.9 (revision be43dfe7)
1*be43dfe7Sschwarze.\"	$OpenBSD: bio_register.9,v 1.6 2015/09/14 12:05:33 schwarze Exp $
2336d7de1Sdlg.\"
3336d7de1Sdlg.\" Copyright (c) 2006 David Gwynne <dlg@openbsd.org>
4336d7de1Sdlg.\"
5336d7de1Sdlg.\" Permission to use, copy, modify, and distribute this software for any
6336d7de1Sdlg.\" purpose with or without fee is hereby granted, provided that the above
7336d7de1Sdlg.\" copyright notice and this permission notice appear in all copies.
8336d7de1Sdlg.\"
9336d7de1Sdlg.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10336d7de1Sdlg.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11336d7de1Sdlg.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12336d7de1Sdlg.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13336d7de1Sdlg.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14336d7de1Sdlg.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15336d7de1Sdlg.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16336d7de1Sdlg.\"
17*be43dfe7Sschwarze.Dd $Mdocdate: September 14 2015 $
18336d7de1Sdlg.Dt BIO_REGISTER 9
19336d7de1Sdlg.Os
20336d7de1Sdlg.Sh NAME
21336d7de1Sdlg.Nm bio_register ,
22336d7de1Sdlg.Nm bio_unregister
23d608be15Sjmc.Nd block I/O ioctl tunnelling interface
24336d7de1Sdlg.Sh SYNOPSIS
25336d7de1Sdlg.In dev/biovar.h
26336d7de1Sdlg.Ft int
27ce1b2749Sweingart.Fn bio_register "struct device *dev" "int (*bioctl)(struct device *, u_long, caddr_t)"
28*be43dfe7Sschwarze.Ft void
29336d7de1Sdlg.Fn bio_unregister "struct device *dev"
30336d7de1Sdlg.Sh DESCRIPTION
31d608be15SjmcThe block I/O ioctl tunnelling interface is used by drivers to register and
32336d7de1Sdlgunregister ioctl handlers to be accessed via the
33336d7de1Sdlg.Xr bio 4
34336d7de1Sdlgdevice.
35336d7de1Sdlg.Pp
36336d7de1Sdlg.Fn bio_register
37336d7de1Sdlgis called by the driver represented by
38336d7de1Sdlg.Fa dev
39336d7de1Sdlgto register the
40336d7de1Sdlg.Fa bioctl
41336d7de1Sdlgargument as the ioctl handler for itself.
42336d7de1Sdlg.Pp
43336d7de1Sdlg.Fn bio_unregister
44336d7de1Sdlgis called to remove the ioctl handler previously registered with
45336d7de1Sdlg.Fn bio_register
46336d7de1Sdlgfor the device represented by
47336d7de1Sdlg.Fa dev .
48336d7de1Sdlg.Pp
49336d7de1Sdlg.Fn bio_register
50336d7de1Sdlgand
51336d7de1Sdlg.Fn bio_unregister
52336d7de1Sdlgcan be called during
53336d7de1Sdlg.Xr autoconf 9
54336d7de1Sdlgor from process context.
55336d7de1SdlgThe
56336d7de1Sdlg.Fa bioctl
57336d7de1Sdlgcallback is called from process context.
58336d7de1Sdlg.Sh SEE ALSO
59336d7de1Sdlg.Xr bio 4 ,
60336d7de1Sdlg.Xr autoconf 9
61336d7de1Sdlg.Sh HISTORY
62d608be15SjmcThe block I/O ioctl tunnelling interface first appeared in
63336d7de1Sdlg.Ox 3.2 .
64336d7de1Sdlg.Sh AUTHORS
65d608be15SjmcThe block I/O ioctl tunnelling interface was written by
66f0641c22Sschwarze.An Niklas Hallqvist Aq Mt niklas@openbsd.org .
67