summaryrefslogtreecommitdiff
path: root/idc.h
blob: c27848c3755818baad2d1de4682cce427132c050 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <sys/select.h>

char *read_line_hack(FILE *fp,int len);
int update_shits();
char *memstr(char *s,char *find,size_t l);
int select_on_everything();

#define CHUNK 4096

struct shit {
  int fd;
  char *backlog;
  int blsize;
  int bllen;
  char buffer[CHUNK];//THIS IS *NOT* NULL TERMINATED.

  char *delim;
  //other stuffs?
//  union {
  void (*line_handler)(struct shit *me,char *line);//function pointer to the handler. ???
//    (void *line_handler_fd)(int fd,char *)
//  };//???
  void *extra_info;//extra info that I don't care to name atm
};

struct global {
  int fdmax;
  int shitlen;
  struct shit fds[FD_SETSIZE];
};

int add_fd(int fd,void (*line_handler)(struct shit *,char *));