SMCIOC_MOVE_MEDIUM

This IOCTL command moves a cartridge from one element to another element.

The data structure is
  struct move_medium
  {
      ushort robot;              /* robot address */
      ushort source;             /* move from location */
      ushort destination;        /* move to location */
      char invert;               /* invert before placement bit */
  };
An example of the SMCIOC_MOVE_MEDIUM command is
  #include <sys/Atape.h>

  struct move_medium move_medium;

  move_medium.robot = 0;
  move_medium.invert = 0;
  move_medium.source = source;
  move_medium.destination = dest;

  if (!ioctl (smcfd, SMCIOC_MOVE_MEDIUM, &move_medium))
      printf ("The SMCIOC_MOVE_MEDIUM ioctl succeeded\n");
  else
  {
    perror ("The SMCIOC_MOVE_MEDIUM ioctl failed");
    smcioc_request_sense();
  }