#ifndef DEVICES_PRONET_H
#define DEVICES_PRONET_H 1
/*
**  ProNET
**
**  C include file.
**
**  (C) Copyright 1994-1997 Michael Krause
**                          <rawstyle@blackbox.dame.de>
*/

#ifndef EXEC_IO_H
#include "exec/io.h"
#endif

/* Set this bit in Flags for OpenDevice to enable extensive error messages.
*/
#define PNB_ERRORSTRING         0
#define PNF_ERRORSTRING         (1<<PNB_ERRORSTRING)

/* These errors can occur after OpenDevice():
*/
#define PNDERR_PORTEXISTS       -94
#define PNDERR_DRIVERTROUBLE    -96
#define PNDERR_UNIT_NOT_DEFINED -97

/* This error can only occur after CMD_WRITE:
*/
#define PNDERR_DESTINATION_GONE -98

/* The ProNET IO Request:
*/
struct PNRequest {
	struct IORequest pnr_Request;
	APTR pnr_MsgPort;
	UWORD pnr_NetSourcePort;
	UWORD pnr_NetDestPort;
	APTR pnr_Data;
	ULONG pnr_Length;
};

/* You can use this in pnr_NetSourcePort:
*/
#define PNP_NEXTFREE            -2

/*--
---- Following is data for ProNET driver developers
--*/

struct PNDrvData {
   UBYTE ReadSignalBit;
   UBYTE pad0;
   void (*ReadQuery)();
   void (*ReadFlush)();
   void (*Read)();
   void (*Write)();
   void (*Exit)();
};

/* Return codes (magic cookies) for the driver's Init routine:
*/
#define PNDRVERR_NO_MEMORY  0xffffffff /* no memory */
#define PNDRVERR_WRONG_ARGS 0xfffffffe /* wrong .config arguments */

#endif  /* DEVICES_PRONET_H */
