from __future__ import annotations
from typing import Any
from enum import IntEnum
from enum import auto

class IOErrorCode(IntEnum):
    ABORT = auto()
    ACCESS_DENIED = auto()
    ALREADY_EXISTING = auto()
    BAD_CRC = auto()
    CANT_CREATE = auto()
    CANT_READ = auto()
    CANT_SEEK = auto()
    CANT_TELL = auto()
    CANT_WRITE = auto()
    CURRENT_DIRECTORY = auto()
    DEVICE_NOT_READY = auto()
    DIFFERENT_DEVICES = auto()
    GENERAL = auto()
    INVALID_ACCESS = auto()
    INVALID_CHARACTER = auto()
    INVALID_DEVICE = auto()
    INVALID_LENGTH = auto()
    INVALID_PARAMETER = auto()
    IS_WILDCARD = auto()
    LOCKING_VIOLATION = auto()
    MISPLACED_CHARACTER = auto()
    NAME_TOO_LONG = auto()
    NOT_EXISTING = auto()
    NOT_EXISTING_PATH = auto()
    NOT_SUPPORTED = auto()
    NO_DIRECTORY = auto()
    NO_FILE = auto()
    OUT_OF_DISK_SPACE = auto()
    OUT_OF_FILE_HANDLES = auto()
    OUT_OF_MEMORY = auto()
    PENDING = auto()
    RECURSIVE = auto()
    UNKNOWN = auto()
    WRITE_PROTECTED = auto()
    WRONG_FORMAT = auto()
    WRONG_VERSION = auto()
