home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
os2
/
gtak212b.zip
/
SOURCE.ZIP
/
TAPE
/
tape.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-09-12
|
3KB
|
106 lines
/*****************************************************************************
* $Id: tape.h,v 1.3 1992/09/12 18:10:57 ak Exp $
*****************************************************************************
* $Log: tape.h,v $
* Revision 1.3 1992/09/12 18:10:57 ak
* Added scsi_name
* Added device name support to tctl.c
*
* Revision 1.2 1992/09/02 19:05:25 ak
* Version 2.0
* - EMX version
* - AIX version
* - SCSI-2 commands
* - ADD Driver
* - blocksize support
*
* Revision 1.1.1.1 1992/01/06 20:27:43 ak
* Interface now based on ST01 and ASPI.
* AHA_DRVR no longer supported.
* Files reorganized.
*
* Revision 1.1 1992/01/06 20:27:41 ak
* Initial revision
*
*****************************************************************************/
#include <limits.h>
/*
* Tape control.
*/
#define TapeUndefLength LONG_MIN /* undefined value of actual count */
extern void tape_init ();
extern void tape_name (char *name);
extern void tape_file (int fd);
extern void tape_term ();
extern int tape_reset (int bus);
extern void tape_trace(int);
extern int tape_target (int);
extern void tape_sense (void *data, int len); /* >= 8, NULL resets */
extern char * tape_error (int);
extern int tape_cmd (void *cdb, int cdb_len);
extern int tape_read_cmd (void *cdb, int cdb_len,
void _far *data, long data_len);
extern int tape_write_cmd (void *cdb, int cdb_len,
void _far *data, long data_len);
extern int tape_inquiry (void *data, int len);
extern int tape_mode_sense (int page, void *data, int len);
extern int tape_mode_select (int page, void *data, int len, int SMP);
extern int tape_rewind (int imed);
extern int tape_space (int mode, long nitems, long *actual);
extern long tape_tell (void); /* Tandberg */
extern int tape_seek (int imed, long blkno); /* Tandberg */
extern int tape_read (void _far *data, long length, long *actual);
extern int tape_compare (void _far *data, long length, long *actual);
extern int tape_verify (long length, long *actual);
extern int tape_write (void _far *data, long length, long *actual);
extern int tape_filemark (int imed, long nblocks, long *actual);
extern int tape_setmark (int imed, long nblocks, long *actual);
extern int tape_erase (void);
extern int tape_buffered_write (void _far *data, long length);
extern int tape_buffered_wait (long *actual);
extern long tape_get_blocksize (void);
extern int tape_set_blocksize (long size);
extern int tape_speed (int);
extern int tape_ready (void);
extern int tape_load (int imed, int retension);
extern int tape_unload (int imed, int mode);
extern void tape_print_sense (FILE *file, int retcode);
/* Space mode: */
enum SpaceMode {
SpaceBlocks = 00,
SpaceFileMarks = 01,
SpaceSequentalFilemarks = 02,
SpaceLogEndOfMedia = 03,
SpaceSetmarks = 04,
SpaceSequentalSetmarks = 05,
};
/* Unload mode */
enum UnloadMode {
UnloadRewind = 00,
UnloadRetension = 02,
UnloadEndOfTape = 04,
};
/* additional error codes, -> scsi.h */
#define EndOfData TapeError+1
#define EndOfTape TapeError+2
#define FileMark TapeError+3
#define NoCommand TapeError+4 /* buffered_wait */