int main()
{
....
void* recv_buf;
recv_buf = init_buf();
int recvbytes;
recvbytes = recv(sockfd, recv_buf, MAX_SIZE, 0);
struct ofp10_packet_in* of10_msg;
struct ofp_packet_in* of_pi;
of10_msg = obtain_recv_msg(of10_msg, recv_buf, &of_pi);
void* data = (void*)malloc(12);
memcpy(data, (void*)of10_msg+8, 12);
struct ofp_packet_in* of_pi_1;
of_pi_1 = (struct ofp_packet_in*)data;
.....
}
void*
init_buf(void)
{
void* buf;
buf = (void*)malloc(MAX_SIZE);
if( buf == NULL )
return 1;
memset(buf, 0, MAX_SIZE);
return buf;
}
struct ofp10_packet_in*
obtain_recv_msg(void* msg, void* buf, struct ofp_packet_in* ofp_pi)
{
msg = buf;
struct ofp10_packet_in* tmp;
tmp = (struct ofp10_packet_in*)msg;
size_t len = tmp->total;
memcpy(tmp, buf, len);
return tmp;
}
memcpy
最新推荐文章于 2024-08-12 15:04:17 发布
