diff --git a/src/SDL2.cs b/src/SDL2.cs
index 8b4bf9f..b770500 100644
--- a/src/SDL2.cs
+++ b/src/SDL2.cs
@@ -5311,5 +5311,52 @@ namespace SDL2
);
#endregion
+
+ #region SDL_filesystem.h
+
+ ///
+ /// Get the path where the application resides.
+ ///
+ /// Get the "base path". This is the directory where the application was run
+ /// from, which is probably the installation directory, and may or may not
+ /// be the process's current working directory.
+ ///
+ /// This returns an absolute path in UTF-8 encoding, and is garunteed to
+ /// end with a path separator ('\\' on Windows, '/' most other places).
+ ///
+ /// string of base dir in UTF-8 encoding
+ /// The underlying C string is owned by the application,
+ /// and can be NULL on some platforms.
+ [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
+ [return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
+ public static extern string SDL_GetBasePath();
+
+ ///
+ /// Get the user-and-app-specific path where files can be written.
+ ///
+ /// Get the "pref dir". This is meant to be where users can write personal
+ /// files (preferences and save games, etc) that are specific to your
+ /// application. This directory is unique per user, per application.
+ ///
+ /// This function will decide the appropriate location in the native filesystem¸
+ /// create the directory if necessary, and return a string of the absolute
+ /// path to the directory in UTF-8 encoding.
+ ///
+ /// The name of your organization.
+ /// The name of your application.
+ /// UTF-8 string of user dir in platform-dependent notation. NULL
+ /// if there's a problem (creating directory failed, etc).
+ /// The underlying C string is owned by the application,
+ /// and can be NULL on some platforms. .NET provides some similar functions.
+ [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)]
+ [return : MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler), MarshalCookie = LPUtf8StrMarshaler.LeaveAllocated)]
+ public static extern string SDL_GetPrefPath(
+ [In()] [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
+ string org,
+ [In()] [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(LPUtf8StrMarshaler))]
+ string app
+ );
+
+ #endregion
}
}