Compare commits

..

2 Commits

View File

@@ -1,26 +1,33 @@
#pragma once #pragma once
#ifdef __cplusplus
extern "C"
{
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#include <Windows.h> #include <Windows.h>
typedef struct { typedef struct {
uint64_t userdata; uint64_t userdata;
FILE* in; FILE* in;
FILE* out; FILE* out;
FILE* err; FILE* err;
// OS-dependent handle to the process // OS-dependent handle to the process
uint32_t _proc_hdl; uint32_t _proc_hdl;
} uniproc_process; } uniproc_process;
uniproc_process uniproc_create_process(const char* cmd, const size_t num_args, const char** argv); uniproc_process uniproc_create_process(const char* cmd, const size_t num_args, const char** argv);
void uniproc_await_processes(const uniproc_process* p, int* return_codes, const size_t num_processes); void uniproc_await_processes(const uniproc_process* p, int* return_codes, const size_t num_processes);
void uniproc_close_process(uniproc_process* p); void uniproc_close_process(uniproc_process* p);
int uniproc_are_processes_finished(const uniproc_process* p, const size_t num_processes); int uniproc_are_processes_finished(const uniproc_process* p, const size_t num_processes);
void uniproc_nullify_processes(uniproc_process* p, const size_t num_processes); void uniproc_nullify_processes(uniproc_process* p, const size_t num_processes);
int uniproc_is_process_null(const uniproc_process* p); int uniproc_is_process_null(const uniproc_process* p);
void uniproc_await_any_processes(const uniproc_process* p, const size_t num_processes); void uniproc_await_any_processes(const uniproc_process* p, const size_t num_processes);
void uniproc_set_userdata(uniproc_process* p, void const* userdata); void uniproc_set_userdata(uniproc_process* p, void const* userdata);
void* uniproc_get_userdata(uniproc_process* p); void* uniproc_get_userdata(uniproc_process* p);
#ifdef __cplusplus
}
#endif