所以我正在尝试使用ether_aton()
它返回一个struct ether_addr *
.
我正在尝试将其放入我的struct ether_header *eptr
(来自 net/ethernet.h)ether_shost
成员。我试过这个:
struct ether_header *eptr; /* net/ethernet.h */
...
(struct ether_addr*)(eptr->ether_shost) = ether_aton(SRC_ETHER_ADDR);
这给了我"Error: lvalue required as left operand of assignment"
我知道我只是没有正确地投射它,但不知道如何。
编辑:
最终得到了它。谢谢你们的帮助。
struct ether_addr* eth_addr = ether_aton(SRC_ETHER_ADDR);
int i;
for(i=0; i<6; i++)
eptr->ether_shost[i] = eth_addr->ether_addr_octet[i];
只需单独分配每个八位位组即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)