#ifndef _RUSNET_H_
#define _RUSNET_H_

#define RUSNET_DIR_INCOMING 1
#define RUSNET_DIR_OUTGOING 2

#define MAX_CODEPAGE_NAME_LENGTH 16

struct Codepage
{
    int handle;
    int port;
    char id[MAX_CODEPAGE_NAME_LENGTH];
    void *incoming;
    void *outgoing;
   
    struct Codepage *nextptr;
};

int rusnet_getclientport(int);
void rusnet_translate(struct Codepage *, unsigned char, unsigned char *, 
                      int);
unsigned char rusnet_codepage_register(char *, char *, char *, char *);
unsigned char rusnet_codepage_free(void);
struct Codepage *rusnet_getptrbyport(unsigned port);
struct Codepage *rusnet_getptrbyname(char *);

int  rusnet_isvalid(unsigned int);
void rusnet_changecodepage(struct Client *, char *, char *);

void initialize_rusnet(char *);

aChannel *rusnet_isagoodnickname(struct Client *cptr, char *);

void rusnet_add_route(char *, char *, char *);
void rusnet_free_routes(void);
int rusnet_bind_interface_Address(int, struct sockaddr_in *, char *);

#endif


syntax highlighted by Code2HTML, v. 0.9.1