DDI_UFM_SLOT(9F)        Kernel Functions for Drivers        DDI_UFM_SLOT(9F)
NAME
     ddi_ufm_slot, 
ddi_ufm_slot_set_version, 
ddi_ufm_slot_set_attrs,     
ddi_ufm_slot_set_misc, 
ddi_ufm_slot_set_imgsize - UFM slot property
     routines
SYNOPSIS
     #include <sys/ddi_ufm.h>     
void     ddi_ufm_slot_set_version(
ddi_ufm_slot_t *usp, 
const char *version);     
void     ddi_ufm_slot_set_attrs(
ddi_ufm_slot_t *usp, 
ddi_ufm_attr_t attrs);     
void     ddi_ufm_slot_set_misc(
ddi_ufm_slot_t *usp, 
nvlist_t *nvl);     
void     ddi_ufm_slot_set_imgsize(
ddi_ufm_slot_t *usp, 
uint64_t len);
INTERFACE LEVEL
     Evolving - This interface is evolving still in illumos.  API and ABI
     stability is not guaranteed.
PARAMETERS
     usp           A pointer to a UFM slot structure that was passed to the
                   driver in its 
ddi_ufm_op_fill_slot(9E) entry point.     
version       A device-specific ASCII string that indicates the current
                   version of the firmware image in the slot.     
attrs         The bitwise-inclusive-OR of one of several attributes of
                   a firmware slot.  See the discussion of the                   
ddi_ufm_op_fill_slot() function in 
ddi_ufm(9E).     
nvl           An nvlist_t with ancillary, device-specific data.     
len           The length in bytes of a firmware image in a slot.
DESCRIPTION
     The 
ddi_ufm_slot_set_version(), 
ddi_ufm_slot_set_attrs(),     
ddi_ufm_slot_set_misc(), and 
ddi_ufm_slot_set_imgsize() functions are
     used by device drivers to set information about a firmware slot on the
     slot structure 
usp as a part of implementing their     
ddi_ufm_op_fill_slot(9E) entry point.  For more information on slots
     and the use of these functions, see the description of the     
ddi_ufm_op_fill_slot() function in 
ddi_ufm(9E).
     The 
ddi_ufm_slot_set_version() function sets the version property of a
     firmware slot.  The version should be a human-readable ASCII string
     that describes the current firmware revision in a way that makes sense
     to an administrator and someone who is referencing the documentation of
     a vendor.
     The 
ddi_ufm_slot_set_attrs() function describes attributes of a UFM
     slot as defined by the ddi_ufm_attr_t enum.
     The 
ddi_ufm_slot_set_misc() function is used by the driver to set
     ancillary key-value data that may be useful to a consumer.  For
     example, a driver may use this method to encode specific information
     that the firmware provides about how or when it was produced or
     installed on the device.  The driver should create an nvlist for this
     purpose with 
nvlist_alloc(9F).  Once the driver passes the nvlist to
     the 
ddi_ufm_slot_set_misc() function, then the driver must not
     manipulate or free the nvlist at all.  It is the property of the UFM
     subsystem.
     the 
ddi_ufm_slot_set_imgsize() function is used by the driver to
     indicate the size of a firmware image in a slot.  Consumers use this to
     determine the amount of data that they should read for a firmware image
     itself.
CONTEXT
     These functions should only be called in the context of the     
ddi_ufm_op_fill_slot(9E) entry point.
SEE ALSO
     ddi_ufm(9E), 
ddi_ufm_op_fill_slot(9E), 
nvlist_alloc(9F)illumos                         May 19, 2020                         illumos