/[svn]/ircd-hybrid-7.2/include/modules.h
ViewVC logotype

Annotation of /ircd-hybrid-7.2/include/modules.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 912 - (hide annotations)
Wed Nov 7 22:47:44 2007 UTC (12 years, 8 months ago) by michael
File MIME type: text/x-csrc
File size: 2031 byte(s)
- Implemented libtool-ltdl. Only shared modules are supported currently
- Several build fixes and cleanups. ircd now builds and runs without any problems
- Added back all files to SVN that are needed to built the daemon
  I really don't want to force other people that want to test the snapshots
  or svn versions to install yyacc, lex, automake, autoconf and libtool...
  No problem having required files in svn
- Removed some automake maintainer stuff which is kinda useless for us

1 adx 30 /*
2     * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3     * modules.h: A header for the modules functions.
4     *
5     * Copyright (C) 2002 by the past and present ircd coders, and others.
6     *
7     * This program is free software; you can redistribute it and/or modify
8     * it under the terms of the GNU General Public License as published by
9     * the Free Software Foundation; either version 2 of the License, or
10     * (at your option) any later version.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20     * USA
21     *
22 knight 31 * $Id$
23 adx 30 */
24    
25     #ifndef INCLUDED_modules_h
26     #define INCLUDED_modules_h
27    
28 michael 912 #include "config.h"
29 adx 30 #include "parse.h"
30    
31     #include "ircd_handler.h"
32     #include "msg.h"
33     #include "memory.h"
34    
35     struct module
36     {
37     dlink_node node;
38     char *name;
39     const char *version;
40 michael 255 void *handle;
41 adx 30 int core;
42     void (*modremove)(void);
43     };
44    
45     struct module_path
46     {
47     dlink_node node;
48     char path[PATH_MAX + 1];
49     };
50    
51     /* add a path */
52     extern void mod_add_path(const char *);
53     extern void mod_clear_paths(void);
54    
55     /* load all modules */
56     extern void load_all_modules(int);
57    
58     /* load core modules */
59     extern void load_core_modules(int);
60    
61     /* Add this module to list of modules to be loaded from conf */
62     extern void add_conf_module(const char *);
63     /* load all modules listed in conf */
64     extern void load_conf_modules(void);
65    
66     extern void _modinit(void);
67     extern void _moddeinit(void);
68    
69 michael 912 extern void dynlink_init(void);
70 adx 30 extern int unload_one_module(char *, int);
71     extern int load_one_module(char *, int);
72     extern int load_a_module(char *, int, int);
73     extern dlink_node *findmodule_byname(const char *);
74     extern void modules_init(void);
75     #endif /* INCLUDED_modules_h */

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28