43 lines
818 B
C
43 lines
818 B
C
#ifndef COMMANDER_OUTPUT_H
|
|
#define COMMANDER_OUTPUT_H
|
|
|
|
#include "aliases.h"
|
|
#include "platform.h"
|
|
#include <stdbool.h>
|
|
|
|
#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
|