version 1.843, 2018/08/22 20:06:14 |
version 1.844, 2018/08/23 15:45:05 |
|
|
struct environ; |
struct environ; |
struct format_job_tree; |
struct format_job_tree; |
struct input_ctx; |
struct input_ctx; |
|
struct job; |
struct mode_tree_data; |
struct mode_tree_data; |
struct mouse_event; |
struct mouse_event; |
struct options; |
struct options; |
|
|
RB_ENTRY(hook) entry; |
RB_ENTRY(hook) entry; |
}; |
}; |
|
|
/* Scheduled job. */ |
|
struct job; |
|
typedef void (*job_update_cb) (struct job *); |
|
typedef void (*job_complete_cb) (struct job *); |
|
typedef void (*job_free_cb) (void *); |
|
struct job { |
|
enum { |
|
JOB_RUNNING, |
|
JOB_DEAD, |
|
JOB_CLOSED |
|
} state; |
|
|
|
int flags; |
|
#define JOB_NOWAIT 0x1 |
|
|
|
char *cmd; |
|
pid_t pid; |
|
int status; |
|
|
|
int fd; |
|
struct bufferevent *event; |
|
|
|
job_update_cb updatecb; |
|
job_complete_cb completecb; |
|
job_free_cb freecb; |
|
void *data; |
|
|
|
LIST_ENTRY(job) entry; |
|
}; |
|
LIST_HEAD(joblist, job); |
|
|
|
/* Virtual screen. */ |
/* Virtual screen. */ |
struct screen_sel; |
struct screen_sel; |
struct screen_titles; |
struct screen_titles; |
|
|
extern const struct options_table_entry options_table[]; |
extern const struct options_table_entry options_table[]; |
|
|
/* job.c */ |
/* job.c */ |
extern struct joblist all_jobs; |
typedef void (*job_update_cb) (struct job *); |
|
typedef void (*job_complete_cb) (struct job *); |
|
typedef void (*job_free_cb) (void *); |
|
#define JOB_NOWAIT 0x1 |
struct job *job_run(const char *, struct session *, const char *, |
struct job *job_run(const char *, struct session *, const char *, |
job_update_cb, job_complete_cb, job_free_cb, void *, int); |
job_update_cb, job_complete_cb, job_free_cb, void *, int); |
void job_free(struct job *); |
void job_free(struct job *); |
void job_died(struct job *, int); |
void job_check_died(pid_t, int); |
|
int job_get_status(struct job *); |
|
void *job_get_data(struct job *); |
|
struct bufferevent *job_get_event(struct job *); |
|
void job_kill_all(void); |
|
int job_still_running(void); |
|
void job_print_summary(struct cmdq_item *, int); |
|
|
/* environ.c */ |
/* environ.c */ |
struct environ *environ_create(void); |
struct environ *environ_create(void); |