Packet.c
Bool checksum_check(const packet* pkt) { // section d
	// preform bitwise XOR over the packet's information
	// return the result of comparison between checker and checksum in the form of Bool 
	int i = 0;
	char checker = pkt->Da ^ pkt->Sa;
	checker ^= pkt->Prio;
	checker ^= pkt->Data_Length;
	for (; i < pkt->Data_Length; i++) {
		checker ^= pkt->Data[i];
	}
	return checker == pkt->Checksum;
}
/*checks if a packet is valid by 'XOR-ing' bits of selected values
and compares it to its checksum value*/
checks if a packet is valid by 'XOR-ing' bits of selected values
and compares it to its checksum value
checks if a packet is valid by ' XOR - ing ' bits of selected values and compares it to its checksum value
Bool checksum_check(const packet* pkt) { 
	int i = 0;
	char checker = pkt->Da ^ pkt->Sa;
	checker ^= pkt->Prio;
	checker ^= pkt->Data_Length;
	for (; i < pkt->Data_Length; i++) {
		checker ^= pkt->Data[i];
	}
	return checker == pkt->Checksum;
}
Bool checksum_check ( const packet * pkt ) { int i = 0 ; char checker = pkt -> Da ^ pkt -> Sa ; checker ^= pkt -> Prio ; checker ^= pkt -> Data_Length ; for ( ; i < pkt -> Data_Length ; i ++ ) { checker ^= pkt -> Data [ i ] ; } return checker == pkt -> Checksum ; }
checks if a packet is valid by 'XOR-ing' bits of selected values
and compares it to its checksum value
checks if a packet is valid by ' XOR - ing ' bits of selected values and compares it to its checksum value
// section d
 // preform bitwise XOR over the packet's information
 // return the result of comparison between checker and checksum in the form of Bool 
