/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/kernel/sys/ddconc.h 1.5 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1993,1998 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)08 1.5 src/bos/kernel/sys/ddconc.h, sysxdisk, bos720 5/22/98 08:16:59 */ #ifndef _H_DDCONC #define _H_DDCONC /* * COMPONENT_NAME: (SYSXDISK) Serial Dasd Subsytem Device Driver * * FUNCTIONS: Header File for concurrent mode * * ORIGINS: 27 * * (C) COPYRIGHT International Business Machines Corp. 1993 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* Ioctl Operation Defines */ #define DD_CONC_REGISTER 0x80 /* Register for concurrent mode */ #define DD_CONC_UNREGISTER 0x81 /* Unregister for concurrent mode */ /* Concurrent mode commands */ #define DD_CONC_SEND_REFRESH 0x01 /* Issue a refresh to notify other */ /* hosts that data has been updated */ /* on the device. */ #define DD_CONC_LOCK 0x02 /* Issue a lock to prevent other */ /* hosts from modifying data */ #define DD_CONC_UNLOCK 0x03 /* Issue an unlock to allow other */ /* hosts to modify data */ #define DD_CONC_TEST 0x04 /* Issue a test device command to */ /* verify that the device is still */ /* accessable to this host. */ #define DD_CONC_RECV_REFRESH 0x05 /* A refresh command has been */ /* received from another host. */ #define DD_CONC_RESET 0x06 /* A device has been reset and any */ /* pending messages have beem flshed */ /* * Concurrent mode command structure */ struct conc_cmd { struct conc_cmd *prev; /* Previous one in list */ struct conc_cmd *next; /* Next one in list */ uchar error; /* Error after I/O */ uchar cmd_op; /* Command operation */ uchar message; /* Message code */ dev_t devno; /* Major + minor */ int work; /* Work area */ int resvd; /* Reserved for future */ }; /* * Registration structure */ struct dd_conc_register { int (*conc_func_addr)(struct conc_cmd *); /* Concurrent mode entry */ /* point address */ int (*conc_intr_addr)(struct conc_cmd *, uchar,uchar,dev_t); /* Concurrent mode Function */ /* address for interrupts */ }; #endif