Annotation of mstools/samples/nwlink/testlib/netprint.c, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.