| Title: | DIGITAL UNIX (FORMERLY KNOWN AS DEC OSF/1) | 
| Notice: | Welcome to the Digital UNIX Conference | 
| Moderator: | SMURF::DENHAM | 
| Created: | Thu Mar 16 1995 | 
| Last Modified: | Fri Jun 06 1997 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 10068 | 
| Total number of notes: | 35879 | 
    G'day,
    
    I have a customer who is trying to look at the record count on a
    magnetic tape drive. 
    
    "I'm writing some code for real-time applications where we need to find
    out the filemark count and record count on a magnetic tape drive.
    Unfortunately doing 'mt stat' provides little useful information in
    this regard:
    ...
    Filemark Cnt            <Not Valid> Record Cnt              <Not Valid>
    ...
    
    Looking at the devio(7) man page (I'm running this on OSF1 V4.0 -- ie
    DigUnix v4 in an Alpha with either Exabyte or DLT tape drives) it
    appears that there's a struct v1_tape_dev_info with the members
    position and fm_count, which perhaps is what should get displayed
    above?
    
    Anyway, this is fairly important for us -- optimally we'd like to have
    a command line facility (like mt stat!) that gives us the right
    information, and also some system call that I can incorporate into the
    C++ code, but the latter is more important..."
    
    Any pointers/ suggestions/ideas would be greatly appreciated
    
    Regards
    
    Kym Schwarz
    Unix support
    CSC Sydney Australia
    
| T.R | Title | User | Personal Name | Date | Lines | 
|---|---|---|---|---|---|
| 9823.1 | Not quite there on 4.0B | RHETT::PARKER | Thu May 15 1997 09:04 | 30 | |
|     
    Hi, Kym.
    
    The v1_tape_dev_info is new to 4.0 and is in preparation for
    SCSI 3 support, I think. In any event, I don't think it's quite
    ready for prime time yet - here is the portion of the tape driver
    that will (some day?) give us this info:
    
            /*
             * GREAT! :(
             * we don't do anything to track filemark count or block count
             * past last filemark.
             */
    #ifdef not_now
            if (!(ts_spec->ts_state_flags & CTAPE_POSITION_LOST_STATE))
                    tapep->media_status     |= TPDEV_POS_VALID;
            tapep->position = ts_spec->ts_records;
            tapep->fm_cnt   = ts_spec->ts_num_filemarks;
    #endif /* not_now */
    
    Maybe one of the experts will let us know when we can expect this. 
    Or, since it's documented, you could file a QAR requesting this info.
    The customer I had that wanted it was ok with handling it from the 
    application so I didn't pursue it. I probably should have filed a QAR
    anyway. If you don't IPMT/QAR, let us know and I will. 
    
    Hope this helps!
    
    Lee
    
 | |||||