source: ipc.h @ b74b287

Last change on this file since b74b287 was cd63d58, checked in by Wilmer van der Gaast <wilmer@…>, at 2008-06-29T12:47:39Z

Now using an environment variable instead of a flag to pass state info when
restarting the ForkDaemon. Preparing for a proper fallback when execv()
fails. (Bug #425)

  • Property mode set to 100644
File size: 2.1 KB
Line 
1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
4  * Copyright 2002-2004 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
41
42gboolean ipc_master_read( gpointer data, gint source, b_input_condition cond );
43gboolean ipc_child_read( gpointer data, gint source, b_input_condition cond );
44
45void ipc_master_free_one( struct bitlbee_child *child );
46void ipc_master_free_fd( int fd );
47void ipc_master_free_all();
48
49void ipc_child_disable();
50
51void ipc_to_master( char **cmd );
52void ipc_to_master_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
53void ipc_to_children( char **cmd );
54void ipc_to_children_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
55
56/* We need this function in inetd mode, so let's just make it non-static. */
57void ipc_master_cmd_rehash( irc_t *data, char **cmd );
58
59char *ipc_master_save_state();
60int ipc_master_load_state( char *statefile );
61int ipc_master_listen_socket();
62
63extern GSList *child_list;
Note: See TracBrowser for help on using the repository browser.