source: ipc.h @ be98957

Last change on this file since be98957 was 3709301, checked in by Wilmer van der Gaast <wilmer@…>, at 2010-07-14T23:52:11Z

Merging *BSD compatibility fix from Doug Luce (include sys/uio.h even
though the sendmsg() manpage says this isn't necessary).

  • Property mode set to 100644
File size: 2.2 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2010 Wilmer van der Gaast and others                *
5  \********************************************************************/
6
7/* IPC - communication between BitlBee processes                        */
8
9/*
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU General Public License for more details.
19
20  You should have received a copy of the GNU General Public License with
21  the Debian GNU/Linux distribution in /usr/share/common-licenses/GPL;
22  if not, write to the Free Software Foundation, Inc., 59 Temple Place,
23  Suite 330, Boston, MA  02111-1307  USA
24*/
25
26#define BITLBEE_CORE
27#include "bitlbee.h"
28
29
30struct bitlbee_child
31{
32        pid_t pid;
33        int ipc_fd;
34        gint ipc_inpa;
35       
36        char *host;
37        char *nick;
38        char *realname;
39       
40        char *password;
41       
42        /* For takeovers: */
43        struct bitlbee_child *to_child;
44        int to_fd;
45};
46
47
48gboolean ipc_master_read( gpointer data, gint source, b_input_condition cond );
49gboolean ipc_child_read( gpointer data, gint source, b_input_condition cond );
50
51void ipc_master_free_one( struct bitlbee_child *child );
52void ipc_master_free_fd( int fd );
53void ipc_master_free_all();
54
55void ipc_child_disable();
56
57gboolean ipc_child_identify( irc_t *irc );
58
59void ipc_to_master( char **cmd );
60void ipc_to_master_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
61void ipc_to_children( char **cmd );
62void ipc_to_children_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
63
64/* We need this function in inetd mode, so let's just make it non-static. */
65void ipc_master_cmd_rehash( irc_t *data, char **cmd );
66
67char *ipc_master_save_state();
68int ipc_master_load_state( char *statefile );
69int ipc_master_listen_socket();
70
71extern GSList *child_list;
Note: See TracBrowser for help on using the repository browser.