xref: /illumos-gate/usr/src/man/man9f/mac_devt_to_instance.9f (revision 9164a50bf932130cbb5097a16f6986873ce0e6e5)
1.\"
2.\" This file and its contents are supplied under the terms of the
3.\" Common Development and Distribution License ("CDDL"), version 1.0.
4.\" You may only use this file in accordance with the terms of version
5.\" 1.0 of the CDDL.
6.\"
7.\" A full copy of the text of the CDDL should have accompanied this
8.\" source.  A copy of the CDDL is also available via the Internet at
9.\" http://www.illumos.org/license/CDDL.
10.\"
11.\"
12.\" Copyright 2023 Oxide Computer Company
13.\"
14.Dd January 30, 2023
15.Dt MAC_DEVT_TO_INSTANCE 9F
16.Os
17.Sh NAME
18.Nm mac_devt_to_instance
19.Nd return the instance number for the given device number
20.Sh SYNOPSIS
21.In sys/mac_provider.h
22.Ft int
23.Fo mac_devt_to_instance
24.Fa "dev_t devt"
25.Fc
26.Sh INTERFACE LEVEL
27illumos DDI specific
28.Sh PARAMETERS
29.Bl -tag -width Fa
30.It Fa "devt"
31Device number.
32.El
33.Sh DESCRIPTION
34The
35.Fn mac_devt_to_instance
36function returns the device instance number associated with the given device
37number managed by the
38.Xr mac 9E
39framework.
40.Pp
41Generally the MAC framework is responsible for managing device instance
42mapping and provides a default
43.Xr getinfo 9E
44implementation to that effect.
45.Pp
46However, if a driver wants to expose additional device nodes or relies on some
47special mapping of device instance to MAC instance then it must provide its own
48.Xr getinfo 9E
49entry point.
50In that case, the driver can call the
51.Fn mac_devt_to_instance
52function to obtain the MAC specific instance number and translate it as
53appropriate to a devinfo instance.
54.Sh CONTEXT
55The
56.Fn mac_devt_to_instance
57function should be called from a
58.Sy kernel
59context and is generally used during the execution of a driver's
60.Xr getinfo 9E
61entry point.
62.Sh RETURN VALUES
63Upon successful completion, the
64.Fn mac_devt_to_instance
65function returns the instance number associated with the minor.
66Otherwise
67.Sy -1
68is returned to indicate failure.
69.Sh SEE ALSO
70.Xr getinfo 9E ,
71.Xr mac 9E ,
72.Xr ddi_get_instance 9F ,
73.Xr mac_getinfo 9F ,
74.Xr mac_private_minor 9F
75