1 //////////////////////////////////////////////////////////////////////////////////// 2 // W32STAPE.H -- Hercules Win32 SCSI Tape handling module 3 // 4 // (c) Copyright "Fish" (David B. Trout), 2005-2009. Released under 5 // the Q Public License (http://www.hercules-390.org/herclic.html) 6 // as modifications to Hercules. 7 //////////////////////////////////////////////////////////////////////////////////// 8 // 9 // This module contains only MSVC support for SCSI tapes. 10 // Primary SCSI Tape support is in module 'scsitape.c'... 11 // 12 //////////////////////////////////////////////////////////////////////////////////// 13 14 #ifndef _W32STAPE_H_ 15 #define _W32STAPE_H_ 16 17 #ifdef _MSVC_ 18 19 #include "w32mtio.h" // Win32 version of 'mtio.h' 20 21 #define WIN32_TAPE_DEVICE_NAME "\\\\.\\Tape0" 22 23 #ifndef _W32STAPE_C_ 24 #ifndef _HTAPE_DLL_ 25 #define W32ST_DLL_IMPORT DLL_IMPORT 26 #else 27 #define W32ST_DLL_IMPORT extern 28 #endif 29 #else 30 #define W32ST_DLL_IMPORT DLL_EXPORT 31 #endif 32 33 W32ST_DLL_IMPORT int w32_open_tape ( const char* path, int oflag, ... ); 34 W32ST_DLL_IMPORT int w32_define_BOT ( int fd, U32 msk, U32 bot ); 35 W32ST_DLL_IMPORT int w32_ioctl_tape ( int fd, int request, ... ); 36 W32ST_DLL_IMPORT int w32_close_tape ( int fd ); 37 W32ST_DLL_IMPORT ssize_t w32_read_tape ( int fd, void* buf, size_t nbyte ); 38 W32ST_DLL_IMPORT ssize_t w32_write_tape ( int fd, const void* buf, size_t nbyte ); 39 40 #endif // _MSVC_ 41 42 #endif // _W32STAPE_H_ 43