SVR5
mdi_tx_if(D3mdi)
mdi_tx_if --
service driver's write queue for multiprocessor-aware MDI drivers
Syntax
#include <sys/types.h>
#include <sys/stream.h>
#include <sys/mdi.h>
#include <sys/ddi.h>
void mdi_tx_if(mdi_tx_if_t * txint, mblk_t *msg);
Description
Service the MDI driver's write queue,
and issue a new transmit request to the adapter.
Arguments
txint-
pointer to an mdi_tx_if_t structure
returned by the
mdi_tx_if_init(D3mdi)
function.
msg-
Set to a valid, non-NULL msg
when calling from the
uwput(D2mdi)
entry point routine.
Set to NULL when calling from the
srv(D2str)
or
intr(D2mdi)
entry point routines.
Return values
None.
Usage
The
mdi_tx_if(D3mdi)
function
is called from the driver's
put(D2str),
srv(D2str),
and
intr(D2)
routines to service the driver's write queue and
to issue a new transmit request to the adapter.
The driver must call the
mdi_tx_if_init(D3mdi)
and
mdi_tx_if_enable(D3mdi)
functions first, to initialize and allocate the lock structure.
mdi_tx_if( )
allows a single-threaded driver to run
on any configured CPU
in a multiprocessing configuration.
If the MDITX_MP_SAFE flag
is set for the
mdi_tx_if_init( )
function when it creates the locking structure,
only one instance of the MDI driver
executes at a time,
but the impact on general system performance
is much less than if the driver could only execute
on CPU 0.
Context and synchronization
Any
context.
Hardware applicability
All
Version applicability
mdi:
2, 2.1
Differences between versions
This function is not supported on SCO OpenServer systems.
Similar functionality is provided through the
mditx_interface( )
and
mditx_interfaceMT( )
functions.
References
mdi_tx_if(D3mdi),
mdi_tx_if_deinit(D3mdi),
mdi_tx_if_disable(D3mdi),
mdi_tx_if_enable(D3mdi),
mdi_tx_if_init(D3mdi),
``Trylocks'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005