Go to the source code of this file.
|
GWENHYWFAR_API void | GWEN_Process_AddFlags (GWEN_PROCESS *pr, uint32_t f) |
|
GWENHYWFAR_API GWEN_PROCESS_STATE | GWEN_Process_CheckState (GWEN_PROCESS *pr) |
|
GWENHYWFAR_API void | GWEN_Process_free (GWEN_PROCESS *pr) |
|
GWENHYWFAR_API uint32_t | GWEN_Process_GetFlags (const GWEN_PROCESS *pr) |
|
GWENHYWFAR_API const char * | GWEN_Process_GetFolder (const GWEN_PROCESS *pr) |
|
GWENHYWFAR_API int | GWEN_Process_GetResult (GWEN_PROCESS *pr) |
|
GWENHYWFAR_API GWEN_SYNCIO * | GWEN_Process_GetStderr (const GWEN_PROCESS *pr) |
|
GWENHYWFAR_API GWEN_SYNCIO * | GWEN_Process_GetStdin (const GWEN_PROCESS *pr) |
|
GWENHYWFAR_API GWEN_SYNCIO * | GWEN_Process_GetStdout (const GWEN_PROCESS *pr) |
|
GWENHYWFAR_API GWEN_PROCESS * | GWEN_Process_new (void) |
|
GWENHYWFAR_API int | GWEN_Process_RunCommandWaitAndGather (const char *prg, const char *args, GWEN_BUFFER *stdOutBuffer, GWEN_BUFFER *stdErrBuffer) |
|
GWENHYWFAR_API void | GWEN_Process_SetFilenameStdErr (GWEN_PROCESS *pr, const char *s) |
|
GWENHYWFAR_API void | GWEN_Process_SetFilenameStdIn (GWEN_PROCESS *pr, const char *s) |
|
GWENHYWFAR_API void | GWEN_Process_SetFilenameStdOut (GWEN_PROCESS *pr, const char *s) |
|
GWENHYWFAR_API void | GWEN_Process_SetFlags (GWEN_PROCESS *pr, uint32_t f) |
|
GWENHYWFAR_API void | GWEN_Process_SetFolder (GWEN_PROCESS *pr, const char *s) |
|
GWENHYWFAR_API GWEN_PROCESS_STATE | GWEN_Process_Start (GWEN_PROCESS *pr, const char *prg, const char *args) |
|
GWENHYWFAR_API void | GWEN_Process_SubFlags (GWEN_PROCESS *pr, uint32_t f) |
|
GWENHYWFAR_API int | GWEN_Process_Terminate (GWEN_PROCESS *pr) |
|
GWENHYWFAR_API int | GWEN_Process_Wait (GWEN_PROCESS *pr) |
|
◆ GWEN_PROCESS_FLAGS_DEFAULT
#define GWEN_PROCESS_FLAGS_DEFAULT 0 |
◆ GWEN_PROCESS_FLAGS_REDIR_STDERR
#define GWEN_PROCESS_FLAGS_REDIR_STDERR 0x00000004 |
redirect the child processes stderr channel
Definition at line 40 of file process.h.
◆ GWEN_PROCESS_FLAGS_REDIR_STDIN
#define GWEN_PROCESS_FLAGS_REDIR_STDIN 0x00000001 |
redirect the child processes stdin channel
Definition at line 36 of file process.h.
◆ GWEN_PROCESS_FLAGS_REDIR_STDOUT
#define GWEN_PROCESS_FLAGS_REDIR_STDOUT 0x00000002 |
redirect the child processes stdout channel
Definition at line 38 of file process.h.
◆ GWEN_PROCESS
◆ GWEN_PROCESS_STATE
States a process can assume.
Enumerator |
---|
GWEN_ProcessStateNotStarted | process has not yet been started
|
GWEN_ProcessStateRunning | process is running
|
GWEN_ProcessStateExited | process exited normally
|
GWEN_ProcessStateAborted | process terminated abnormally (on POSIX systems this is in most cases an uncaught signal)
|
GWEN_ProcessStateStopped | process has been stopped (unused for now)
|
GWEN_ProcessStateUnknown | process is in an unknown state
|
Definition at line 54 of file process.h.
◆ GWEN_Process_AddFlags()
◆ GWEN_Process_CheckState()
Checks for the current state of the given process.
◆ GWEN_Process_free()
Frees process data. This does not stop the process represented by this data. You should only free this data after the process has terminated or if you are not interested in the result of the process (because after freeing this data there is no way to communicate with the process).
◆ GWEN_Process_GetFlags()
◆ GWEN_Process_GetFolder()
Get working dir for the new process.
◆ GWEN_Process_GetResult()
Returns the result of a process. This process must have terminated in order to return a result.
◆ GWEN_Process_GetStderr()
Returns a GWEN_BUFFEREDIO which can be used to read data written by the process via stderr. Returns 0 if the process does not have the flag GWEN_PROCESS_FLAGS_REDIR_STDERR set.
◆ GWEN_Process_GetStdin()
Returns a GWEN_BUFFEREDIO which can be used to write data to be received by the process via stdin. Returns 0 if the process does not have the flag GWEN_PROCESS_FLAGS_REDIR_STDIN set.
◆ GWEN_Process_GetStdout()
Returns a GWEN_BUFFEREDIO which can be used to read data written by the process via stdout. Returns 0 if the process does not have the flag GWEN_PROCESS_FLAGS_REDIR_STDOUT set.
◆ GWEN_Process_new()
Creates a process representation. This does not start a process, it simply prepares some data for starting a process.
◆ GWEN_Process_RunCommandWaitAndGather()
Start a process which executes the given command with the given arguments, and gathers stdout of the process into the given buffer (if any).
Your application needs to install a signal handler which catches SIGCHLD.
- Returns
- result of the command (negative value: GWEN error code)
- Parameters
-
prg | name of the binary to run |
args | arguments for the command (all in one string, words separated by blanks) |
stdOutBuffer | buffer to receive stdout from the started process |
◆ GWEN_Process_SetFilenameStdErr()
◆ GWEN_Process_SetFilenameStdIn()
◆ GWEN_Process_SetFilenameStdOut()
◆ GWEN_Process_SetFlags()
◆ GWEN_Process_SetFolder()
Set working dir for the new process.
◆ GWEN_Process_Start()
Starts the given process.
- Parameters
-
pr | pointer to process data |
prg | path and name of the program to start |
args | command line arguments for the program (MUST NOT contain the name of the program) |
◆ GWEN_Process_SubFlags()
◆ GWEN_Process_Terminate()
Terminates a process immediately (on POSIX systems this is performed by sending a KILL signal). This function waits for the process to terminate.
◆ GWEN_Process_Wait()
Waits for the termination of the given process.