mirror of https://github.com/ppy/SDL3-CS.git
101 lines
5.1 KiB
C#
101 lines
5.1 KiB
C#
/*
|
|
<auto-generated/>
|
|
C# bindings for Simple DirectMedia Layer.
|
|
Original copyright notice of input files:
|
|
|
|
Simple DirectMedia Layer
|
|
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
|
|
|
|
This software is provided 'as-is', without any express or implied
|
|
warranty. In no event will the authors be held liable for any damages
|
|
arising from the use of this software.
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
including commercial applications, and to alter it and redistribute it
|
|
freely, subject to the following restrictions:
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
claim that you wrote the original software. If you use this software
|
|
in a product, an acknowledgment in the product documentation would be
|
|
appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
|
misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source distribution.
|
|
*/
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace SDL
|
|
{
|
|
public partial struct SDL_Thread
|
|
{
|
|
}
|
|
|
|
public enum SDL_ThreadPriority
|
|
{
|
|
SDL_THREAD_PRIORITY_LOW,
|
|
SDL_THREAD_PRIORITY_NORMAL,
|
|
SDL_THREAD_PRIORITY_HIGH,
|
|
SDL_THREAD_PRIORITY_TIME_CRITICAL,
|
|
}
|
|
|
|
public static unsafe partial class SDL3
|
|
{
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern SDL_Thread* SDL_CreateThreadRuntime([NativeTypeName("SDL_ThreadFunction")] delegate* unmanaged[Cdecl]<IntPtr, int> fn, [NativeTypeName("const char *")] byte* name, [NativeTypeName("void*")] IntPtr data, [NativeTypeName("SDL_FunctionPointer")] IntPtr pfnBeginThread, [NativeTypeName("SDL_FunctionPointer")] IntPtr pfnEndThread);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern SDL_Thread* SDL_CreateThreadWithPropertiesRuntime(SDL_PropertiesID props, [NativeTypeName("SDL_FunctionPointer")] IntPtr pfnBeginThread, [NativeTypeName("SDL_FunctionPointer")] IntPtr pfnEndThread);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SDL_GetThreadName", ExactSpelling = true)]
|
|
[return: NativeTypeName("const char *")]
|
|
public static extern byte* Unsafe_SDL_GetThreadName(SDL_Thread* thread);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern SDL_ThreadID SDL_GetCurrentThreadID();
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern SDL_ThreadID SDL_GetThreadID(SDL_Thread* thread);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
[return: NativeTypeName("bool")]
|
|
public static extern SDLBool SDL_SetThreadPriority(SDL_ThreadPriority priority);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern void SDL_WaitThread(SDL_Thread* thread, int* status);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern void SDL_DetachThread(SDL_Thread* thread);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
[return: NativeTypeName("void*")]
|
|
public static extern IntPtr SDL_GetTLS(SDL_TLSID* id);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
[return: NativeTypeName("bool")]
|
|
public static extern SDLBool SDL_SetTLS(SDL_TLSID* id, [NativeTypeName("const void *")] IntPtr value, [NativeTypeName("SDL_TLSDestructorCallback")] delegate* unmanaged[Cdecl]<IntPtr, void> destructor);
|
|
|
|
[DllImport("SDL3", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
|
|
public static extern void SDL_CleanupTLS();
|
|
|
|
[NativeTypeName("#define SDL_BeginThreadFunction NULL")]
|
|
public const int SDL_BeginThreadFunction = 0;
|
|
|
|
[NativeTypeName("#define SDL_EndThreadFunction NULL")]
|
|
public const int SDL_EndThreadFunction = 0;
|
|
|
|
[NativeTypeName("#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER \"SDL.thread.create.entry_function\"")]
|
|
public static ReadOnlySpan<byte> SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER => "SDL.thread.create.entry_function"u8;
|
|
|
|
[NativeTypeName("#define SDL_PROP_THREAD_CREATE_NAME_STRING \"SDL.thread.create.name\"")]
|
|
public static ReadOnlySpan<byte> SDL_PROP_THREAD_CREATE_NAME_STRING => "SDL.thread.create.name"u8;
|
|
|
|
[NativeTypeName("#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER \"SDL.thread.create.userdata\"")]
|
|
public static ReadOnlySpan<byte> SDL_PROP_THREAD_CREATE_USERDATA_POINTER => "SDL.thread.create.userdata"u8;
|
|
|
|
[NativeTypeName("#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER \"SDL.thread.create.stacksize\"")]
|
|
public static ReadOnlySpan<byte> SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER => "SDL.thread.create.stacksize"u8;
|
|
}
|
|
}
|