507
509
D(bug(" header %08lx%04lx %08lx%04lx %04lx\n", ReadMacInt32(ether_data + ed_RHA), ReadMacInt16(ether_data + ed_RHA + 4), ReadMacInt32(ether_data + ed_RHA + 6), ReadMacInt16(ether_data + ed_RHA + 10), ReadMacInt16(ether_data + ed_RHA + 12)));
511
513
r.d[0] = type; // Packet type
512
514
r.d[1] = p->length - 14; // Remaining packet length (without header, for ReadPacket)
514
516
r.a[3] = ether_data + ed_RHA + 14; // Pointer behind header in RHA
515
517
r.a[4] = ether_data + ed_ReadPacket; // Pointer to ReadPacket/ReadRest routines
516
518
D(bug(" calling protocol handler %08lx, type %08lx, length %08lx, data %08lx, rha %08lx, read_packet %08lx\n", prot->handler, r.d[0], r.d[1], r.a[0], r.a[3], r.a[4]));