/* $Id: nio.h,v 3.2 1994/05/14 14:09:43 ppessi Exp $
 *
 * nio.h --- nifty IO definitions
 *
 * Author: ppessi <Pekka.Pessi@hut.fi>
 *
 * Copyright (c) 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
 *                    Helsinki University of Technology, Finland.
 *                    All rights reserved.
 *
 * Created      : Tue May 18 15:05:14 1993 ppessi
 * Last modified: Wed May 11 15:50:13 1994 ppessi
 *
 * $Log: nio.h,v $
 * Revision 3.2  1994/05/14  14:09:43  ppessi
 * Added telnet to IO types
 *
 * Revision 3.1  1994/01/07  22:51:46  ppessi
 * Version 3 beta
 *
 * Revision 2.0  93/11/15  03:33:05  ppessi
 * Version 2 initial revision
 * 
 * Revision 1.4  1993/08/12  06:19:13  jraja
 * Updated the email-address.
 *
 * Revision 1.3  1993/07/12  23:02:09  ppessi
 * Version 2.0 changes.
 *
 * Revision 1.2  93/05/27  03:23:47  ppessi
 * USE_* is moved to the Smakefile
 * 
 * Revision 1.1  93/05/19  17:30:51  ppessi
 * Initial revision
 * 
 */

#ifndef NIFTY_H
#include "nifty.h"
#endif

extern enum iotype { serial, stdio, dnet, rlogin, telnet, } iotype;

/*
 * These are currently same as DNet's
 */
#define NIO_BREAK       1001
#define NIO_FLUSH       1002

#if USE_RLOGIN
/* 
 * Quite a hefty buffer - 
 * we don't want to flush anything before OOB
 */
#define BUFSIZE 16324
#else
#define BUFSIZE 4096
#endif

extern char iobuf[BUFSIZE];

void ninit(enum iotype);

long nopen(char **hostvector);
long nnread(char *buf, long length);
long nwrite(char *buf, long length);
void niosize(ushort, ushort, ushort, ushort);
void nioctl(int code, int arg1, int arg2);
int  nabort(void);
int  nunabort(void);
void nclose(void);
void nioclean(void);
