1 /* DEVTYPE.H (c) Copyright Jan Jaeger, 1999-2009 */ 2 /* Hercules Device Definitions */ 3 4 #if !defined(_DEVICES_H) 5 6 #define _DEVICES_H 7 8 #ifndef _FBADASD_C_ 9 #ifndef _HDASD_DLL_ 10 #define FBA_DLL_IMPORT DLL_IMPORT 11 #else /* _HDASD_DLL_ */ 12 #define FBA_DLL_IMPORT extern 13 #endif /* _HDASD_DLL_ */ 14 #else 15 #define FBA_DLL_IMPORT DLL_EXPORT 16 #endif 17 18 #ifndef _CKDDASD_C_ 19 #ifndef _HDASD_DLL_ 20 #define CKD_DLL_IMPORT DLL_IMPORT 21 #else /* _HDASD_DLL_ */ 22 #define CKD_DLL_IMPORT extern 23 #endif /* _HDASD_DLL_ */ 24 #else 25 #define CKD_DLL_IMPORT DLL_EXPORT 26 #endif 27 28 29 struct DEVHND { 30 DEVIF *init; /* Device Initialisation */ 31 DEVXF *exec; /* Device CCW execute */ 32 DEVCF *close; /* Device Close */ 33 DEVQF *query; /* Device Query */ 34 DEVSF *start; /* Device Start channel pgm */ 35 DEVSF *end; /* Device End channel pgm */ 36 DEVSF *resume; /* Device Resume channel pgm */ 37 DEVSF *suspend; /* Device Suspend channel pgm */ 38 DEVRF *read; /* Device Read */ 39 DEVWF *write; /* Device Write */ 40 DEVUF *used; /* Device Query used */ 41 DEVRR *reserve; /* Device Reserve */ 42 DEVRR *release; /* Device Release */ 43 DEVRR *attention; /* Device Attention */ 44 DEVIM immed; /* Immediate CCW Codes */ 45 DEVSA *siga_r; /* Signal Adapter Input */ 46 DEVSA *siga_w; /* Signal Adapter Output */ 47 DEVSR *hsuspend; /* Hercules suspend */ 48 DEVSR *hresume; /* Hercules resume */ 49 }; 50 51 #define BEGIN_DEVICE_CLASS_QUERY( _classname, _dev, _class, _buflen, _buffer ) \ 52 if (_class) *_class = _classname; \ 53 if (!_dev || !_class || !_buflen || !_buffer) return 54 55 56 #if !defined(OPTION_DYNAMIC_LOAD) 57 extern DEVHND constty_device_hndinfo; 58 extern DEVHND loc3270_device_hndinfo; 59 extern DEVHND comadpt_device_hndinfo; 60 extern DEVHND cardrdr_device_hndinfo; 61 extern DEVHND cardpch_device_hndinfo; 62 extern DEVHND printer_device_hndinfo; 63 extern DEVHND tapedev_device_hndinfo; 64 #endif /*!defined(OPTION_DYNAMIC_LOAD)*/ 65 CKD_DLL_IMPORT DEVHND ckddasd_device_hndinfo; 66 FBA_DLL_IMPORT DEVHND fbadasd_device_hndinfo; 67 extern DEVHND ctcadpt_device_hndinfo; 68 extern DEVHND ctci_device_hndinfo; 69 extern DEVHND ctct_device_hndinfo; 70 extern DEVHND ctce_device_hndinfo; 71 extern DEVHND lcs_device_hndinfo; 72 extern DEVHND vmnet_device_hndinfo; 73 74 75 #endif /*!defined(_DEVICES_H)*/ 76