udp_gen.c
上传用户:bobuwen
上传日期:2007-01-07
资源大小:10k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /* RAW socket utility routine:
  2.  * 
  3.  * Write out a UDP header.
  4.  * shadows@whitefang.com
  5.  * Thamer Al-Herbish
  6.  */
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9. #include <sys/types.h>
  10. #include <sys/socket.h>
  11. #include <netinet/in.h>
  12. #include <arpa/inet.h>
  13. #include <netinet/in_systm.h>
  14. #include <netinet/udp.h>
  15. #include <unistd.h>
  16. #include <strings.h>
  17. void udp_gen(char *packet,unsigned short sport,
  18.      unsigned short dport,unsigned short length)
  19. {
  20.   struct udphdr *udp;
  21.   
  22.   udp = (struct udphdr *)packet;
  23. #if !defined(LINUX)
  24.   udp->uh_sport = htons(sport);
  25.   udp->uh_dport = htons(dport);
  26.   udp->uh_ulen =  htons(length);
  27.   udp->uh_sum = 0;
  28.   
  29. #else /* LINUX */
  30.   udp->source = htons(sport);
  31.   udp->dest = htons(dport);
  32.   udp->len = htons(length);
  33.   udp->check = 0;
  34. #endif /* LINUX */
  35.   
  36.   return;
  37. }