Lines Matching refs:gei

124     GuestExecInfo *gei;  in guest_exec_info_add()  local
126 gei = g_new0(GuestExecInfo, 1); in guest_exec_info_add()
127 gei->pid = pid; in guest_exec_info_add()
128 gei->pid_numeric = gpid_to_int64(pid); in guest_exec_info_add()
129 QTAILQ_INSERT_TAIL(&guest_exec_state.processes, gei, next); in guest_exec_info_add()
131 return gei; in guest_exec_info_add()
136 GuestExecInfo *gei; in guest_exec_info_find() local
138 QTAILQ_FOREACH(gei, &guest_exec_state.processes, next) { in guest_exec_info_find()
139 if (gei->pid_numeric == pid_numeric) { in guest_exec_info_find()
140 return gei; in guest_exec_info_find()
149 GuestExecInfo *gei; in qmp_guest_exec_status() local
154 gei = guest_exec_info_find(pid); in qmp_guest_exec_status()
155 if (gei == NULL) { in qmp_guest_exec_status()
162 bool finished = gei->finished; in qmp_guest_exec_status()
166 if (gei->has_output) { in qmp_guest_exec_status()
167 finished &= gei->out.closed && gei->err.closed; in qmp_guest_exec_status()
190 if ((uint32_t)gei->status < 0xC0000000U) { in qmp_guest_exec_status()
192 ges->exitcode = gei->status; in qmp_guest_exec_status()
195 ges->signal = gei->status; in qmp_guest_exec_status()
198 if (WIFEXITED(gei->status)) { in qmp_guest_exec_status()
200 ges->exitcode = WEXITSTATUS(gei->status); in qmp_guest_exec_status()
201 } else if (WIFSIGNALED(gei->status)) { in qmp_guest_exec_status()
203 ges->signal = WTERMSIG(gei->status); in qmp_guest_exec_status()
206 if (gei->out.length > 0) { in qmp_guest_exec_status()
207 ges->out_data = g_base64_encode(gei->out.data, gei->out.length); in qmp_guest_exec_status()
208 ges->has_out_truncated = gei->out.truncated; in qmp_guest_exec_status()
210 g_free(gei->out.data); in qmp_guest_exec_status()
212 if (gei->err.length > 0) { in qmp_guest_exec_status()
213 ges->err_data = g_base64_encode(gei->err.data, gei->err.length); in qmp_guest_exec_status()
214 ges->has_err_truncated = gei->err.truncated; in qmp_guest_exec_status()
216 g_free(gei->err.data); in qmp_guest_exec_status()
218 QTAILQ_REMOVE(&guest_exec_state.processes, gei, next); in qmp_guest_exec_status()
219 g_free(gei); in qmp_guest_exec_status()
261 GuestExecInfo *gei = (GuestExecInfo *)data; in guest_exec_child_watch() local
266 gei->status = status; in guest_exec_child_watch()
267 gei->finished = true; in guest_exec_child_watch()
416 GuestExecInfo *gei; in qmp_guest_exec() local
485 gei = guest_exec_info_add(pid); in qmp_guest_exec()
486 gei->has_output = has_output; in qmp_guest_exec()
487 g_child_watch_add(pid, guest_exec_child_watch, gei); in qmp_guest_exec()
490 gei->in.data = g_steal_pointer(&input); in qmp_guest_exec()
491 gei->in.size = ninput; in qmp_guest_exec()
501 g_io_add_watch(in_ch, G_IO_OUT, guest_exec_input_watch, &gei->in); in qmp_guest_exec()
519 guest_exec_output_watch, &gei->out); in qmp_guest_exec()
521 guest_exec_output_watch, &gei->err); in qmp_guest_exec()