NETPRINT.C
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /****************************************************************************
  2. *  wperror.c -- sample program library demonstrating NWLink.
  3. *
  4. *       Microsoft Developer Support
  5. *       Copyright (c) 1992-1997 Microsoft Corporation
  6. *
  7. *  Demonstrates basic sockets programming with the Windows Sockets API
  8. *  using the NWLink transport.
  9. ****************************************************************************/
  10. #include <stdio.h>
  11. #include <windows.h>
  12. #include <wsipx.h>
  13. /****************************************************************************
  14. *
  15. *    FUNCTION:  print_network_num( char *addrp)
  16. *
  17. *    PURPOSE:   Print out a given network number
  18. *    ARGUMENTS: addrp   Pointer to the network address
  19. *               
  20. *  RETURNS:   nothing.
  21. *
  22. ****************************************************************************/
  23. void print_network_num(char *addrp)
  24. {
  25.     printf("%02X%02X%02X%02X",
  26.         (unsigned char)*addrp,
  27.         (unsigned char)*(addrp + 1),
  28.         (unsigned char)*(addrp + 2),
  29.         (unsigned char)*(addrp + 3));
  30.     return;
  31. }
  32. /****************************************************************************
  33. *
  34. *    FUNCTION:  print_node_num( char *addrp)
  35. *
  36. *    PURPOSE:   Print out a given node number
  37. *    ARGUMENTS: addrp   Pointer to the network address
  38. *               
  39. *  RETURNS:   nothing.
  40. *
  41. ****************************************************************************/
  42. void print_node_num(char *addrp)
  43. {
  44.     printf("%02X%02X%02X%02X%02X%02X",
  45.         (unsigned char)*addrp,
  46.         (unsigned char)*(addrp + 1),
  47.         (unsigned char)*(addrp + 2),
  48.         (unsigned char)*(addrp + 3),
  49.         (unsigned char)*(addrp + 4),
  50.         (unsigned char)*(addrp + 5));
  51.     return;
  52. }
  53. /****************************************************************************
  54. *
  55. *    FUNCTION:  print_socket_num( char *addrp)
  56. *
  57. *    PURPOSE:   Print out a given socket number
  58. *    ARGUMENTS: addrp   Pointer to the network address
  59. *               
  60. *  RETURNS:   nothing.
  61. *
  62. ****************************************************************************/
  63. void print_socket_num(char *addrp)
  64. {
  65.     printf("%02X%02X",
  66.         (unsigned char)*addrp,
  67.         (unsigned char)*(addrp + 1));
  68.     return;
  69. }
  70. /****************************************************************************
  71. *
  72. *    FUNCTION:  print_netaddr( char *addrp, char *prestr, char *poststr)
  73. *
  74. *    PURPOSE:   Print out a given network address
  75. *    ARGUMENTS: addrp   = Ptr to the network address
  76. * prestr  = String to print before addr
  77. * poststr = String to print after addr
  78. *               
  79. *  RETURNS:   nothing.
  80. *
  81. ****************************************************************************/
  82. void print_netaddr(char *addrp, char *prestr, char *poststr)
  83. {
  84.     if (prestr)
  85.         printf(prestr);
  86.     print_network_num(addrp);
  87.     printf(" - ");
  88.     print_node_num(addrp+4);
  89.     printf(" - ");
  90.     print_socket_num(addrp+10);
  91.     if (poststr)
  92.         printf(poststr);
  93.     return;
  94. }
  95. /****************************************************************************
  96. *
  97. *    FUNCTION:  print_saddr( PSOCKADDR_IPX p )
  98. *
  99. *    PURPOSE:   Prints out contents of the SOCKADDR_IPX struct passed in.
  100. *    ARGUMENTS: PSOCKADDR_IPX => SOCKADDR_IPX struct to dump.
  101. *               
  102. *  RETURNS:   nothing.
  103. *
  104. ****************************************************************************/
  105. void print_saddr(PSOCKADDR_IPX p)
  106. {
  107.     printf("address family = %d  address = ", p->sa_family);
  108.     print_netaddr(p->sa_netnum, NULL, NULL);
  109. }
  110.  
  111. /****************************************************************************
  112. *
  113. *    FUNCTION:  print_wsa( LPWSADATA w )
  114. *
  115. *    PURPOSE:   Dumps out the contents of a WSA structure.
  116. *    ARGUMENTS: umps out the contents of a WSA structure.
  117. *               
  118. *  RETURNS:   nothing.
  119. *
  120. ****************************************************************************/
  121. void print_wsa(LPWSADATA w)
  122. {
  123.     printf("  Version =         %ldn", w->wVersion);
  124.     printf("  High Version =    %ldn", w->wHighVersion);
  125.     printf("  Description =     %sn", w->szDescription);
  126.     printf("  System Status =   %sn", w->szSystemStatus);
  127.     printf("  Max sockets =     %dn", w->iMaxSockets);
  128.     printf("  Max UPD dg size = %dn", w->iMaxUdpDg);
  129. }