diff options
Diffstat (limited to 'src/nvim/os/job.h')
-rw-r--r-- | src/nvim/os/job.h | 67 |
1 files changed, 4 insertions, 63 deletions
diff --git a/src/nvim/os/job.h b/src/nvim/os/job.h index 4ddbc75807..f48218ffe7 100644 --- a/src/nvim/os/job.h +++ b/src/nvim/os/job.h @@ -10,69 +10,10 @@ #include <stdint.h> #include <stdbool.h> -#include "nvim/os/event_defs.h" #include "nvim/os/rstream_defs.h" +#include "nvim/os/event_defs.h" -/// Initializes job control resources -void job_init(void); - -/// Releases job control resources and terminates running jobs -void job_teardown(void); - -/// Tries to start a new job. -/// -/// @param argv Argument vector for the process. The first item is the -/// executable to run. -/// @param data Caller data that will be associated with the job -/// @param stdout_cb Callback that will be invoked when data is available -/// on stdout -/// @param stderr_cb Callback that will be invoked when data is available -/// on stderr -/// @param exit_cb Callback that will be invoked when the job exits. This is -/// optional. -/// @return The job id if the job started successfully. If the the first item / -/// of `argv`(the program) could not be executed, -1 will be returned. -// 0 will be returned if the job table is full. -int job_start(char **argv, - void *data, - rstream_cb stdout_cb, - rstream_cb stderr_cb, - job_exit_cb exit_cb); - -/// Terminates a job. This is a non-blocking operation, but if the job exists -/// it's guaranteed to succeed(SIGKILL will eventually be sent) -/// -/// @param id The job id -/// @return true if the stop request was successfully sent, false if the job -/// id is invalid(probably because it has already stopped) -bool job_stop(int id); - -/// Writes data to the job's stdin. This is a non-blocking operation, it -/// returns when the write request was sent. -/// -/// @param id The job id -/// @param data Buffer containing the data to be written -/// @param len Size of the data -/// @return true if the write request was successfully sent, false if the job -/// id is invalid(probably because it has already stopped) -bool job_write(int id, char *data, uint32_t len); - -/// Runs the read callback associated with the job exit event -/// -/// @param event Object containing data necessary to invoke the callback -void job_exit_event(Event event); - -/// Get the job id -/// -/// @param job A pointer to the job -/// @return The job id -int job_id(Job *job); - -/// Get data associated with a job -/// -/// @param job A pointer to the job -/// @return The job data -void *job_data(Job *job); - +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "os/job.h.generated.h" +#endif #endif // NVIM_OS_JOB_H - |