ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-7.2/include/modules.h
Revision: 912
Committed: Wed Nov 7 22:47:44 2007 UTC (16 years, 5 months ago) by michael
Content type: text/x-chdr
File size: 2031 byte(s)
Log Message:
- 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

File Contents

# Content
1 /*
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 * $Id$
23 */
24
25 #ifndef INCLUDED_modules_h
26 #define INCLUDED_modules_h
27
28 #include "config.h"
29 #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 void *handle;
41 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 extern void dynlink_init(void);
70 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