43 lines
930 B
C
43 lines
930 B
C
// vim:fileencoding=utf-8:foldmethod=marker
|
|
|
|
#ifndef COMMANDER_OUTPUT_H
|
|
#define COMMANDER_OUTPUT_H
|
|
|
|
#include "../../../common/aliases/aliases.h"
|
|
#include "../../../common/platform/platform.h"
|
|
#include "../../../common/misc/misc_utils.h"
|
|
|
|
#ifdef WP_PLATFORM_CPP
|
|
BEGIN_C_LINKAGE
|
|
#endif // !WP_PLATFORM_CPP
|
|
|
|
typedef enum WpCmdOutHandling {
|
|
WP_SHELL_OUTPUT_DISCARD,
|
|
WP_SHELL_OUTPUT_PRINT,
|
|
WP_SHELL_OUTPUT_CAPTURE,
|
|
} WpCmdOutHandling;
|
|
|
|
typedef enum WpCmdError {
|
|
WP_SHELL_ERR_NO_ERROR,
|
|
WP_SHELL_ERR_INVALID_ARGS,
|
|
WP_SHELL_ERR_ALLOCATION_FAIL,
|
|
WP_SHELL_ERR_PROC_START_FAIL,
|
|
WP_SHELL_ERR_OUT_BUF_FULL,
|
|
WP_SHELL_ERR_PROC_EXIT_FAIL,
|
|
} WpCmdError;
|
|
|
|
typedef struct WpCmdResult WpCmdResult;
|
|
struct WpCmdResult {
|
|
i32 exit_code;
|
|
WpCmdError error;
|
|
b8 exited;
|
|
|
|
wpMiscUtilsReservePadding(sizeof(b8) + sizeof(i32) + sizeof(WpCmdError));
|
|
};
|
|
|
|
#ifdef WP_PLATFORM_CPP
|
|
END_C_LINKAGE
|
|
#endif // !WP_PLATFORM_CPP
|
|
|
|
#endif // !COMMANDER_OUTPUT_H
|