-- Device I/O Error handler script
--
-- Variables:
-- %CONFIRM%  - 1 if Confirm pressed, 0 if Cancel pressed
-- %DISKNUM%  - disk number in RAID array
-- %TRYNUM%   - i/o retry number
-- %LBA%      - first i/o sector number
-- %SECNUM%   - number of i/o sectors
-- %ERROR%    - error number
-- %LINE%     - current line number in script
-- %ERROR:lx% - format for output (l = 4 byte, I = 8 byte, x = hexadecimal)
-- 
-- Commands:
-- SHOWDLG          - force device i/o dialog box
-- DELAY N          - delay for N ms
-- EXECCMD CMDLINE  - execute command CMDLINE using Command processor
-- EXECCMDQ CMDLINE - do not create console screen (quiet)
-- EXEC "FILENAME" CMDLINE  - call FILENAME with parameter CMDLINE
-- EXECQ "FILENAME" CMDLINE - do not create console screen (quiet)
-- MSDOS            - call Command processor
-- GOTO LABELNAME   - jump to label LABELNAME in script (use :LABELNAME for label)
-- RETURN           - break script
-- RETRETRY         - break script as user pressed Retry button
-- RETIGNORE        - break script as user pressed Ignore button
-- RETABORT         - break script as user pressed Abort button
-- ADDLOG "FILENAME" LOGLINE - write LOGLINE to file FILENAME

-- Script example:
IF %ERROR%=0x80 GOTO LABEL1
IF %ERROR%=0x05 GOTO LABEL1
RETURN

:LABEL1
IF !%CONFIRM% RETURN -- wait until Confirm or Cancel button is pressed
EXECCMD /K ECHO error %ERROR% at LBA: %LBA% (%SECNUM%) try: %TRYNUM%. Type EXIT to return.
IF %TRYNUM%<2 RETURN
DELAY 500
ADDLOG "ERRORS.LOG" error %ERROR:lx% at LBA: %LBA:8I% (%SECNUM%) try: %TRYNUM%
RETIGNORE
