Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/mtinfo.h')
-rw-r--r--winsup/cygwin/mtinfo.h144
1 files changed, 0 insertions, 144 deletions
diff --git a/winsup/cygwin/mtinfo.h b/winsup/cygwin/mtinfo.h
deleted file mode 100644
index 9b1cf2c7e..000000000
--- a/winsup/cygwin/mtinfo.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/* mtinfo.h: Defininitions for the Cygwin tape driver class.
-
- Copyright 2004, 2005, 2006 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#define MTINFO_MAGIC 0x179b2af0
-#define MTINFO_VERSION 2
-
-/* Maximum number of supported partitions per drive. */
-#define MAX_PARTITION_NUM 64
-/* Maximum number of supported drives. */
-#define MAX_DRIVE_NUM 8
-
-/* Values for bookkeeping of the tape position relative to filemarks
- and eod/eom. */
-enum eom_val
-{
- no_eof,
- eof_hit,
- eof,
- eod_hit,
- eod,
- eom_hit,
- eom
-};
-
-enum dirty_state
-{
- clean,
- has_read,
- has_written,
- async_write_pending
-};
-
-enum lock_state
-{
- unlocked,
- lock_error,
- auto_locked,
- locked
-};
-
-/* Partition specific information */
-class mtinfo_part
-{
-public:
- long block; /* logical block no */
- long file; /* current file no */
- long fblock; /* relative block no */
- bool smark; /* At setmark? */
- eom_val emark; /* "end-of"-mark */
-
- void initialize (long nblock = -1);
-};
-
-class mtinfo_drive
-{
- int drive;
- int lasterr;
- long partition;
- long block;
- dirty_state dirty;
- lock_state lock;
- TAPE_GET_DRIVE_PARAMETERS _dp;
- TAPE_GET_MEDIA_PARAMETERS _mp;
- OVERLAPPED ov;
- struct status_flags
- {
- unsigned buffer_writes : 1;
- unsigned async_writes : 1;
- unsigned two_fm : 1;
- unsigned fast_eom : 1;
- unsigned auto_lock : 1;
- unsigned sysv : 1;
- unsigned nowait : 1;
- } status;
- mtinfo_part _part[MAX_PARTITION_NUM];
-
- inline int error (const char *str)
- {
- if (lasterr)
- debug_printf ("%s: Win32 error %d", str, lasterr);
- return lasterr;
- }
- inline bool get_feature (DWORD parm)
- {
- return ((parm & TAPE_DRIVE_HIGH_FEATURES)
- ? ((_dp.FeaturesHigh & parm) != 0)
- : ((_dp.FeaturesLow & parm) != 0));
- }
- int get_pos (HANDLE mt, long *ppartition = NULL, long *pblock = NULL);
- int _set_pos (HANDLE mt, int mode, long count, int partition, BOOL dont_wait);
- int create_partitions (HANDLE mt, long count);
- int set_partition (HANDLE mt, long count);
- int write_marks (HANDLE mt, int marktype, DWORD count);
- int erase (HANDLE mt, int mode);
- int prepare (HANDLE mt, int action, bool is_auto = false);
- int set_compression (HANDLE mt, long count);
- int set_blocksize (HANDLE mt, long count);
- int get_status (HANDLE mt, struct mtget *get);
- int set_options (HANDLE mt, long options);
- int async_wait (HANDLE mt, DWORD *bytes_written);
-
-public:
- void initialize (int num, bool first_time);
- int get_dp (HANDLE mt);
- int get_mp (HANDLE mt);
- int open (HANDLE mt);
- int close (HANDLE mt, bool rewind);
- int read (HANDLE mt, HANDLE mt_evt, void *ptr, size_t &ulen);
- int write (HANDLE mt, HANDLE mt_evt, const void *ptr, size_t &len);
- int ioctl (HANDLE mt, unsigned int cmd, void *buf);
- int set_pos (HANDLE mt, int mode, long count, bool sfm_func);
-
- IMPLEMENT_STATUS_FLAG (bool, buffer_writes)
- IMPLEMENT_STATUS_FLAG (bool, async_writes)
- IMPLEMENT_STATUS_FLAG (bool, two_fm)
- IMPLEMENT_STATUS_FLAG (bool, fast_eom)
- IMPLEMENT_STATUS_FLAG (bool, auto_lock)
- IMPLEMENT_STATUS_FLAG (bool, sysv)
- IMPLEMENT_STATUS_FLAG (bool, nowait)
-
- PTAPE_GET_DRIVE_PARAMETERS dp () { return &_dp; }
- PTAPE_GET_MEDIA_PARAMETERS mp () { return &_mp; }
- mtinfo_part *part (int num) { return &_part[num]; }
-};
-
-class mtinfo
-{
- DWORD magic;
- DWORD version;
- mtinfo_drive _drive[MAX_DRIVE_NUM];
-
-public:
- void initialize ();
- mtinfo_drive *drive (int num) { return &_drive[num]; }
-};
-
-extern void __stdcall mtinfo_init ();