copyresp(D4) copyresp(D4)
NAME
copyresp - STREAMS transparent ioctl copy response structure
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
DESCRIPTION
The copyresp structure contains information in response to a
prior copy request necessary to continue processing
transparent ioctls.
USAGE
M_IOCDATA messages, generated by the stream head, contain the
copyresp structure.
If an M_IOCDATA message is reused, any unused fields in the
new message should be cleared.
Structure Definitions
The copyresp structure contains the following members:
int cp_cmd; /* ioctl command */
cred_t *cp_cr; /* user credentials */
uint_t cp_id; /* ioctl ID */
caddr_t cp_rval; /* status of request */
mblk_t *cp_private; /* module private data */
The cp_cmd field is the ioctl command, copied from the cq_cmd
field of the copyreq structure.
The cp_cr field contains a pointer to the user credentials.
It is copied from the cq_cr field of the copyreq structure.
The cp_id field is the ioctl ID, copied from the cq_id field
of the copyreq structure. It is used to uniquely identify the
ioctl request in the stream.
The cq_rval field contains the return value from the last copy
request. If the request succeeded, it is set to 0.
Otherwise, if it is non-zero, the request failed. On success,
the module or driver should continue processing the ioctl. On
failure, the module or driver should abort ioctl processing
and free the message. No M_IOCNAK message need be generated.
Copyright 1994 Novell, Inc. Page 1
copyresp(D4) copyresp(D4)
The cp_private field is copied from the cq_private field of
the copyreq structure. It is available so that the module or
driver can regain enough state information to continue
processing the ioctl request. When the M_IOCDATA message is
freed, any message that cp_private refers to is not freed by
the STREAMS subsystem. It is the responsibility of the module
or driver to free it.
REFERENCES
copyreq(D4), datab(D4), iocblk(D4), messages(D5), msgb(D4)
NOTICES
Portability
All processors
Copyright 1994 Novell, Inc. Page 2