diff --git a/include/uniproc.h b/include/uniproc.h index 82f85c5..f8e8e2c 100644 --- a/include/uniproc.h +++ b/include/uniproc.h @@ -1,26 +1,33 @@ #pragma once +#ifdef __cplusplus +extern "C" +{ +#endif #include #include #include #include -typedef struct { + typedef struct { - uint64_t userdata; - FILE* in; - FILE* out; - FILE* err; + uint64_t userdata; + FILE* in; + FILE* out; + FILE* err; - // OS-dependent handle to the process - uint32_t _proc_hdl; - -} uniproc_process; + // OS-dependent handle to the process + uint32_t _proc_hdl; -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); -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); -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_set_userdata(uniproc_process* p, void const* userdata); -void* uniproc_get_userdata(uniproc_process* p); \ No newline at end of file + } 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); + 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); + 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_set_userdata(uniproc_process* p, void const* userdata); + void* uniproc_get_userdata(uniproc_process* p); +#ifdef __cplusplus +} +#endif \ No newline at end of file