Lines Matching refs:conn

69 	struct connection *conn;  member
113 static int writechn(struct connection *conn, in writechn() argument
118 struct xenstore_domain_interface *intf = conn->domain->interface; in writechn()
139 xenevtchn_notify(xce_handle, conn->domain->port); in writechn()
144 static int readchn(struct connection *conn, void *data, unsigned int len) in readchn() argument
148 struct xenstore_domain_interface *intf = conn->domain->interface; in readchn()
169 xenevtchn_notify(xce_handle, conn->domain->port); in readchn()
240 if (domain->conn) { in domain_cleanup()
241 talloc_unlink(talloc_autofree_context(), domain->conn); in domain_cleanup()
242 domain->conn = NULL; in domain_cleanup()
267 bool domain_can_read(struct connection *conn) in domain_can_read() argument
269 struct xenstore_domain_interface *intf = conn->domain->interface; in domain_can_read()
271 if (domain_is_unprivileged(conn) && conn->domain->wrl_credit < 0) in domain_can_read()
281 bool domain_is_unprivileged(struct connection *conn) in domain_is_unprivileged() argument
283 return conn && conn->domain && in domain_is_unprivileged()
284 domid_is_unprivileged(conn->domain->domid); in domain_is_unprivileged()
287 bool domain_can_write(struct connection *conn) in domain_can_write() argument
289 struct xenstore_domain_interface *intf = conn->domain->interface; in domain_can_write()
326 domain->conn = new_connection(writechn, readchn); in new_domain()
327 if (!domain->conn) in new_domain()
330 domain->conn->domain = domain; in new_domain()
331 domain->conn->id = domid; in new_domain()
354 struct connection *conn = domain->conn; in domain_conn_reset() local
357 conn_delete_all_watches(conn); in domain_conn_reset()
358 conn_delete_all_transactions(conn); in domain_conn_reset()
360 while ((out = list_top(&conn->out_list, struct buffered_data, list))) { in domain_conn_reset()
365 talloc_free(conn->in); in domain_conn_reset()
372 int do_introduce(struct connection *conn, struct buffered_data *in) in do_introduce() argument
385 if (domain_is_unprivileged(conn) || !conn->can_write) in do_introduce()
413 talloc_steal(domain->conn, domain); in do_introduce()
416 } else if ((domain->mfn == mfn) && (domain->conn != conn)) { in do_introduce()
428 send_ack(conn, XS_INTRODUCE); in do_introduce()
440 if (!domain->conn) in find_connected_domain()
445 int do_set_target(struct connection *conn, struct buffered_data *in) in do_set_target() argument
453 if (domain_is_unprivileged(conn) || !conn->can_write) in do_set_target()
467 talloc_reference(domain->conn, tdomain->conn); in do_set_target()
468 domain->conn->target = tdomain->conn; in do_set_target()
470 send_ack(conn, XS_SET_TARGET); in do_set_target()
475 static struct domain *onearg_domain(struct connection *conn, in onearg_domain() argument
488 if (domain_is_unprivileged(conn)) in onearg_domain()
495 int do_release(struct connection *conn, struct buffered_data *in) in do_release() argument
499 domain = onearg_domain(conn, in); in do_release()
503 talloc_free(domain->conn); in do_release()
505 send_ack(conn, XS_RELEASE); in do_release()
510 int do_resume(struct connection *conn, struct buffered_data *in) in do_resume() argument
514 domain = onearg_domain(conn, in); in do_resume()
520 send_ack(conn, XS_RESUME); in do_resume()
525 int do_get_domain_path(struct connection *conn, struct buffered_data *in) in do_get_domain_path() argument
533 path = talloc_domain_path(conn, atoi(domid_str)); in do_get_domain_path()
537 send_reply(conn, XS_GET_DOMAIN_PATH, path, strlen(path) + 1); in do_get_domain_path()
544 int do_is_domain_introduced(struct connection *conn, struct buffered_data *in) in do_is_domain_introduced() argument
559 send_reply(conn, XS_IS_DOMAIN_INTRODUCED, result ? "T" : "F", 2); in do_is_domain_introduced()
565 int do_reset_watches(struct connection *conn, struct buffered_data *in) in do_reset_watches() argument
567 conn_delete_all_watches(conn); in do_reset_watches()
568 conn_delete_all_transactions(conn); in do_reset_watches()
570 send_ack(conn, XS_RESET_WATCHES); in do_reset_watches()
588 const char *get_implicit_path(const struct connection *conn) in get_implicit_path() argument
590 if (!conn->domain) in get_implicit_path()
592 return conn->domain->path; in get_implicit_path()
617 talloc_steal(dom0->conn, dom0); in dom0_init()
661 void domain_entry_inc(struct connection *conn, struct node *node) in domain_entry_inc() argument
665 if (!conn) in domain_entry_inc()
668 if (node->perms && node->perms[0].id != conn->id) { in domain_entry_inc()
669 if (conn->transaction) { in domain_entry_inc()
670 transaction_entry_inc(conn->transaction, in domain_entry_inc()
677 } else if (conn->domain) { in domain_entry_inc()
678 if (conn->transaction) { in domain_entry_inc()
679 transaction_entry_inc(conn->transaction, in domain_entry_inc()
680 conn->domain->domid); in domain_entry_inc()
682 conn->domain->nbentry++; in domain_entry_inc()
687 void domain_entry_dec(struct connection *conn, struct node *node) in domain_entry_dec() argument
691 if (!conn) in domain_entry_dec()
694 if (node->perms && node->perms[0].id != conn->id) { in domain_entry_dec()
695 if (conn->transaction) { in domain_entry_dec()
696 transaction_entry_dec(conn->transaction, in domain_entry_dec()
703 } else if (conn->domain && conn->domain->nbentry) { in domain_entry_dec()
704 if (conn->transaction) { in domain_entry_dec()
705 transaction_entry_dec(conn->transaction, in domain_entry_dec()
706 conn->domain->domid); in domain_entry_dec()
708 conn->domain->nbentry--; in domain_entry_dec()
732 int domain_entry(struct connection *conn) in domain_entry() argument
734 return (domain_is_unprivileged(conn)) in domain_entry()
735 ? conn->domain->nbentry in domain_entry()
739 void domain_watch_inc(struct connection *conn) in domain_watch_inc() argument
741 if (!conn || !conn->domain) in domain_watch_inc()
743 conn->domain->nbwatch++; in domain_watch_inc()
746 void domain_watch_dec(struct connection *conn) in domain_watch_dec() argument
748 if (!conn || !conn->domain) in domain_watch_dec()
750 if (conn->domain->nbwatch) in domain_watch_dec()
751 conn->domain->nbwatch--; in domain_watch_dec()
754 int domain_watch(struct connection *conn) in domain_watch() argument
756 return (domain_is_unprivileged(conn)) in domain_watch()
757 ? conn->domain->nbwatch in domain_watch()
962 void wrl_apply_debit_direct(struct connection *conn) in wrl_apply_debit_direct() argument
964 if (!conn) in wrl_apply_debit_direct()
968 if (conn->transaction) in wrl_apply_debit_direct()
976 wrl_apply_debit_actual(conn->domain); in wrl_apply_debit_direct()
979 void wrl_apply_debit_trans_commit(struct connection *conn) in wrl_apply_debit_trans_commit() argument
985 wrl_apply_debit_actual(conn->domain); in wrl_apply_debit_trans_commit()