devdump Kernel Service

Purpose

Calls a device driver dump-to-device routine.

Syntax

#include <sys/types.h>
#include <sys/errno.h>

int devdump
(
devno, uiop, cmd, arg, chan, ext)
dev_t  devno;
struct uio * uiop;
int  cmd,  arg,  ext;

Parameters

Item Description
devno Specifies the major and minor device numbers.
uiop Points to the uio structure containing write parameters.
cmd Specifies which dump command to perform.
arg Specifies a parameter or address to a parameter block for the specified command.
chan Specifies the channel ID.
ext Specifies the extended system call parameter.

Description

The kernel or kernel extension calls the devdump kernel service to initiate a memory dump to a device when writing dump data and then to terminate the dump to the target device.

The devdump service calls the device driver's dddump routine, which is found in the device switch table for the device driver associated with the specified device number. If the device number (specified by the devno parameter) is not valid or if the associated device driver does not have a dddump routine, an ENODEV return value is returned.

If the device number is valid and the specified device driver has a dddump routine, the routine is called.

If the device driver's dddump routine is successfully called, the return value for the devdump service is set to the return value provided by the device's dddump routine.

Execution Environment

The devdump kernel service can be called in either the process or interrupt environment, as described under the conditions described in the dddump routine.

Return Values

Item Description
0 Indicates a successful operation.
ENODEV Indicates that the device number is not valid or that no dddump routine is registered for this device.

The dddump device driver routine provides other return values.