2024-11-10 22:11:29 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2026-03-01 20:43:22 +01:00
|
|
|
#include "iron_global.h"
|
2025-10-15 13:06:40 +02:00
|
|
|
#include <stdbool.h>
|
2025-02-26 18:46:36 +01:00
|
|
|
#include BACKEND_THREAD_H
|
2025-02-26 08:47:09 +01:00
|
|
|
|
2025-03-09 17:02:12 +01:00
|
|
|
typedef struct iron_thread {
|
|
|
|
|
iron_thread_impl_t impl;
|
|
|
|
|
} iron_thread_t;
|
2024-11-10 22:11:29 +01:00
|
|
|
|
2025-03-09 17:02:12 +01:00
|
|
|
void iron_threads_init(void);
|
|
|
|
|
void iron_threads_quit(void);
|
|
|
|
|
void iron_thread_init(iron_thread_t *thread, void (*func)(void *param), void *param);
|
|
|
|
|
void iron_thread_wait_and_destroy(iron_thread_t *thread);
|
|
|
|
|
bool iron_thread_try_to_destroy(iron_thread_t *thread);
|
|
|
|
|
void iron_thread_set_name(const char *name);
|
2024-11-10 22:11:29 +01:00
|
|
|
|
2025-03-09 17:02:12 +01:00
|
|
|
typedef struct iron_mutex {
|
|
|
|
|
iron_mutex_impl_t impl;
|
|
|
|
|
} iron_mutex_t;
|
2024-11-10 22:11:29 +01:00
|
|
|
|
2025-03-09 17:02:12 +01:00
|
|
|
void iron_mutex_init(iron_mutex_t *mutex);
|
|
|
|
|
void iron_mutex_destroy(iron_mutex_t *mutex);
|
|
|
|
|
void iron_mutex_lock(iron_mutex_t *mutex);
|
|
|
|
|
bool iron_mutex_try_to_lock(iron_mutex_t *mutex);
|
|
|
|
|
void iron_mutex_unlock(iron_mutex_t *mutex);
|