char RCS_ID_SANA2PRINTFAULT_C[] = "$Id: sana2printfault.c,v 1.3 1994/01/12 18:39:33 jasegler Exp jasegler $";
/*
 * sana2printfault.c --- print SANA-II error message
 *
 * Author: ppessi <Pekka.Pessi@hut.fi>
 *
 * Copyright © 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
 *                  Helsinki University of Technology, Finland.
 *                  All rights reserved.
 *
 * Created      : Sat Mar 20 02:10:14 1993 ppessi
 * Last modified: Fri Jun  4 02:20:34 1993 ppessi
 */

#include <devices/sana2.h>
#include <net/sana2errno.h>
#ifdef __SASC
#include <proto/dos.h>
#else
#include <clib/dos_protos.h>
#endif

void
Sana2PrintFault (const char *banner, struct IOSana2Req *ios2)
{
  register WORD err = ios2->ios2_Req.io_Error;
  register ULONG werr = ios2->ios2_WireError;
  LONG args[3];
  char *format;

  args[0] = (LONG) banner;

  if (err >= sana2io_nerr || -err > io_nerr)
    {
      args[1] = (LONG) io_errlist[0];
    }
  else
    {
      if (err < 0)
	args[1] = (LONG) io_errlist[-err];
      else
	args[1] = (LONG) sana2io_errlist[err];
    }
  if (werr == 0 || werr >= sana2wire_nerr)
    {
      format = "%s: %s\n";
    }
  else
    {
      format = "%s: %s (%s)\n";
      args[2] = (LONG) sana2wire_errlist[werr];
    }

  VPrintf (format, args);
}
