--- pt.c Thu Jun 14 09:43:25 2001 +++ pt.c.working Thu Jun 14 15:49:39 2001 @@ -555,6 +555,28 @@ pt_media_access_cmd(unit,PT_TMO,load_cmd,"load"); } +static void pt_eod( int unit ) + +{ char eod_cmd[12] = {ATAPI_SPACE,0x011b,0,0,0,0,0,0,0,0,0,0}; + + pt_media_access_cmd(unit,PT_TMO,eod_cmd,"eod"); +} + +static void pt_fsf( int unit, unsigned long arg ) + +{ char fsf_cmd[12] = {ATAPI_SPACE,0x01,(arg >> 16),(arg >> 8),arg,0,0,0,0,0,0,0}; + + pt_media_access_cmd(unit,PT_TMO,fsf_cmd,"fsf"); +} + +static void pt_bsf( int unit, unsigned long arg ) + +{ long long_temp = (-arg); + char bsf_cmd[12] = {ATAPI_SPACE,0x01,(long_temp >> 16),(long_temp >> 8),long_temp,0,0,0,0,0,0,0}; + + pt_media_access_cmd(unit,PT_TMO,bsf_cmd,"bsf"); +} + #define DBMSG(msg) ((verbose>1)?(msg):NULL) @@ -807,6 +829,18 @@ break; case MTRETEN: pt_reten(unit); + return 0; + break; + case MTEOM: + pt_eod(unit); + return 0; + break; + case MTFSF: + pt_fsf(unit,arg); + return 0; + break; + case MTBSF: + pt_bsf(unit,arg); return 0; break; default: