1*cf78ab8cSAndroid Build Coastguard Worker// PDL grammar file for arp packet format. 2*cf78ab8cSAndroid Build Coastguard Worker 3*cf78ab8cSAndroid Build Coastguard Workerbig_endian_packets 4*cf78ab8cSAndroid Build Coastguard Worker 5*cf78ab8cSAndroid Build Coastguard Worker// Arp packet for Ethernet and IPv4 6*cf78ab8cSAndroid Build Coastguard Worker 7*cf78ab8cSAndroid Build Coastguard Workerpacket ArpPacket { 8*cf78ab8cSAndroid Build Coastguard Worker _fixed_ = 0x01 : 16, // Hardware type (e.g., 1 for Ethernet) 9*cf78ab8cSAndroid Build Coastguard Worker _fixed_ = 0x0800 : 16, // Protocol type (e.g., 0x0800 for IPv4) 10*cf78ab8cSAndroid Build Coastguard Worker _fixed_ = 0x06 : 8, // Hardware address length (e.g., 6 for MAC) 11*cf78ab8cSAndroid Build Coastguard Worker _fixed_ = 0x04 : 8, // Protocol address length (e.g., 4 for IPv4) 12*cf78ab8cSAndroid Build Coastguard Worker opcode: 16, // Operation (1 for request, 2 for reply) 13*cf78ab8cSAndroid Build Coastguard Worker sender_hw_addr: 8[6], // Sender's hardware address 14*cf78ab8cSAndroid Build Coastguard Worker sender_proto_addr: 8[4], // Sender's protocol address 15*cf78ab8cSAndroid Build Coastguard Worker target_hw_addr: 8[6], // Target's hardware address 16*cf78ab8cSAndroid Build Coastguard Worker target_proto_addr: 8[4], // Target's protocol address 17*cf78ab8cSAndroid Build Coastguard Worker} 18