#ifndef COMMANDER_OUTPUT_H #define COMMANDER_OUTPUT_H #include "aliases.h" #include "platform.h" #include #ifdef __cplusplus BEGIN_C_LINKAGE #endif // __cplusplus typedef enum { SHELL_OUTPUT_DISCARD, SHELL_OUTPUT_PRINT, SHELL_OUTPUT_CAPTURE, } CMDOutHandling; typedef enum { SHELL_ERR_NO_ERROR, SHELL_ERR_CMD_BUF_FULL, SHELL_ERR_PROC_START_FAIL, SHELL_ERR_OUT_BUF_FULL, SHELL_ERR_PROC_EXIT_FAIL, } CMDError; typedef struct commander_result CMDResult; struct commander_result { i32 exit_code; CMDError error; bool exited; #ifdef WAPP_PLATFORM_WINDOWS #include "misc_utils.h" wapp_misc_utils_padding_size(sizeof(bool) + sizeof(i32) + sizeof(CMDError)); #endif // !WAPP_PLATFORM_WINDOWS }; #ifdef __cplusplus END_C_LINKAGE #endif // __cplusplus #endif // !COMMANDER_OUTPUT_H