1432
|
1 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
2 #ifndef _SOCKETMANAGER_H
|
|
3 #define _SOCKETMANAGER_H
|
|
4
|
|
5 #ifdef HAVE_CONFIG_H
|
|
6 #include <config.h>
|
|
7 #endif
|
|
8
|
|
9 #include <sys/types.h>
|
|
10 #include <sys/socket.h>
|
|
11
|
|
12 #include "icq.h"
|
|
13 #include "list.h"
|
|
14
|
|
15 typedef struct icq_Socket_s icq_Socket;
|
|
16 typedef void (*icq_SocketHandler)(void *data);
|
|
17
|
|
18 struct icq_Socket_s
|
|
19 {
|
|
20 int socket;
|
|
21
|
|
22 icq_SocketHandler handlers[ICQ_SOCKET_MAX];
|
|
23 void *data[ICQ_SOCKET_MAX];
|
|
24 };
|
|
25
|
|
26 int icq_SocketNew(int domain, int type, int protocol);
|
|
27 int icq_SocketAccept(int listens, struct sockaddr *addr, socklen_t *addrlen);
|
|
28 void icq_SocketAlloc(int s);
|
|
29 int icq_SocketDelete(int socket);
|
|
30 void icq_SocketSetHandler(int socket, int type, icq_SocketHandler handler,
|
|
31 void *data);
|
|
32 void icq_SocketReady(icq_Socket *s, int type);
|
|
33 void icq_SocketBuildFdSets(void);
|
|
34 void icq_SocketPoll();
|
|
35 icq_Socket *icq_FindSocket(int socket);
|
|
36
|
|
37 extern list *icq_SocketList;
|
|
38
|
|
39 #endif /* _SOCKETMANAGER_H */
|