home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / winsock / nwlink / testlib / geterror.c < prev    next >
C/C++ Source or Header  |  1997-10-05  |  2KB  |  68 lines

  1. /****************************************************************************\
  2. *  geterror.c -- sample program demonstrating NWLink.
  3. *
  4. *       Original code from Micro Computer Systems, Inc.
  5. *       Copyright(c) 1992  All Rights Reserved.
  6. *       Microsoft Developer Support
  7. *       Copyright (c) 1992-1997 Microsoft Corporation
  8. *
  9. *  Demonstrates basic sockets programming with the Windows Sockets API
  10. *  using the NWLink transport.
  11. ****************************************************************************/
  12. #include <windows.h>
  13. #include <stdio.h>
  14. #include "externs.h"
  15.  
  16. #define WSAERRGAP1 28
  17. #define WSAERRGAP2 19
  18.  
  19. extern ERROR_STRUCT errlist[];
  20.  
  21. /****************************************************************************
  22. *
  23. *    FUNCTION:  get_error_text( int error )
  24. *
  25. *    PURPOSE:   Gets the text string explaining the error number passed in.
  26. *               If the error number is 0, or is not found, a respective
  27. *                message is returned.
  28. *
  29. *    ARGUMENTS:    int    error number to look up
  30. *                
  31. *     RETURNS:   LPCSTR    => char string having error message
  32. *                
  33. *\***************************************************************************/
  34. LPCSTR get_error_text(int error)
  35. {
  36.     int search = 0;
  37.  
  38.  
  39.     /*
  40.     *   No error
  41.     */
  42.  
  43.     if (!error)
  44.         return (LPCSTR)msg_no_error;
  45.  
  46.     /* 
  47.     *   Search through our array of error number / string pairs
  48.     *   until we find a matching error number or get to the end
  49.     *   of our list.  If we found a matching error number, 
  50.     *   return a LPSTR to the corresponding string.
  51.     */
  52.  
  53.     while (errlist[search].errstr) {
  54.         if (error == errlist[search].errnum)
  55.             return errlist[search].errstr;
  56.         search++;
  57.     }
  58.  
  59.     /*
  60.     * If we didn't have the error in our list, return unkown 
  61.     */
  62.  
  63.     return (LPCSTR)msg_unknown_error;
  64. }
  65.  
  66.     
  67.