JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 9: DDI and DKI Properties and Data Structures     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information

Preface

Introduction

Data Structures for Drivers

aio_req(9S)

audio_engine_ops(9S)

blksize(9P)

buf(9S)

cb_ops(9S)

copyreq(9S)

copyresp(9S)

datab(9S)

dblk(9S)

ddi_device_acc_attr(9S)

ddi_dma_attr(9S)

ddi_dma_cookie(9S)

ddi_dmae_req(9S)

ddi_dma_lim(9S)

ddi_dma_lim_sparc(9S)

ddi_dma_lim_x86(9S)

ddi_dma_req(9S)

ddi_fm_error(9S)

ddi-forceattach(9P)

ddi_idevice_cookie(9S)

ddi-no-autodetach(9P)

ddi-no-modunload(9P)

device-blksize(9P)

device-nblocks(9P)

device-pblksize(9P)

devmap_callback_ctl(9S)

dev_ops(9S)

fmodsw(9S)

free_rtn(9S)

gld_mac_info(9S)

gld_stats(9S)

hook_nic_event(9S)

hook_pkt_event(9S)

hook_t(9S)

inquiry-device-type(9P)

inquiry-product-id(9P)

inquiry-revision-id(9P)

inquiry-serial-no(9P)

inquiry-vendor-id(9P)

iocblk(9S)

iovec(9S)

kstat(9S)

kstat_intr(9S)

kstat_io(9S)

kstat_named(9S)

linkblk(9S)

lso_basic_tcp_ipv4(9S)

mac_callbacks(9S)

mac_capab_lso(9S)

mac_capab_rings(9S)

mac_group_info(9S)

mac_register(9S)

mac_ring_info(9S)

mblk(9S)

modldrv(9S)

modlinkage(9S)

modlmisc(9S)

modlstrmod(9S)

module_info(9S)

msgb(9S)

Nblock(9P)

net_inject_t(9S)

net_instance_t(9S)

no-involuntary-power-cycles(9P)

pblksize(9P)

pm(9P)

pm-components(9P)

qband(9S)

qinit(9S)

queclass(9S)

queue(9S)

removable-media(9P)

scsi_address(9S)

scsi_arq_status(9S)

scsi_asc_key_strings(9S)

scsi_device(9S)

scsi_extended_sense(9S)

scsi_hba_tran(9S)

scsi_inquiry(9S)

scsi_pkt(9S)

scsi_status(9S)

size(9P)

sof_ops(9S)

streamtab(9S)

stroptions(9S)

tuple(9S)

uio(9S)

usb_bulk_request(9S)

usb_callback_flags(9S)

usb_cfg_descr(9S)

usb_client_dev_data(9S)

usb_completion_reason(9S)

usb_ctrl_request(9S)

usb_dev_descr(9S)

usb_dev_qlf_descr(9S)

usb_ep_descr(9S)

usb_if_descr(9S)

usb_intr_request(9S)

usb_isoc_request(9S)

usb_other_speed_cfg_descr(9S)

usb_request_attributes(9S)

usb_string_descr(9S)

mac_callbacks

- MAC callbacks data structure

Synopsis

#include <sys/mac_provider.h>

Interface Level

Solaris architecture specific (Solaris DDI)

Description

The mac_callbacks data structure is used by MAC device drivers to expose their entry points to the MAC layer. A pointer to an instance of the mac_callbacks structure is passed through the m_callbacks field of the mac_register(9S) structure as part of the registration of a device driver instance through mac_register(9F).

Structure Members

uint_t          mc_callbacks;   /* Denotes which callbacks are set */
mac_getstat_t   mc_getstat;     /* Get the value of a statistic */
mac_start_t     mc_start;       /* Start the device */
mac_stop_t      mc_stop;        /* Stop the device */
mac_setpromisc_t mc_setpromisc; /* Enable or disable promiscuous mode */
mac_multicst_t  mc_multicst;    /* Enable or disable a multicast addr */
mac_unicst_t    mc_unicst;      /* Set the unicast MAC address */
mac_tx_t        mc_tx;          /* Transmit a packet */
mac_ioctl_t     mc_ioctl;       /* Process an unknown ioctl */
mac_getcapab_t  mc_getcapab;    /* Get capability information */
mac_set_prop_t  mc_setprop;     /* Set property value */
mac_get_prop_t  mc_getprop;     /* Get property value */
mac_prop_info_t mc_propinfo;    /* Get property attributes */

Below are descriptions of the members of the mac_callbacks structure that are visible to the device driver.

mc_callbacks

Flags specifying which ones of the optional entry points are implemented by the driver. The following flags are supported:

MC_IOCTL

Set by the driver when the mc_ioctl() entry point is present.

MC_GETCAPAB

Set by the driver when the mc_getcapab() entry point is present.

MC_SETPROP

Set by the driver when the mc_setprop() entry point is present.

MC_GETPROP

Set by the driver when the mc_getprop() entry point is present.

MC_PROPINFO

Set by the driver when the mc_propinfo() entry point is present.

MC_PROPERTIES

Set by a driver which implements all properties entry points (mc_setprop(), mc_getprop(), and mc_propinfo()). Setting MC_PROPERTIES is the equivalent of setting the three flags MC_SETPROP, MC_GETPROP, and MC_PROPINFO.

mc_getstat

pointer to driver entry point

mc_start

pointer to driver entry point

mc_stop

pointer to driver entry point

mc_setpromisc

pointer to driver entry point

mc_multicst

pointer to driver entry point

mc_unicst

pointer to driver entry point

mc_tx

pointer to driver entry point

mc_ioctl

pointer to driver entry point

mc_getcapab

pointer to driver entry point

mc_setprop

pointer to driver entry point

mc_getprop

pointer to driver entry point

mc_propinfo

pointer to driver entry point

See mac(9E) for more information about MAC driver entry points.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/header
Interface Stability
Committed

See Also

attributes(5), mac_register(9F), mac_register(9S)