Lines Matching refs:msg

219 	struct xsd_sockmsg msg = { 0 };  in xenbus_debug_write()  local
221 msg.type = XS_DEBUG; in xenbus_debug_write()
222 msg.len = sizeof ("print") + count + 1; in xenbus_debug_write()
225 (void) xb_write(&msg, sizeof (msg)); in xenbus_debug_write()
241 xenbus_dev_request_and_reply(struct xsd_sockmsg *msg, void **reply) in xenbus_dev_request_and_reply() argument
243 struct xsd_sockmsg req_msg = *msg; in xenbus_dev_request_and_reply()
252 msg->req_id = last_req_id++; in xenbus_dev_request_and_reply()
254 err = xb_write(msg, sizeof (*msg) + msg->len); in xenbus_dev_request_and_reply()
258 msg->type = XS_ERROR; in xenbus_dev_request_and_reply()
263 err = read_reply(msg, &reply_msg); in xenbus_dev_request_and_reply()
266 if (msg->type == XS_TRANSACTION_START) in xenbus_dev_request_and_reply()
273 *msg = reply_msg->hdr; in xenbus_dev_request_and_reply()
298 struct xsd_sockmsg msg; in xs_talkv() local
304 msg.tx_id = (uint32_t)(unsigned long)t; in xs_talkv()
305 msg.type = type; in xs_talkv()
306 msg.len = 0; in xs_talkv()
308 msg.len += iovec[i].iov_len; in xs_talkv()
312 msg.req_id = last_req_id++; in xs_talkv()
314 err = xb_write(&msg, sizeof (msg)); in xs_talkv()
328 err = read_reply(&msg, &reply_msg); in xs_talkv()
843 free_stored_msg(struct xs_stored_msg *msg) in free_stored_msg() argument
847 for (i = 0; i < msg->un.watch.vec_size; i++) in free_stored_msg()
848 len += strlen(msg->un.watch.vec[i]) + 1 + sizeof (char *); in free_stored_msg()
849 kmem_free(msg->un.watch.vec, len); in free_stored_msg()
850 kmem_free(msg, sizeof (*msg)); in free_stored_msg()
856 struct xs_stored_msg *msg; in unregister_xenbus_watch() local
881 msg = list_head(&watch_events); in unregister_xenbus_watch()
883 while (msg != NULL) { in unregister_xenbus_watch()
884 struct xs_stored_msg *tmp = list_next(&watch_events, msg); in unregister_xenbus_watch()
885 if (msg->un.watch.handle == watch) { in unregister_xenbus_watch()
886 list_remove(&watch_events, msg); in unregister_xenbus_watch()
887 free_stored_msg(msg); in unregister_xenbus_watch()
889 msg = tmp; in unregister_xenbus_watch()
934 struct xs_stored_msg *msg; in xenwatch_thread() local
941 msg = list_head(&watch_events); in xenwatch_thread()
942 ASSERT(msg != NULL); in xenwatch_thread()
943 list_remove(&watch_events, msg); in xenwatch_thread()
944 watch = msg->un.watch.handle; in xenwatch_thread()
953 const char *, msg->un.watch.vec[XS_WATCH_PATH]); in xenwatch_thread()
955 watch->callback(watch, (const char **)msg->un.watch.vec, in xenwatch_thread()
956 msg->un.watch.vec_size); in xenwatch_thread()
958 free_stored_msg(msg); in xenwatch_thread()
966 struct xs_stored_msg *msg; in process_msg() local
970 msg = kmem_alloc(sizeof (*msg), KM_SLEEP); in process_msg()
972 err = xb_read(&msg->hdr, sizeof (msg->hdr)); in process_msg()
974 kmem_free(msg, sizeof (*msg)); in process_msg()
978 mlen = msg->hdr.len + 1; in process_msg()
981 err = xb_read(body, msg->hdr.len); in process_msg()
984 kmem_free(msg, sizeof (*msg)); in process_msg()
990 if (msg->hdr.type == XS_WATCH_EVENT) { in process_msg()
992 msg->un.watch.vec = split(body, msg->hdr.len + 1, in process_msg()
993 &msg->un.watch.vec_size); in process_msg()
994 if (msg->un.watch.vec == NULL) { in process_msg()
995 kmem_free(msg, sizeof (*msg)); in process_msg()
1000 token = msg->un.watch.vec[XS_WATCH_TOKEN]; in process_msg()
1001 if ((msg->un.watch.handle = find_watch(token)) != NULL) { in process_msg()
1005 const char *, msg->un.watch.handle->node, in process_msg()
1006 uintptr_t, msg->un.watch.handle->callback, in process_msg()
1007 struct xenbus_watch *, msg->un.watch.handle, in process_msg()
1008 const char *, msg->un.watch.vec[XS_WATCH_PATH]); in process_msg()
1010 list_insert_tail(&watch_events, msg); in process_msg()
1014 free_stored_msg(msg); in process_msg()
1018 msg->un.reply.body = body; in process_msg()
1020 list_insert_tail(&xs_state.reply_list, msg); in process_msg()