code: func GetStatus(name string) (uint64, uint64, string, string, error) {
  	task, err := TaskCreateNamed(deviceStatus, name)
  	if task == nil {
  		logrus.Debugf("devicemapper: GetStatus() Error TaskCreateNamed: %s", err)
  		return 0, 0, "", "", err
  	}
  	if err := task.run(); err != nil {
  		logrus.Debugf("devicemapper: GetStatus() Error Run: %s", err)
  		return 0, 0, "", "", err
  	}
  
  	devinfo, err := task.getInfo()
  	if err != nil {
  		logrus.Debugf("devicemapper: GetStatus() Error GetInfo: %s", err)
  		return 0, 0, "", "", err
  	}
  	if devinfo.Exists == 0 {
  		logrus.Debugf("devicemapper: GetStatus() Non existing device %s", name)
  		return 0, 0, "", "", fmt.Errorf("devicemapper: Non existing device %s", name)
  	}
  
  	_, start, length, targetType, params := task.getNextTarget(unsafe.Pointer(nil))
  	return start, length, targetType, params, nil
  }
docs: // GetStatus is the programmatic example of "dmsetup status".
  // It outputs status information for the specified device name.