#ifndef I_CHAN
#define I_CHAN

#include "server.h"
#include "window.h"

typedef struct user_struct *user_ptr;
struct user_struct {
  char nick[MAXNICKLEN];
  char chanop;
  user_ptr next;
};

#define C_INVITE    1
#define C_KEY       2
#define C_LIMIT     4
#define C_MODERATED 8
#define C_NOOUTSIDE 16
#define C_PRIVATE   32
#define C_SECRET    64
#define C_TOPIC     128
#define C_OP        256

typedef struct chan_node *chan_ptr;
struct chan_node {
  char str[TOLEN];
  int index;
  win_ptr window;
  int mode;
  char *key;
  int limit;
  user_ptr user_list;
  chan_ptr next;
};

struct chan_header {
  unsigned short iochan;
  unsigned *next;
};

#endif
