code: func (s *Stat) FSInfos() []*FSInfos {
  	s.Lock()
  	defer s.Unlock()
  	var fsSize C.size_t
  	var cArray *C.sg_fs_stats = C.sg_get_fs_stats(&fsSize)
  	length := int(fsSize)
  	slice := (*[1 << 16]C.sg_fs_stats)(unsafe.Pointer(cArray))[:length:length]
  
  	var res []*FSInfos
  
  	for _, v := range slice {
  		f := &FSInfos{
  			DeviceName:      C.GoString(v.device_name),
  			FSType:          C.GoString(v.fs_type),
  			MountPoint:      C.GoString(v.mnt_point),
  			Size:            int(v.size),
  			Used:            int(v.used),
  			Free:            int(v.free),
  			Available:       int(v.avail),
  			TotalInodes:     int(v.total_inodes),
  			UsedInodes:      int(v.used_inodes),
  			FreeInodes:      int(v.free_inodes),
  			AvailableInodes: int(v.avail_inodes),
  		}
  		res = append(res, f)
  	}
  	return res
  }
docs: // FSInfos return an FSInfo struct per mounted filesystem
  // Go equivalent to sg_get_fs_stats