source: trunk/instant_messenger/socket/BKP_20071105/BKP_20071026/BKP_20071019/BKP_20071018/server.h @ 151

Revision 151, 1.7 KB checked in by niltonneto, 16 years ago (diff)

Commit da nova versão do módulo, usando agente em C.
Vide Página do módulo do Trac:
http://www.expressolivre.org/dev/wiki/messenger

A versão anterior encontra-se na subpasta bkp (32/64).

Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include <sys/socket.h>
5#include <arpa/inet.h>
6#include <netdb.h>
7#include <unistd.h>
8#include <signal.h>
9#include <errno.h>
10#include <sys/wait.h>
11#include <sys/stat.h>
12#include <sys/types.h>
13#include <sys/mman.h>
14#include <stdarg.h>
15#include <syslog.h>
16#include <fcntl.h>
17#include <semaphore.h>
18#include <sys/ipc.h>
19#include <sys/shm.h>
20
21// Buffer size, in bytes, used for copying in the Cat() function.
22const size_t BUF_SIZE = 4096;
23
24// Global variables
25char g_program_name[100];       // Initialised from argv[0] in ParseArgs()
26
27
28// structs
29struct client
30{
31        unsigned char * user;
32        unsigned char * key;
33        int jabber;
34        int shmid;
35        struct client * next,
36                                  * previous;
37};
38
39// Typedef for a signal handler function.
40typedef void (* signal_handler_t) (int);
41
42// Prototypes for functions in this file.
43void ParseArgs (int, char **, struct in_addr *, unsigned short *, struct in_addr *, unsigned short *);
44void Initialise (void);
45void sig_child (int);
46int CreateServerSocket (struct in_addr, unsigned short);
47void Daemonise (void);
48void MainLoop (int, struct in_addr, unsigned short);
49void Proxy (int, int, int *);
50int AcceptClientConnection (int);
51int ConnectToServer (struct in_addr, unsigned short);
52void Cat (int, int, int *);
53int NameToAddr (const char *, struct in_addr *);
54int NameToPort (const char *, unsigned short *, const char *);
55#ifdef __GNUC__
56        void quit (const char *, ...) __attribute__ ((format (printf, 1, 2)));
57        void pbomb (const char *, ...) __attribute__ ((format (printf, 1, 2)));
58        void hbomb (const char *, ...) __attribute__ ((format (printf, 1, 2)));
59#else
60        void quit (const char *, ...);
61        void pbomb (const char *, ...);
62        void hbomb (const char *, ...);
63#endif
64void set_signal_handler (int, signal_handler_t);
Note: See TracBrowser for help on using the repository browser.