Files
uniproc/include/uniproc.h
Riley King-Saunders 500fe17076 Removed un-needed function overload for setting userdata
Fixed bugs in win64 impl where it did not check if the process was a known invalid value
2025-03-06 15:54:50 +11:00

26 lines
930 B
C

#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <Windows.h>
typedef struct {
uint64_t userdata;
FILE* in;
FILE* out;
FILE* err;
// OS-dependent handle to the process
uint32_t _proc_hdl;
} uniproc_process;
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_close_process(uniproc_process* p);
bool 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);
bool uniproc_is_process_null(const uniproc_process* p);
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_get_userdata(uniproc_process* p);