Lines Matching refs:pr_mgr

42 static void pr_manager_send_status_changed_event(PRManagerHelper *pr_mgr)  in pr_manager_send_status_changed_event()  argument
44 const char *id = object_get_canonical_path_component(OBJECT(pr_mgr)); in pr_manager_send_status_changed_event()
47 qapi_event_send_pr_manager_status_changed(id, !!pr_mgr->ioc); in pr_manager_send_status_changed_event()
52 static int pr_manager_helper_read(PRManagerHelper *pr_mgr, in pr_manager_helper_read() argument
55 ssize_t r = qio_channel_read_all(pr_mgr->ioc, buf, sz, errp); in pr_manager_helper_read()
58 object_unref(OBJECT(pr_mgr->ioc)); in pr_manager_helper_read()
59 pr_mgr->ioc = NULL; in pr_manager_helper_read()
60 pr_manager_send_status_changed_event(pr_mgr); in pr_manager_helper_read()
68 static int pr_manager_helper_write(PRManagerHelper *pr_mgr, in pr_manager_helper_write() argument
79 n_written = qio_channel_writev_full(QIO_CHANNEL(pr_mgr->ioc), &iov, 1, in pr_manager_helper_write()
84 object_unref(OBJECT(pr_mgr->ioc)); in pr_manager_helper_write()
85 pr_mgr->ioc = NULL; in pr_manager_helper_write()
86 pr_manager_send_status_changed_event(pr_mgr); in pr_manager_helper_write()
99 static int pr_manager_helper_initialize(PRManagerHelper *pr_mgr, in pr_manager_helper_initialize() argument
102 char *path = g_strdup(pr_mgr->path); in pr_manager_helper_initialize()
113 assert(!pr_mgr->ioc); in pr_manager_helper_initialize()
126 pr_mgr->ioc = QIO_CHANNEL(sioc); in pr_manager_helper_initialize()
131 r = pr_manager_helper_read(pr_mgr, &flags, sizeof(flags), errp); in pr_manager_helper_initialize()
137 r = pr_manager_helper_write(pr_mgr, -1, &flags, sizeof(flags), errp); in pr_manager_helper_initialize()
142 pr_manager_send_status_changed_event(pr_mgr); in pr_manager_helper_initialize()
146 object_unref(OBJECT(pr_mgr->ioc)); in pr_manager_helper_initialize()
147 pr_mgr->ioc = NULL; in pr_manager_helper_initialize()
154 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(p); in pr_manager_helper_run() local
180 qemu_mutex_lock(&pr_mgr->lock); in pr_manager_helper_run()
184 if (!pr_mgr->ioc) { in pr_manager_helper_run()
185 ret = pr_manager_helper_initialize(pr_mgr, NULL); in pr_manager_helper_run()
187 qemu_mutex_unlock(&pr_mgr->lock); in pr_manager_helper_run()
189 qemu_mutex_lock(&pr_mgr->lock); in pr_manager_helper_run()
194 ret = pr_manager_helper_write(pr_mgr, fd, cdb, ARRAY_SIZE(cdb), NULL); in pr_manager_helper_run()
209 ret = pr_manager_helper_write(pr_mgr, -1, io_hdr->dxferp, len, NULL); in pr_manager_helper_run()
214 ret = pr_manager_helper_read(pr_mgr, &resp, sizeof(resp), NULL); in pr_manager_helper_run()
223 ret = pr_manager_helper_read(pr_mgr, io_hdr->dxferp, resp.sz, NULL); in pr_manager_helper_run()
247 qemu_mutex_unlock(&pr_mgr->lock); in pr_manager_helper_run()
253 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(p); in pr_manager_helper_is_connected() local
256 qemu_mutex_lock(&pr_mgr->lock); in pr_manager_helper_is_connected()
257 result = (pr_mgr->ioc != NULL); in pr_manager_helper_is_connected()
258 qemu_mutex_unlock(&pr_mgr->lock); in pr_manager_helper_is_connected()
265 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(uc); in pr_manager_helper_complete() local
267 qemu_mutex_lock(&pr_mgr->lock); in pr_manager_helper_complete()
268 pr_manager_helper_initialize(pr_mgr, errp); in pr_manager_helper_complete()
269 qemu_mutex_unlock(&pr_mgr->lock); in pr_manager_helper_complete()
274 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(obj); in get_path() local
276 return g_strdup(pr_mgr->path); in get_path()
281 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(obj); in set_path() local
283 g_free(pr_mgr->path); in set_path()
284 pr_mgr->path = g_strdup(str); in set_path()
289 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(obj); in pr_manager_helper_instance_finalize() local
291 object_unref(OBJECT(pr_mgr->ioc)); in pr_manager_helper_instance_finalize()
292 qemu_mutex_destroy(&pr_mgr->lock); in pr_manager_helper_instance_finalize()
297 PRManagerHelper *pr_mgr = PR_MANAGER_HELPER(obj); in pr_manager_helper_instance_init() local
299 qemu_mutex_init(&pr_mgr->lock); in pr_manager_helper_instance_init()