Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ copyresp(D4) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       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








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026