Lines Matching defs:lmpb
212 static errval_t init_lmp_binding(struct proc_mgmt_lmp_binding *lmpb,
218 proc_mgmt_lmp_init(lmpb, ws);
221 err = slot_alloc(&lmpb->chan.local_cap);
227 err = lmp_endpoint_create_in_slot(buflen_words, lmpb->chan.local_cap,
228 &lmpb->chan.endpoint);
235 err = lmp_chan_alloc_recv_slot(&lmpb->chan);
241 lmpb->b.error_handler = error_handler;
245 // lmpb->b.rx_vtbl = monitor_rx_vtbl;
248 lmpb->b.change_waitset(&lmpb->b, lmpb->b.waitset);
257 * \param lmpb Storage for binding state
261 errval_t proc_mgmt_client_lmp_accept(struct proc_mgmt_lmp_binding *lmpb,
265 errval_t err = init_lmp_binding(lmpb, ws, lmp_buflen_words);
270 lmpb->chan.connstate = LMP_MONITOR_ACCEPT; // TODO(razvan): LMP_PROC_MGMT_ACCEPT?
271 lmpb->chan.remote_cap = NULL_CAP; // will be sent to us by the client
276 .arg = lmpb,
278 err = lmp_chan_register_recv(&lmpb->chan, ws, receive_handler);
294 * \param lmpb Storage for binding state
301 errval_t proc_mgmt_client_lmp_bind(struct proc_mgmt_lmp_binding *lmpb,
308 errval_t err = init_lmp_binding(lmpb, ws, lmp_buflen_words);
313 lmpb->chan.remote_cap = ep;
316 lmpb->chan.connstate = LMP_CONNECTED; /* pre-established */
317 err = lmp_chan_send0(&lmpb->chan, 0, lmpb->chan.local_cap);
328 proc_mgmt_lmp_rx_handler(lmpb);
331 cont(st, SYS_ERR_OK, &lmpb->b);