24#ifndef __M_THREAD_PIPELINE_H__
25#define __M_THREAD_PIPELINE_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
31#include <mstdlib/thread/m_thread.h>
162struct M_thread_pipeline_task;
167struct M_thread_pipeline_steps;
172struct M_thread_pipeline;
void M_thread_pipeline_wait(M_thread_pipeline_t *pipeline, size_t queue_limit)
void(* M_thread_pipeline_taskfinish_cb)(M_thread_pipeline_task_t *task, M_thread_pipeline_result_t result)
Definition: m_thread_pipeline.h:200
struct M_thread_pipeline M_thread_pipeline_t
Definition: m_thread_pipeline.h:173
struct M_thread_pipeline_task M_thread_pipeline_task_t
Definition: m_thread_pipeline.h:163
M_bool(* M_thread_pipeline_task_cb)(M_thread_pipeline_task_t *task)
Definition: m_thread_pipeline.h:179
M_bool M_thread_pipeline_status(M_thread_pipeline_t *pipeline)
M_thread_pipeline_flags_t
Definition: m_thread_pipeline.h:154
M_bool M_thread_pipeline_task_insert(M_thread_pipeline_t *pipeline, M_thread_pipeline_task_t *task)
M_thread_pipeline_result_t
Definition: m_thread_pipeline.h:182
void M_thread_pipeline_destroy(M_thread_pipeline_t *pipeline)
M_thread_pipeline_steps_t * M_thread_pipeline_steps_create(void)
M_thread_pipeline_t * M_thread_pipeline_create(const M_thread_pipeline_steps_t *steps, int flags, M_thread_pipeline_taskfinish_cb finish_cb)
M_bool M_thread_pipeline_steps_insert(M_thread_pipeline_steps_t *steps, M_thread_pipeline_task_cb task_cb)
void M_thread_pipeline_steps_destroy(M_thread_pipeline_steps_t *steps)
struct M_thread_pipeline_steps M_thread_pipeline_steps_t
Definition: m_thread_pipeline.h:168
size_t M_thread_pipeline_queue_count(M_thread_pipeline_t *pipeline)
@ M_THREAD_PIPELINE_FLAG_NOABORT
Definition: m_thread_pipeline.h:156
@ M_THREAD_PIPELINE_FLAG_NONE
Definition: m_thread_pipeline.h:155
@ M_THREAD_PIPELINE_RESULT_SUCCESS
Definition: m_thread_pipeline.h:183
@ M_THREAD_PIPELINE_RESULT_FAIL
Definition: m_thread_pipeline.h:184
@ M_THREAD_PIPELINE_RESULT_ABORT
Definition: m_thread_pipeline.h:185