ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/modules.h
Revision: 4565
Committed: Sun Aug 24 10:27:40 2014 UTC (11 years ago) by michael
Content type: text/x-chdr
File size: 2078 byte(s)
Log Message:
- Update GPL 2 license headers

File Contents

# User Rev Content
1 adx 30 /*
2 michael 2865 * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3 adx 30 *
4 michael 2865 * Copyright (c) 2000-2014 ircd-hybrid development team
5 adx 30 *
6     * This program is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU General Public License as published by
8     * the Free Software Foundation; either version 2 of the License, or
9     * (at your option) any later version.
10     *
11     * This program is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU General Public License
17     * along with this program; if not, write to the Free Software
18 michael 4565 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19 adx 30 * USA
20     */
21    
22 michael 2865 /*! \file modules.h
23     * \brief A header for the modules functions.
24     * \version $Id$
25     */
26    
27 adx 30 #ifndef INCLUDED_modules_h
28     #define INCLUDED_modules_h
29    
30 michael 3089 enum
31     {
32     MODULE_FLAG_CORE = 1 << 0,
33     MODULE_FLAG_NOUNLOAD = 1 << 1
34     };
35 michael 1230
36 adx 30 struct module
37     {
38     dlink_node node;
39     char *name;
40     const char *version;
41 michael 255 void *handle;
42 michael 1230 void (*modinit)(void);
43     void (*modexit)(void);
44     unsigned int flags;
45 adx 30 };
46    
47     struct module_path
48     {
49     dlink_node node;
50 michael 1737 char path[HYB_PATH_MAX + 1];
51 adx 30 };
52    
53 michael 1447
54 michael 2959 extern dlink_list *modules_get_list(void);
55 adx 30 /* add a path */
56     extern void mod_add_path(const char *);
57     extern void mod_clear_paths(void);
58    
59     /* load all modules */
60     extern void load_all_modules(int);
61    
62     /* load core modules */
63     extern void load_core_modules(int);
64    
65     /* Add this module to list of modules to be loaded from conf */
66     extern void add_conf_module(const char *);
67     /* load all modules listed in conf */
68     extern void load_conf_modules(void);
69 michael 1404 extern void modules_init(void);
70 adx 30
71 michael 978 extern int unload_one_module(const char *, int);
72 michael 943 extern int modules_valid_suffix(const char *);
73 michael 1404 extern int load_one_module(const char *);
74     extern int load_a_module(const char *, int);
75 michael 1230 extern struct module *findmodule_byname(const char *);
76 adx 30 #endif /* INCLUDED_modules_h */

Properties

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