mirror of
https://github.com/mfontanini/libtins
synced 2026-01-27 04:11:35 +01:00
Added getters and setters to ARP PDU
This commit is contained in:
36
src/arp.cpp
36
src/arp.cpp
@@ -37,6 +37,42 @@ Tins::ARP::ARP() : PDU(0x0608) {
|
||||
_arp.ar_pln = 4;
|
||||
}
|
||||
|
||||
void Tins::ARP::sender_hw_addr(uint8_t* new_snd_hw_addr) {
|
||||
memcpy(this->_arp.ar_sha, new_snd_hw_addr, 6); //Should this use hardware address' length?
|
||||
}
|
||||
|
||||
void Tins::ARP::sender_ip_addr(uint32_t new_snd_ip_addr) {
|
||||
this->_arp.ar_sip = new_snd_ip_addr;
|
||||
}
|
||||
|
||||
void Tins::ARP::target_hw_addr(uint8_t* new_tgt_hw_addr) {
|
||||
memcpy(this->_arp.ar_tha, new_tgt_hw_addr, 6); //Should this use hardware address' length?
|
||||
}
|
||||
|
||||
void Tins::ARP::target_ip_addr(uint32_t new_tgt_ip_addr) {
|
||||
this->_arp.ar_tip = new_tgt_ip_addr;
|
||||
}
|
||||
|
||||
void Tins::ARP::hw_addr_format(uint16_t new_hw_addr_fmt) {
|
||||
this->_arp.ar_hrd = new_hw_addr_fmt;
|
||||
}
|
||||
|
||||
void Tins::ARP::prot_addr_format(uint16_t new_prot_addr_fmt) {
|
||||
this->_arp.ar_pro = new_prot_addr_fmt;
|
||||
}
|
||||
|
||||
void Tins::ARP::hw_addr_length(uint8_t new_hw_addr_len) {
|
||||
this->_arp.ar_hln = new_hw_addr_len;
|
||||
}
|
||||
|
||||
void Tins::ARP::prot_addr_length(uint8_t new_prot_addr_len) {
|
||||
this->_arp.ar_pln = new_prot_addr_len;
|
||||
}
|
||||
|
||||
void Tins::ARP::opcode(Flags new_opcode) {
|
||||
this->_arp.ar_op = new_opcode;
|
||||
}
|
||||
|
||||
void Tins::ARP::set_arp_request(const string &ip_dst, const string &ip_src, const string &hw_src) {
|
||||
_arp.ar_tip = Utils::resolve_ip(ip_dst);
|
||||
_arp.ar_sip = Utils::resolve_ip(ip_src);
|
||||
|
||||
Reference in New Issue
Block a user