45 lines
938 B
C
45 lines
938 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"
|
|
|
|
#ifdef WAPP_PLATFORM_CPP
|
|
BEGIN_C_LINKAGE
|
|
#endif // !WAPP_PLATFORM_CPP
|
|
|
|
typedef enum {
|
|
SHELL_OUTPUT_DISCARD,
|
|
SHELL_OUTPUT_PRINT,
|
|
SHELL_OUTPUT_CAPTURE,
|
|
} CMDOutHandling;
|
|
|
|
typedef enum {
|
|
SHELL_ERR_NO_ERROR,
|
|
SHELL_ERR_INVALID_ARGS,
|
|
SHELL_ERR_ALLOCATION_FAIL,
|
|
SHELL_ERR_PROC_START_FAIL,
|
|
SHELL_ERR_OUT_BUF_FULL,
|
|
SHELL_ERR_PROC_EXIT_FAIL,
|
|
} CMDError;
|
|
|
|
typedef struct CMDResult CMDResult;
|
|
struct CMDResult {
|
|
i32 exit_code;
|
|
CMDError error;
|
|
b8 exited;
|
|
|
|
#ifdef WAPP_PLATFORM_WINDOWS
|
|
#include "../../../../common/misc/misc_utils.h"
|
|
wapp_misc_utils_padding_size(sizeof(b8) + sizeof(i32) + sizeof(CMDError));
|
|
#endif // !WAPP_PLATFORM_WINDOWS
|
|
};
|
|
|
|
#ifdef WAPP_PLATFORM_CPP
|
|
END_C_LINKAGE
|
|
#endif // !WAPP_PLATFORM_CPP
|
|
|
|
#endif // !COMMANDER_OUTPUT_H
|