//
//  %Z% %I% %W% %G% %U%
//
//  ZZ_Copyright_BEGIN
//
//
//  Licensed Materials - Property of IBM
//
//  IBM Linear Tape File System Single Drive Edition Version 2.2.0.2 for Linux and Mac OS X
//
//  Copyright IBM Corp. 2010, 2014
//
//  This file is part of the IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X
//  (formally known as IBM Linear Tape File System)
//
//  The IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X is free software;
//  you can redistribute it and/or modify it under the terms of the GNU Lesser
//  General Public License as published by the Free Software Foundation,
//  version 2.1 of the License.
//
//  The IBM Linear Tape File System Single Drive Edition for Linux and Mac OS X is distributed in the
//  hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
//  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//  See the GNU Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//  or download the license from <http://www.gnu.org/licenses/>.
//
//
//  ZZ_Copyright_END
//

// Messages for the ibmtape backend.
// This backend shares IDs 12000-12999 with the file and iokit backends and the backend
// interface functions, so be sure to make a note in messages/ltfs/root.txt whenever an
// ID is allocated here.
root:table {
	messages:table {
		start_id:int { 12067 }
		end_id:int { 12499 }

		//unused 12067E:string { "EBUSY in %s" }
		//unused 12068E:string { "EFAULT in %s" }
		//unused 12069E:string { "EIO in %s" }
		//unused 12070E:string { "ENOMEM in %s" }
		//unused 12071E:string { "ENXIO in %s" }
		//unused 12072E:string { "EPERM in %s" }
		//unused 12073E:string { "ETIMEDOUT in %s" }
		12074W:string { "Received low space warning (early warning) in %s" }
		//unused 12075E:string { "EACCES in %s" }
		//unused 12076E:string { "EOVERFLOW in %s" }
		//unused 12077E:string { "EINVAL in %s" }
		//unused 12078E:string { "ENOSYS in %s" }
		//unused 12079E:string { "EROFS in %s" }
		//unused 12080E:string { "ENOMEDIUM in %s" }
		//unused 12081E:string { "Unknown error in %s (%d)" }
		//unused 12082E:string { "Cannot read device buffer: return code of -1 without sense data" }
		//unused 12083E:string { "Cannot read device buffer or get sense data" }
		//unused 12084E:string { "Cannot read device buffer (%d)" }
		12085W:string { "Cannot retrieve drive dump: failed to create dump file (%d)" }
		12086I:string { "Saving drive dump to %s" }
		12087D:string { "Total dump data length is %lld." }
		12088D:string { "Total number of transfers is %d." }
		12089D:string { "Transferring dump data" }
		12090W:string { "Cannot retrieve drive dump: failed to read buffer (%d)" }
		12091W:string { "Cannot retrieve drive dump: failed to write to dump file (%d)" }
		12092D:string { "Transfer %d: wrote %d bytes" }
		12093W:string { "Cannot retrieve drive dump: wrote %d bytes out, expected %d" }
		//unused 12094W:string { "Cannot force drive dump (%d)" }
		//unused 12095W:string { "Cannot force drive dump: return code of -1 without sense data" }
		//unused 12096W:string { "Cannot force drive dump or get sense data" }
		12097I:string { "Taking drive dump in buffer" }
		12098I:string { "Forcing drive dump" }
		12099I:string { "Cannot get sense (%d)" }
		12100I:string { "SCSI_PASS_THROUGH: command failed (%d) %s" }
		//unused 12101W:string { "SCSI_PASS_THROUGH: sense = %02x/%02x%02x" }
		//unused 12102E:string { "SCSI_PASS_THROUGH: cannot get sense data from the drive" }
		//unused 12103W:string { "SIOC_PASS_THROUGH: command failed (%d)" }
		12104D:string { "SIOC_PASS_THROUGH: no sense info: T%02x:M%02x:H%02x:D%02x %s" }
		12105D:string { "SIOC_PASS_THROUGH: sense = %02x/%02x%02x" }
		12106D:string { "SIOC_PASS_THROUGH: pos = 0x%02x%02x%02x%02x %s" }
		12107I:string { "SIOC_PASS_THROUGH: cannot sense data from the drive" }
		12108I:string { "SIOC_PASS_THROUGH: status info: T%02x:M%02x:H%02x:D%02x %s" }
		12109I:string { "Drive cleaning required" }
		//unused 12110D:string { "Ignoring recovered error" }
		12111I:string { "Parsing log page: buffer too small, copying %zu bytes from %lx" }
		12112I:string { "Option parsing for the ibmtape backend failed (%d)" }
		12113E:string { "%s: medium is already mounted or in use" }
		12114I:string { "Cannot open device \'%s\' (%d)" }
		12115W:string { "Device \'%s\' must be opened in read-only mode" }
		12116I:string { "Cannot open device: inquiry failed (%d)" }
		12117I:string { "Unsupported %s \'%s\'" }
		12118I:string { "%s identification is \'%s\'" }
		12119D:string { "Read block: file mark detected" }
		12120D:string { "Read block: illegal length, actual = %d" }
		//unused 12121E:string { "Cannot read block: space back after illegal length failed (%d)" }
		//unused 12122E:string { "EAGAIN in read" }
		12123D:string { "EOD detected (%s): ignore sense" }
		//unused 12124E:string { "Cannot locate: return code of -1 without sense data" }
		//unused 12125E:string { "Cannot locate or get sense data" }
		//unused 12126E:string { "Cannot locate (%d)" }
		12127I:string { "Unrecognized space type" }
		//unused 12128E:string { "Cannot read position: return code of -1 without sense data" }
		//unused 12129E:string { "Cannot read position or get sense data" }
		//unused 12130E:string { "Cannot read position (%d)" }
		12131I:string { "Invalid format mode (%d)" }
		//unused 12132E:string { "Cannot format tape (%d)" }
		//unused 12133E:string { "Cannot format tape: return code of -1 without sense data" }
		//unused 12134E:string { "Cannot format tape or get sense data" }
		12135I:string { "Cannot get remaining capacity: get log page 0x%02x failed (%d)" }
		12136I:string { "Cannot get remaining capacity: failed to parse the log page" }
		12137I:string { "Cannot get remaining capacity: loop index error (%d)" }
		//unused 12138E:string { "Cannot get mode data (%d)" }
		//unused 12139E:string { "Cannot get mode data: return code of -1 without sense data" }
		//unused 12140E:string { "Cannot get mode data or get sense data" }
		//unused 12141E:string { "Cannot set mode data (%d)" }
		//unused 12142E:string { "Cannot set mode data: return code of -1 without sense data" }
		//unused 12143E:string { "Cannot set mode data or get sense data" }
		12144I:string { "Cannot read attribute (%d)" }
		//unused 12145E:string { "Cannot read attribute: return code of -1 without sense data" }
		//unused 12146E:string { "Cannot read attribute or get sense data" }
		//unused 12147E:string { "Cannot write attribute (%d)" }
		//unused 12148E:string { "Cannot write attribute: return code of -1 without sense data" }
		//unused 12149E:string { "Cannot write attribute or get sense data" }
		12150D:string { "Backend %s: %zu bytes %s" }
		12151D:string { "Backend %s: %zu %s" }
		12152D:string { "Backend %s: (%llu, %llu) %s" }
		12153D:string { "Backend %s %s" }
		12154D:string { "Backend %s: %llu %s" }
		12155D:string { "Backend %s: (%llu, %llu) FM = %llu %s" }
		12156D:string { "Backend %s: %d %s" }
		12157I:string { "Unsupported cartridge type (0x%x)" }
		//unused 12157D:string { "Backend %s: (%lu, %u)" }
		12158I:string { "Opening a device through ibmtape driver (%s)" }
		12159I:string { "Firmware revision is %s" }
		12160I:string { "%s serial is %s" }
		12161I:string { "Cannot open device: inquiry 0x%x failed (%d)" }
		12162I:string { "Vendor ID is %s" }
		//unused 12163D:string { "Invalid field in CDB detected while reading coherency page in MAM: ignore sense" }
		12164W:string { "Cannot detect lin_tape version" }
		12165I:string { "lin_tape version is %s" }
		12166W:string { "Received low space warning (programmable early warning) in %s" }
		//unused 12167E:string { "Cannot erase tape (%d)" }
		//unused 12168E:string { "Cannot erase tape: return code of -1 without sense data" }
		//unused 12169E:string { "Cannot erase tape or get sense data" }
		12170W:string { "Cannot get EOD status: failed to get log page 0x%02x (%d)" }
		12171W:string { "Cannot get EOD status: failed to parse the log page" }
		12172W:string { "Cannot get EOD status: value length or partition number is wrong %d - (%d, %d)" }
		12173I:string { "Error on %s: %s (%d) %s"}
		12174E:string { "Error on %s: msg = NULL (%d) %s"}
		//unused 12175D:string { "Error on address 0x%x: (0x%04x -> 0x%04x) msg = NULL (%d) %s"}
		//unused 12176D:string { "Error on address 0x%x: (0x%04x -> 0x%04x) %s (%d) %s"}
		//unused 12177D:string { "Error on address 0x%x: (0x%04x) msg = NULL (%d) %s"}
		//unused 12178D:string { "Error on address 0x%x: (0x%04x) %s (%d) %s"}
		//unused 12179D:string { "Error on changer command: 0x%04x -> 0x%04x"}
		//unused 12180D:string { "Error on changer command: 0x%04x"}
		12181W:string { "Drive firmware must be updated. Upgrading to %s or later is recommended." }
		12182W:string { "Drive firmware level does not correctly detect the EOD status" }
		//unused 12183I:string { "Cannot validate hardware license (%d)" }
		//unused 12184I:string { "Cannot create ITD conversion table (%d)" }
		//unused 12185D:string { "%s: %d(%04x) %d 0x%02x%02x(%d) [%d %d %d %d %d %d %d %d %d %d %d %d(%d)] %s" }
		//unused 12186D:string { "An error occurred on drive address 0x%x: (0x%04x -> 0x%04x) %s (%d)"}
		12187W:string { "Failed to get medium type code: medium type check is skipped" }
		12188I:string { "Read block: overlength condition is detected. residual = %d, actual = %d" }
		12189D:string { "Read block: underlength condition is detected. shortage = %d, actual = %d" }
		//unused 12190E:string { "Read block: unexpected condition in illegal length, %d" }
		12191I:string { "Unexpected parameter size for getting active CQ loss write (%d)" }
		12192I:string { "Cannot allocate memory in %s" }
		12193E:string { "Old lin_tape version is detected." }
		12194D:string { "IOCTL: sense = %02x/%02x%02x" }
		12195D:string { "IOCTL: pos = 0x%02x%02x%02x%02x %s" }
		12196I:string { "IOCTL: %s %d returns %d (generic %d) %s" }
		12197D:string { "IOCTL: no sense info" }
		12198D:string { "IOCTL: %s %d expected error %d" }
		12199I:string { "Cannot space: count value %d of the space command is too large" }
		12200E:string { "Logical block protection Error on write" }
		12201E:string { "Logical block protection Error on read" }
		12202E:string { "CRC check failed: Len = %d, Actual CRC = %08x, Expected CRC = %08x" }
		12203D:string { "CRC: %s ,Len = %d, CRC = %08x" }
		12204E:string { "Encryption method of the drive is not AME but %s (0x%02X)" }
		12205E:string { "Encryption feature is not supported on the drive: %d" }
		12206I:string { "Logical block protection is enabled" }
		12207I:string { "Logical block protection is disabled" }
		12208E:string { "Is medium mountable: invalid bar code %s" }
		12209D:string { "Is medium mountable: six-character bar code %s" }
		12210E:string { "Is medium mountable: unsupported tape drive type (%d) is used" }
		12211I:string { "Is medium mountable: unsupported medium %s is detected" }
		12212D:string { "Is medium mountable: drive (%s) can mount medium (%s,0x%x)" }
		12213D:string { "Is medium mountable: drive (%s) cannot mount medium (%s,0x%x)" }
		//unused 12214I:string { "Opening a device through ibmtape driver (%s)" }
		//unused 12215E:string { "Failed to open the directory '%s' (%d)" }
		//unused 12216D:string { "Device map: [%d] address=%d, serial=%s, error=%d" }
		12217I:string { "Cannot get log page 0x%02x (%d) in %s" }
		12218I:string { "Cannot parse the log page 0x%02x in %s" }
		12219E:string { "Failed to open file '%s' (%d)"}
		12220E:string { "Invalid scsi_lbprotect option: %s" }
		12221I:string { "IBMTAPE backend options:\n"
						"    -o devname=<dev>           tape device (default=%s)\n"
						"    -o autodump                enable autodump (default)\n"
						"    -o noautodump              disable autodump\n"
						"    -o scsi_lbprotect=<on|off> enable drive logical block protection (default=off)\n" }
		12222I:string { "Pseudo-error on %s" }
		12223I:string { "Pseudo-error on write. Good return code, but a record to emulate a write error did not get sent to the drive." }
		12224I:string { "A long data wipe is in progress. (%d minutes passed)" }
 		12225I:string { "A long data wipe is in progress. %d %%" }
		12226D:string { "WORM cartridge is loaded." }
		12227I:string { "Failed to get cartridge status. The cartridge is not loaded."}

		62202I:string { "CRC check failed: Len = %d, Actual CRC = %08x, Expected CRC = %08x" }
		62203D:string { "CRC: %s, Len = %d, CRC = %08x" }
	}
}
