Lines Matching refs:msg
51 nbmsg* msg = (void*)buffer;
52 msg->magic = NB_MAGIC;
53 msg->cookie = cookie;
54 msg->cmd = NB_ACK;
55 msg->arg = NB_VERSION_CURRENT;
56 memcpy(msg->data, advertise_nodename, sizeof(advertise_nodename));
63 nbmsg* msg = (void*)buffer;
64 msg->magic = NB_MAGIC;
65 msg->cookie = 0;
66 msg->cmd = NB_ADVERTISE;
67 msg->arg = NB_VERSION_CURRENT;
69 memcpy(msg->data, advertise_data, data_len);
75 nbmsg* msg = data;
84 // msg->magic, msg->cookie, msg->cmd, msg->arg, len);
86 if ((last_cookie == msg->cookie) &&
87 (last_cmd == msg->cmd) && (last_arg == msg->arg)) {
99 switch (msg->cmd) {
103 msg->data[len - 1] = 0;
108 msg->data[len - 1] = 0;
110 if ((msg->data[i] < ' ') || (msg->data[i] > 127)) {
111 msg->data[i] = '.';
114 item = netboot_get_buffer((const char*)msg->data, msg->arg);
117 ack.arg = msg->arg;
120 if (!strncmp((char*)msg->data, NB_FILENAME_PREFIX, prefix_len)) {
121 filename = &((const char*)msg->data)[prefix_len];
123 filename = (const char*)msg->data;
127 printf("netboot: Rejected File '%s'...\n", (char*) msg->data);
138 if (msg->arg != item->offset) {
139 // printf("netboot: < received chunk at offset %d but current offset is %zu\n", msg->arg, item->offset);
144 ack.arg = msg->arg;
146 memcpy(item->data + item->offset, msg->data, len);
148 ack.cmd = msg->cmd == NB_LAST_DATA ? NB_FILE_RECEIVED : NB_ACK;
149 if (msg->cmd != NB_LAST_DATA) {
160 send_query_ack(saddr, sport, msg->cookie);
167 last_cookie = msg->cookie;
168 last_cmd = msg->cmd;
169 last_arg = msg->arg;
173 ack.cookie = msg->cookie;