12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /** @file kexec.h
- *
- * @brief Klish exec
- */
- #ifndef _klish_kexec_h
- #define _klish_kexec_h
- #include <faux/list.h>
- #include <klish/kcontext.h>
- typedef struct kexec_s kexec_t;
- typedef faux_list_node_t kexec_contexts_node_t;
- C_DECL_BEGIN
- kexec_t *kexec_new(void);
- void kexec_free(kexec_t *exec);
- // Dry-run
- bool_t kexec_dry_run(const kexec_t *exec);
- bool_t kexec_set_dry_run(kexec_t *exec, bool_t dry_run);
- // STDIN
- int kexec_stdin(const kexec_t *exec);
- bool_t kexec_set_stdin(kexec_t *exec, int stdin);
- // STDOUT
- int kexec_stdout(const kexec_t *exec);
- bool_t kexec_set_stdout(kexec_t *exec, int stdout);
- // STDERR
- int kexec_stderr(const kexec_t *exec);
- bool_t kexec_set_stderr(kexec_t *exec, int stderr);
- // CONTEXTs
- bool_t kexec_add_contexts(kexec_t *exec, kcontext_t *context);
- ssize_t kexec_contexts_len(const kexec_t *exec);
- bool_t kexec_contexts_is_empty(const kexec_t *exec);
- kexec_contexts_node_t *kexec_contexts_iter(const kexec_t *exec);
- kcontext_t *kexec_contexts_each(kexec_contexts_node_t **iter);
- bool_t kexec_exec(kexec_t *exec);
- C_DECL_END
- #endif // _klish_kexec_h
|