'Get free space available on the mountpoints:
1. Main memory
2. Card A
3. Card B
@return: A 3 element list with free space in bytes of (1, 2, 3). If a
particular device doesn\'t have any of these locations it should return -1.'

def free_space(self, end_session=True):

    if self.verbose:
        logger().info(('%s.free_space()' % self.__class__.__name__))
    free_space = 0
    if isosx:
        s = os.statvfs(os.sep)
        free_space = (s.f_bavail * s.f_frsize)
    elif iswindows:
        free_bytes = ctypes.c_ulonglong(0)
        ctypes.windll.kernel32.GetDiskFreeSpaceExW(ctypes.c_wchar_p(os.sep), None, None, ctypes.pointer(free_bytes))
        free_space = free_bytes.value
    return (free_space, (-1), (-1))
