SET_TAPE_POSITION
The SET_TAPE_POSITION IOCTL is used to position the tape in the current active partition to either a logical block id or logical filemark. The logical_id_type field in the IOCTL structure specifies either a logical block or logical filemark.
The data structure that is used with this IOCTL is
#define LOGICAL_ID_BLOCK_TYPE 0x00
#define LOGICAL_ID_FILE_TYPE 0x01
struct set_tape_position{
uchar logical_id_type; /* Block or file as defined above */
ullong logical_id; /* logical object or logical file to position to */
char reserved[32];
};
Examples of the SET_TAPE_POSITION IOCTL
#include <sys/Atape.h>
struct set_tape_position setpos;
/* position to logical block id 10 */
setpos.logical_id_type = LOGICAL_ID_BLOCK_TYPE
setpos.logical_id = 10;
ioctl(fd, SET_TAPE_POSITION, &setpos);
/* position to logical filemark 4 */
setpos.logical_id_type = LOGICAL_ID_FILE_TYPE
setpos.logical_id = 4;
ioctl(fd, SET_TAPE_POSITION, &setpos);