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