u_char *pkt; pkt = malloc(54); /*.......................*/ destmac = (mac_address *)pkt_data; srcmac = (mac_address *)(pkt_data + 6); /*.......................*/ memcpy( (void *)pkt, (void *)srcmac, 6 ); memcpy( (void *)(pkt + 6), (void *)destmac, 6 ); memcpy( (void *)(pkt + 12), &ip_tos, 2); memcpy( (void *)(pkt + 14), &ip_hd, 20 ); memcpy( (void *)(pkt + 14 + sizeof(ip_hd)), &tcp_hd, 20);