source: ipc.h @ 47fae0f

Last change on this file since 47fae0f 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
RevLine 
[0431ea1]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
[5424c76]29
[0431ea1]30struct bitlbee_child
31{
32        pid_t pid;
33        int ipc_fd;
34        gint ipc_inpa;
[2face62]35       
36        char *host;
37        char *nick;
38        char *realname;
[0431ea1]39};
40
[5424c76]41
[ba9edaa]42gboolean ipc_master_read( gpointer data, gint source, b_input_condition cond );
43gboolean ipc_child_read( gpointer data, gint source, b_input_condition cond );
[2face62]44
45void ipc_master_free_one( struct bitlbee_child *child );
[171ef85]46void ipc_master_free_fd( int fd );
[2face62]47void ipc_master_free_all();
48
[171ef85]49void ipc_child_disable();
50
[2face62]51void ipc_to_master( char **cmd );
[a9ca7dd]52void ipc_to_master_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
[2face62]53void ipc_to_children( char **cmd );
[a9ca7dd]54void ipc_to_children_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
[2face62]55
[5424c76]56/* We need this function in inetd mode, so let's just make it non-static. */
[f73b969]57void ipc_master_cmd_rehash( irc_t *data, char **cmd );
[5424c76]58
[54879ab]59char *ipc_master_save_state();
[cd63d58]60int ipc_master_load_state( char *statefile );
[6dff9d4]61int ipc_master_listen_socket();
[5424c76]62
[0431ea1]63extern GSList *child_list;
Note: See TracBrowser for help on using the repository browser.