source: ipc.h @ af5764e

Last change on this file since af5764e 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
RevLine 
[0431ea1]1  /********************************************************************\
2  * BitlBee -- An IRC to other IM-networks gateway                     *
3  *                                                                    *
[3709301]4  * Copyright 2002-2010 Wilmer van der Gaast and others                *
[0431ea1]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;
[6c2404e]39       
40        char *password;
41       
42        /* For takeovers: */
43        struct bitlbee_child *to_child;
44        int to_fd;
[0431ea1]45};
46
[5424c76]47
[ba9edaa]48gboolean ipc_master_read( gpointer data, gint source, b_input_condition cond );
49gboolean ipc_child_read( gpointer data, gint source, b_input_condition cond );
[2face62]50
51void ipc_master_free_one( struct bitlbee_child *child );
[171ef85]52void ipc_master_free_fd( int fd );
[2face62]53void ipc_master_free_all();
54
[171ef85]55void ipc_child_disable();
56
[f1c2b21]57gboolean ipc_child_identify( irc_t *irc );
58
[2face62]59void ipc_to_master( char **cmd );
[a9ca7dd]60void ipc_to_master_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
[2face62]61void ipc_to_children( char **cmd );
[a9ca7dd]62void ipc_to_children_str( char *format, ... ) G_GNUC_PRINTF( 1, 2 );
[2face62]63
[5424c76]64/* We need this function in inetd mode, so let's just make it non-static. */
[f73b969]65void ipc_master_cmd_rehash( irc_t *data, char **cmd );
[5424c76]66
[54879ab]67char *ipc_master_save_state();
[cd63d58]68int ipc_master_load_state( char *statefile );
[6dff9d4]69int ipc_master_listen_socket();
[5424c76]70
[0431ea1]71extern GSList *child_list;
Note: See TracBrowser for help on using the repository browser.