/* $Id: letnet.h,v 1.7 1994/05/02 19:46:15 jraja Exp $
 *
 * letnet.h --- letnet structures and global variables
 *
 * Author: ppessi <Pekka.Pessi@hut.fi>
 *
 * Copyright © 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
 *                  Helsinki University of Technology, Finland.
 *                  All rights reserved.
 *
 * Created      : Sun May 16 19:54:15 1993 ppessi
 * Last modified: Sun Feb 27 01:02:05 1994 ppessi
 *
 * $Log: letnet.h,v $
 * Revision 1.7  1994/05/02  19:46:15  jraja
 * Removed compiler dependent macro definitions, they are now defined in the
 * sys/cdefs.h.
 *
 * Revision 1.6  1994/02/26  23:02:27  ppessi
 * Updated to amitcp/socketbasetags.h
 *
 * Revision 1.5  1994/02/22  03:29:01  ppessi
 * Added a NetPrintFault() for AmITCP 3
 *
 * Revision 1.4  1993/08/12  09:04:00  jraja
 * Changed email address.
 *
 * Revision 1.3  1993/05/26  23:45:32  ppessi
 * Experiment with pr_ExitCode; some resource allocation bugs fixed.
 *
 * Revision 1.2  1993/05/23  17:57:57  ppessi
 * *** empty log message ***
 *
 * Revision 1.1  93/05/18  00:59:19  ppessi
 * Initial revision
 * 
 */

struct SocketMessage {
  struct Message sm_Msg;
  LONG           sm_id;
  LONG		 sm_retval;	/* non zero errorcode */
};

/* Send and receive buffer lenghts */
#define RECBUFLEN 256
#define SENDBUFLEN 256

LONG do_sender(void);

SAVEDS ASM LONG exitcode(REG(d0) LONG status, REG(d1) LONG exitmessage);

#ifdef AMITCP3
#include <amitcp/socketbasetags.h>
/*
 * Multithreaded version of PrintNetFault
 */
#define PrintNetFault(error, banner) do { \ 
  ULONG __pnf_taglist[3]; \
  __pnf_taglist[0] = SBTM_GETVAL(SBTC_ERRNOSTRPTR); \
  __pnf_taglist[1] = (error); \
  __pnf_taglist[2] = TAG_END; \
  SocketBaseTagList((struct TagItem *)__pnf_taglist); \
  Printf("%s: %s\n", (banner), __pnf_taglist[1]); \
} while(0)

#endif
