所以我正在尝试使用ether_aton()哪个返回a 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);
Run Code Online (Sandbox Code Playgroud)
这给了我 "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];
Run Code Online (Sandbox Code Playgroud)
只需要分别分配每个八位字节.