{
  "header": "SDL_filesystem.h",
  "opaque_types": [],
  "typedefs": [],
  "function_pointers": [],
  "c_type_aliases": [
    {
      "name": "SDL_EnumerateDirectoryCallback"
    }
  ],
  "enums": [
    {
      "name": "SDL_Folder",
      "values": [
        {
          "name": "SDL_FOLDER_HOME",
          "comment": "The folder which contains all of the current user's data, preferences, and documents. It usually contains most of the other folders. If a requested folder does not exist, the home folder can be considered a safe fallback to store a user's documents."
        },
        {
          "name": "SDL_FOLDER_DESKTOP",
          "comment": "The folder of files that are displayed on the desktop. Note that the existence of a desktop folder does not guarantee that the system does show icons on its desktop; certain GNU/Linux distros with a graphical environment may not have desktop icons."
        },
        {
          "name": "SDL_FOLDER_DOCUMENTS",
          "comment": "User document files, possibly application-specific. This is a good place to save a user's projects."
        },
        {
          "name": "SDL_FOLDER_DOWNLOADS",
          "comment": "Standard folder for user files downloaded from the internet."
        },
        {
          "name": "SDL_FOLDER_MUSIC",
          "comment": "Music files that can be played using a standard music player (mp3, ogg...)."
        },
        {
          "name": "SDL_FOLDER_PICTURES",
          "comment": "Image files that can be displayed using a standard viewer (png, jpg...)."
        },
        {
          "name": "SDL_FOLDER_PUBLICSHARE",
          "comment": "Files that are meant to be shared with other users on the same computer."
        },
        {
          "name": "SDL_FOLDER_SAVEDGAMES",
          "comment": "Save files for games."
        },
        {
          "name": "SDL_FOLDER_SCREENSHOTS",
          "comment": "Application screenshots."
        },
        {
          "name": "SDL_FOLDER_TEMPLATES",
          "comment": "Template files to be used when the user requests the desktop environment to create a new file in a certain folder, such as \"New Text File.txt\".  Any file in the Templates folder can be used as a starting point for a new file."
        },
        {
          "name": "SDL_FOLDER_VIDEOS",
          "comment": "Video files that can be played using a standard video player (mp4, webm...)."
        },
        {
          "name": "SDL_FOLDER_COUNT"
        }
      ]
    },
    {
      "name": "SDL_PathType",
      "values": [
        {
          "name": "SDL_PATHTYPE_NONE",
          "comment": "path does not exist"
        },
        {
          "name": "SDL_PATHTYPE_FILE",
          "comment": "a normal file"
        },
        {
          "name": "SDL_PATHTYPE_DIRECTORY",
          "comment": "a directory"
        },
        {
          "name": "SDL_PATHTYPE_OTHER"
        }
      ]
    },
    {
      "name": "SDL_EnumerationResult",
      "values": [
        {
          "name": "SDL_ENUM_CONTINUE",
          "comment": "Value that requests that enumeration continue."
        },
        {
          "name": "SDL_ENUM_SUCCESS",
          "comment": "Value that requests that enumeration stop, successfully."
        },
        {
          "name": "SDL_ENUM_FAILURE"
        }
      ]
    }
  ],
  "structs": [
    {
      "name": "SDL_PathInfo",
      "fields": [
        {
          "name": "_type",
          "type": "SDL_PathType",
          "comment": "the path type"
        },
        {
          "name": "size",
          "type": "Uint64",
          "comment": "the file size in bytes"
        },
        {
          "name": "create_time",
          "type": "SDL_Time",
          "comment": "the time when the path was created"
        },
        {
          "name": "modify_time",
          "type": "SDL_Time",
          "comment": "the last time the path was modified"
        },
        {
          "name": "access_time",
          "type": "SDL_Time",
          "comment": "the last time the path was read"
        }
      ]
    }
  ],
  "unions": [],
  "flags": [
    {
      "name": "SDL_GlobFlags",
      "underlying_type": "Uint32",
      "values": [
        {
          "name": "SDL_GLOB_CASEINSENSITIVE",
          "value": "(1u << 0)"
        }
      ]
    }
  ],
  "functions": [
    {
      "name": "SDL_GetBasePath",
      "return_type": "const char *",
      "parameters": []
    },
    {
      "name": "SDL_GetPrefPath",
      "return_type": "char *",
      "parameters": [
        {
          "name": "org",
          "type": "const char *"
        },
        {
          "name": "app",
          "type": "const char *"
        }
      ]
    },
    {
      "name": "SDL_GetUserFolder",
      "return_type": "const char *",
      "parameters": [
        {
          "name": "folder",
          "type": "SDL_Folder"
        }
      ]
    },
    {
      "name": "SDL_CreateDirectory",
      "return_type": "bool",
      "parameters": [
        {
          "name": "path",
          "type": "const char *"
        }
      ]
    },
    {
      "name": "SDL_EnumerateDirectory",
      "return_type": "bool",
      "parameters": [
        {
          "name": "path",
          "type": "const char *"
        },
        {
          "name": "callback",
          "type": "SDL_EnumerateDirectoryCallback"
        },
        {
          "name": "userdata",
          "type": "void *"
        }
      ]
    },
    {
      "name": "SDL_RemovePath",
      "return_type": "bool",
      "parameters": [
        {
          "name": "path",
          "type": "const char *"
        }
      ]
    },
    {
      "name": "SDL_RenamePath",
      "return_type": "bool",
      "parameters": [
        {
          "name": "oldpath",
          "type": "const char *"
        },
        {
          "name": "newpath",
          "type": "const char *"
        }
      ]
    },
    {
      "name": "SDL_CopyFile",
      "return_type": "bool",
      "parameters": [
        {
          "name": "oldpath",
          "type": "const char *"
        },
        {
          "name": "newpath",
          "type": "const char *"
        }
      ]
    },
    {
      "name": "SDL_GetPathInfo",
      "return_type": "bool",
      "parameters": [
        {
          "name": "path",
          "type": "const char *"
        },
        {
          "name": "info",
          "type": "SDL_PathInfo *"
        }
      ]
    },
    {
      "name": "SDL_GlobDirectory",
      "return_type": "char **",
      "parameters": [
        {
          "name": "path",
          "type": "const char *"
        },
        {
          "name": "pattern",
          "type": "const char *"
        },
        {
          "name": "flags",
          "type": "SDL_GlobFlags"
        },
        {
          "name": "count",
          "type": "int *"
        }
      ]
    },
    {
      "name": "SDL_GetCurrentDirectory",
      "return_type": "char *",
      "parameters": []
    }
  ]
}