{
  "header": "SDL_system.h",
  "opaque_types": [
    {
      "name": "MSG"
    }
  ],
  "typedefs": [
    {
      "name": "XTaskQueueHandle",
      "underlying_type": "struct XTaskQueueObject *"
    },
    {
      "name": "XUserHandle",
      "underlying_type": "struct XUser *"
    }
  ],
  "function_pointers": [],
  "c_type_aliases": [
    {
      "name": "SDL_WindowsMessageHook"
    },
    {
      "name": "SDL_X11EventHook"
    },
    {
      "name": "SDL_iOSAnimationCallback"
    },
    {
      "name": "SDL_RequestAndroidPermissionCallback"
    }
  ],
  "enums": [
    {
      "name": "SDL_Sandbox",
      "values": [
        {
          "name": "SDL_SANDBOX_UNKNOWN_CONTAINER"
        },
        {
          "name": "SDL_SANDBOX_FLATPAK"
        },
        {
          "name": "SDL_SANDBOX_SNAP"
        },
        {
          "name": "SDL_SANDBOX_MACOS"
        }
      ]
    }
  ],
  "structs": [],
  "unions": [],
  "flags": [],
  "functions": [
    {
      "name": "SDL_SetWindowsMessageHook",
      "return_type": "void",
      "parameters": [
        {
          "name": "callback",
          "type": "SDL_WindowsMessageHook"
        },
        {
          "name": "userdata",
          "type": "void *"
        }
      ]
    },
    {
      "name": "SDL_GetDirect3D9AdapterIndex",
      "return_type": "int",
      "parameters": [
        {
          "name": "displayID",
          "type": "SDL_DisplayID"
        }
      ]
    },
    {
      "name": "SDL_GetDXGIOutputInfo",
      "return_type": "bool",
      "parameters": [
        {
          "name": "displayID",
          "type": "SDL_DisplayID"
        },
        {
          "name": "adapterIndex",
          "type": "int *"
        },
        {
          "name": "outputIndex",
          "type": "int *"
        }
      ]
    },
    {
      "name": "SDL_SetX11EventHook",
      "return_type": "void",
      "parameters": [
        {
          "name": "callback",
          "type": "SDL_X11EventHook"
        },
        {
          "name": "userdata",
          "type": "void *"
        }
      ]
    },
    {
      "name": "SDL_SetLinuxThreadPriority",
      "return_type": "bool",
      "parameters": [
        {
          "name": "threadID",
          "type": "Sint64"
        },
        {
          "name": "priority",
          "type": "int"
        }
      ]
    },
    {
      "name": "SDL_SetLinuxThreadPriorityAndPolicy",
      "return_type": "bool",
      "parameters": [
        {
          "name": "threadID",
          "type": "Sint64"
        },
        {
          "name": "sdlPriority",
          "type": "int"
        },
        {
          "name": "schedPolicy",
          "type": "int"
        }
      ]
    },
    {
      "name": "SDL_SetiOSAnimationCallback",
      "return_type": "bool",
      "parameters": [
        {
          "name": "window",
          "type": "SDL_Window *"
        },
        {
          "name": "interval",
          "type": "int"
        },
        {
          "name": "callback",
          "type": "SDL_iOSAnimationCallback"
        },
        {
          "name": "callbackParam",
          "type": "void *"
        }
      ]
    },
    {
      "name": "SDL_SetiOSEventPump",
      "return_type": "void",
      "parameters": [
        {
          "name": "enabled",
          "type": "bool"
        }
      ]
    },
    {
      "name": "SDL_GetAndroidJNIEnv",
      "return_type": "void *",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidActivity",
      "return_type": "void *",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidSDKVersion",
      "return_type": "int",
      "parameters": []
    },
    {
      "name": "SDL_IsChromebook",
      "return_type": "bool",
      "parameters": []
    },
    {
      "name": "SDL_IsDeXMode",
      "return_type": "bool",
      "parameters": []
    },
    {
      "name": "SDL_SendAndroidBackButton",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidInternalStoragePath",
      "return_type": "const char *",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidExternalStorageState",
      "return_type": "Uint32",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidExternalStoragePath",
      "return_type": "const char *",
      "parameters": []
    },
    {
      "name": "SDL_GetAndroidCachePath",
      "return_type": "const char *",
      "parameters": []
    },
    {
      "name": "SDL_RequestAndroidPermission",
      "return_type": "bool",
      "parameters": [
        {
          "name": "permission",
          "type": "const char *"
        },
        {
          "name": "cb",
          "type": "SDL_RequestAndroidPermissionCallback"
        },
        {
          "name": "userdata",
          "type": "void *"
        }
      ]
    },
    {
      "name": "SDL_ShowAndroidToast",
      "return_type": "bool",
      "parameters": [
        {
          "name": "message",
          "type": "const char *"
        },
        {
          "name": "duration",
          "type": "int"
        },
        {
          "name": "gravity",
          "type": "int"
        },
        {
          "name": "xoffset",
          "type": "int"
        },
        {
          "name": "yoffset",
          "type": "int"
        }
      ]
    },
    {
      "name": "SDL_SendAndroidMessage",
      "return_type": "bool",
      "parameters": [
        {
          "name": "command",
          "type": "Uint32"
        },
        {
          "name": "param",
          "type": "int"
        }
      ]
    },
    {
      "name": "SDL_IsTablet",
      "return_type": "bool",
      "parameters": []
    },
    {
      "name": "SDL_IsTV",
      "return_type": "bool",
      "parameters": []
    },
    {
      "name": "SDL_GetSandbox",
      "return_type": "SDL_Sandbox",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationWillTerminate",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationDidReceiveMemoryWarning",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationWillEnterBackground",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationDidEnterBackground",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationWillEnterForeground",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationDidEnterForeground",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_OnApplicationDidChangeStatusBarOrientation",
      "return_type": "void",
      "parameters": []
    },
    {
      "name": "SDL_GetGDKTaskQueue",
      "return_type": "bool",
      "parameters": [
        {
          "name": "outTaskQueue",
          "type": "XTaskQueueHandle *"
        }
      ]
    },
    {
      "name": "SDL_GetGDKDefaultUser",
      "return_type": "bool",
      "parameters": [
        {
          "name": "outUserHandle",
          "type": "XUserHandle *"
        }
      ]
    }
  ]
}