xref: /illumos-gate/usr/src/man/man9f/mac_getinfo.9f (revision 86e5bb7983583c7ce83d5235abc95df1fb570d5e)
1*86e5bb79SLuqman Aden.\"
2*86e5bb79SLuqman Aden.\" This file and its contents are supplied under the terms of the
3*86e5bb79SLuqman Aden.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*86e5bb79SLuqman Aden.\" You may only use this file in accordance with the terms of version
5*86e5bb79SLuqman Aden.\" 1.0 of the CDDL.
6*86e5bb79SLuqman Aden.\"
7*86e5bb79SLuqman Aden.\" A full copy of the text of the CDDL should have accompanied this
8*86e5bb79SLuqman Aden.\" source.  A copy of the CDDL is also available via the Internet at
9*86e5bb79SLuqman Aden.\" http://www.illumos.org/license/CDDL.
10*86e5bb79SLuqman Aden.\"
11*86e5bb79SLuqman Aden.\"
12*86e5bb79SLuqman Aden.\" Copyright 2023 Oxide Computer Company
13*86e5bb79SLuqman Aden.\"
14*86e5bb79SLuqman Aden.Dd January 30, 2023
15*86e5bb79SLuqman Aden.Dt MAC_GETINFO 9F
16*86e5bb79SLuqman Aden.Os
17*86e5bb79SLuqman Aden.Sh NAME
18*86e5bb79SLuqman Aden.Nm mac_getinfo
19*86e5bb79SLuqman Aden.Nd get device driver information for a MAC provider
20*86e5bb79SLuqman Aden.Sh SYNOPSIS
21*86e5bb79SLuqman Aden.In sys/mac_provider.h
22*86e5bb79SLuqman Aden.Ft int
23*86e5bb79SLuqman Aden.Fo mac_getinfo
24*86e5bb79SLuqman Aden.Fa "dev_info_t *dip"
25*86e5bb79SLuqman Aden.Fa "ddi_info_cmd_t cmd"
26*86e5bb79SLuqman Aden.Fa "void *arg"
27*86e5bb79SLuqman Aden.Fa "void **resp"
28*86e5bb79SLuqman Aden.Fc
29*86e5bb79SLuqman Aden.Sh INTERFACE LEVEL
30*86e5bb79SLuqman Adenillumos DDI specific
31*86e5bb79SLuqman Aden.Sh PARAMETERS
32*86e5bb79SLuqman Aden.Bl -tag -width Fa
33*86e5bb79SLuqman Aden.It Fa "dip"
34*86e5bb79SLuqman AdenThe MAC driver's dip.
35*86e5bb79SLuqman Aden.It Fa "cmd"
36*86e5bb79SLuqman AdenCommand argument to
37*86e5bb79SLuqman Aden.Xr getinfo 9E .
38*86e5bb79SLuqman Aden.It Fa "arg"
39*86e5bb79SLuqman AdenCommand specific argument.
40*86e5bb79SLuqman Aden.It Fa "resp"
41*86e5bb79SLuqman AdenPointer to store the command specific response.
42*86e5bb79SLuqman Aden.El
43*86e5bb79SLuqman Aden.Sh DESCRIPTION
44*86e5bb79SLuqman AdenThe
45*86e5bb79SLuqman Aden.Fn mac_getinfo
46*86e5bb79SLuqman Adenfunction is the default
47*86e5bb79SLuqman Aden.Xr getinfo 9E
48*86e5bb79SLuqman Adenentry point provided by the
49*86e5bb79SLuqman Aden.Xr mac 9E
50*86e5bb79SLuqman Adenframework.
51*86e5bb79SLuqman Aden.Pp
52*86e5bb79SLuqman AdenGenerally a MAC provider is free to leave the
53*86e5bb79SLuqman Aden.Xr getinfo 9E
54*86e5bb79SLuqman Adenentry point unset and allow the framework to provide a default implementation.
55*86e5bb79SLuqman Aden.Pp
56*86e5bb79SLuqman AdenHowever, if a driver wants to expose additional device nodes or relies on some
57*86e5bb79SLuqman Adenspecial mapping of device instance to MAC instance then it must provide its own
58*86e5bb79SLuqman Aden.Xr getinfo 9E
59*86e5bb79SLuqman Adenentry point.
60*86e5bb79SLuqman AdenSuch a driver may then call the
61*86e5bb79SLuqman Aden.Fn mac_getinfo
62*86e5bb79SLuqman Adenfunction to handle requests for MAC reserved nodes, propagating the return
63*86e5bb79SLuqman Adenvalue.
64*86e5bb79SLuqman AdenSee the
65*86e5bb79SLuqman Aden.Sy Custom Device Nodes
66*86e5bb79SLuqman Adensection of
67*86e5bb79SLuqman Aden.Xr mac 9E
68*86e5bb79SLuqman Adenfor more details.
69*86e5bb79SLuqman Aden.Sh CONTEXT
70*86e5bb79SLuqman AdenThe
71*86e5bb79SLuqman Aden.Fn mac_getinfo
72*86e5bb79SLuqman Adenfunction should be used during the execution of a driver's
73*86e5bb79SLuqman Aden.Xr getinfo 9E
74*86e5bb79SLuqman Adenentry point.
75*86e5bb79SLuqman Aden.Sh RETURN VALUES
76*86e5bb79SLuqman Aden.Fn mac_getinfo
77*86e5bb79SLuqman Adenreturns
78*86e5bb79SLuqman Aden.Dv DDI_SUCCESS
79*86e5bb79SLuqman Adenon success or
80*86e5bb79SLuqman Aden.Dv DDI_FAILURE
81*86e5bb79SLuqman Adenotherwise.
82*86e5bb79SLuqman Aden.Sh SEE ALSO
83*86e5bb79SLuqman Aden.Xr getinfo 9E ,
84*86e5bb79SLuqman Aden.Xr mac 9E ,
85*86e5bb79SLuqman Aden.Xr mac_devt_to_instance 9F ,
86*86e5bb79SLuqman Aden.Xr mac_private_minor 9F
87