|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.