/* $Header: /home/cobweb3/surendar/networks/RCS/proto.h,v 2.2 1993/09/02 23:13:18 surendar Exp $ */

/* \input cnoweb
 * \title $Source: /home/cobweb3/surendar/networks/RCS/proto.h,v $
 * \synopsis{Function prototypes}
 * 
 * Author:	$Author: surendar $
 * 		Dept. of Computer Sciences
 * 		Worcester Polytechnic Institute.
 * Date:	$Date: 1993/09/02 23:13:18 $
 *
 * Copyright (c) 1993 $Author: surendar $
 */

/*
 * $Log: proto.h,v $
 * Revision 2.2  1993/09/02  23:13:18  surendar
 * Latest Version
 *
 * Revision 2.1  1993/01/29  08:09:07  surendar
 * Assignment II release
 *
 * Revision 1.3  1993/01/29  08:06:15  surendar
 * Prepare for assignment II
 *
 * Revision 1.2  1993/01/14  19:07:36  surendar
 * Checked in for Assignment I
 *
 */

#if ! ( defined(__STDC__) || defined(__EXTENSIONS__))
#error "Netcp requires an ANSI C compiler. Please get a ANSI compiler"
#error "like GNU C compiler from prep.ai.mit.edu"
#endif /* __STDC__ || __EXTENSIONS__ */

void dl_process(void);
void hl_process(void);
void _fatal(caddr_t mesg, caddr_t filename, long linenum);
void _nerror(caddr_t mesg, caddr_t filename, long linenum);
void _log(int level, caddr_t mesg, caddr_t filename, long linenum);
void _dump(caddr_t mesg, void *buf, size_t len, caddr_t filename, long
	   linenum);
void delay(float interval);
err_t enqueue(queue_t **cur_queue, void *data, size_t len);
err_t dequeue(queue_t **cur_queue, void **data, size_t *len, long error_rate);
long connect_port(caddr_t name);
long bind_port(caddr_t name);
long listen_port(long sock_fd);
void pl_process(void);
err_t __send(layer_t layer, long fd, void *buf, size_t len);
err_t __recv(layer_t layer, long fd, void **data, size_t *len, long delay_time);
err_t StartTimer(timer_t timer, long delay_time);
err_t StopTimer(timer_t timer);

/* \endc */
