SlunkCrypt/libslunkcrypt/src/thread.h

24 lines
1.0 KiB
C
Raw Normal View History

2022-03-21 21:11:46 +01:00
/******************************************************************************/
/* SlunkCrypt, by LoRd_MuldeR <MuldeR2@GMX.de> */
/* This work has been released under the CC0 1.0 Universal license! */
/******************************************************************************/
#ifndef INC_SLUNKCRYPT_THREAD_H
#define INC_SLUNKCRYPT_THREAD_H
#include <stdlib.h>
#include <stdint.h>
#define MAX_THREADS 32U
2022-03-21 21:11:46 +01:00
typedef void (*thrdpl_worker_t)(const size_t thread_count, void *const context, uint8_t *const buffer, const size_t length);
typedef struct thrdpl_data_t thrdpl_t;
2022-03-21 21:11:46 +01:00
thrdpl_t *slunkcrypt_thrdpl_create(const size_t count);
size_t slunkcrypt_thrdpl_count(const thrdpl_t *const thrdpl);
void slunkcrypt_thrdpl_exec(thrdpl_t *const thrdpl, const size_t index, const thrdpl_worker_t worker, void *const context, uint8_t *const buffer, const size_t length);
void slunkcrypt_thrdpl_await(thrdpl_t *const thrdpl);
void slunkcrypt_thrdpl_destroy(thrdpl_t *const thrdpl);
2022-03-21 21:11:46 +01:00
2022-03-21 22:45:29 +01:00
#endif