だから私はを使用しようとしてether_aton()
いますstruct ether_addr *
。これを、メンバーを持つ (net/ethernet.h から)
に入れようとしています。私はこれを試しました:struct ether_header *eptr
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];
各オクテットを個別に割り当てる必要がありました。