Lines Matching refs:msg
33 static int io_rcv(int s, nbmsg* msg, nbmsg* ack) {
58 if (msg) {
59 if (ack->cookie > msg->cookie) {
94 static int io_send(int s, nbmsg* msg, size_t len) {
100 int r = write(s, msg, len);
121 static int io(int s, nbmsg* msg, size_t len, nbmsg* ack, bool wait_reply) {
139 if (msg && len > 0) {
140 msg->magic = NB_MAGIC;
141 msg->cookie = cookie++;
162 r = io_rcv(s, msg, ack);
167 r = io_send(s, msg, len);
179 return io_rcv(s, msg, ack);
238 nbmsg* msg = (void*)msgbuf;
287 msg->cmd = NB_SEND_FILE;
288 msg->arg = sz;
289 strcpy((void*)msg->data, name);
290 if (io(s, msg, sizeof(nbmsg) + strlen(name) + 1, ack, true)) {
295 msg->cmd = NB_DATA;
296 msg->arg = 0;
303 r = xread(&xd, msg->data, PAYLOAD_SIZE);
309 update_status(msg->arg);
319 msg->cmd = NB_LAST_DATA;
321 msg->cmd = NB_DATA;
324 if (io(s, msg, sizeof(nbmsg) + r, ack, false)) {
369 msg->arg = current_pos;
373 update_status(msg->arg);