/*
  File:  proxy_protos.h

  Description:  prototypes for functions used in proxy program. 
*/

#ifndef __PROXY_PROTO_H__
#define __PROXY_PROTO_H__

#include <sys/types.h>
#include <sys/time.h>
#include <sys/event.h>
#include <stdarg.h>
#include "proxy_structs.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */


  /* proxy_init.c */

struct mdata * init_mdata ( char           *l_name,
			    unsigned short  l_port, 
			    char           *s_name, 
			    unsigned short  s_port,
			    char           *log_file,
			    int             verbose );

int   pay_attention       ( struct mdata   *md );

  /* accept_client.c */

void  accept_client       ( struct kevent *, struct mdata * );

  /* read_data.c */

void  read_data        ( struct kevent *, struct mdata * );

  /* write_data.c */

void  write_data       ( struct kevent *, struct mdata * );

  /* close_conneciton.c */

void close_connection ( struct mdata *, int );

  /* proxy_deinit.c */

void  deinit_mdata     ( struct mdata * );
void  chunk_free       ( void *, void * );

  /* proxy_util.c */

void  log_msg          ( struct mdata *md, char *fmt, ... );
void  print_stats      ( struct mdata * );
float diff_timeval     ( struct timeval *t_start, struct timeval *t_finish );


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __PROXY_PROTO_H__ */


syntax highlighted by Code2HTML, v. 0.9.1