ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/modules.h
(Generate patch)

Comparing:
ircd-hybrid-7.2/include/modules.h (file contents), Revision 329 by michael, Sun Dec 25 10:45:42 2005 UTC vs.
ircd-hybrid/trunk/include/modules.h (file contents), Revision 2923 by michael, Sat Jan 25 21:43:43 2014 UTC

# Line 1 | Line 1
1   /*
2 < *  ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3 < *  modules.h: A header for the modules functions.
2 > *  ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3   *
4 < *  Copyright (C) 2002 by the past and present ircd coders, and others.
4 > *  Copyright (c) 2000-2014 ircd-hybrid development team
5   *
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
# Line 18 | Line 17
17   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
19   *  USA
20 < *
21 < *  $Id$
20 > */
21 >
22 > /*! \file modules.h
23 > * \brief A header for the modules functions.
24 > * \version $Id$
25   */
26  
27   #ifndef INCLUDED_modules_h
28   #define INCLUDED_modules_h
29  
30 < #include "setup.h"
31 < #include "parse.h"
30 > #define MODULE_FLAG_CORE     0x1
31 > #define MODULE_FLAG_NOUNLOAD 0x2
32  
31 #ifdef HAVE_SHL_LOAD
32 #include <dl.h>
33 #endif
34 #if !defined(STATIC_MODULES) && defined(HAVE_DLFCN_H)
35 #include <dlfcn.h>
36 #endif
37
38 #include "ircd_handler.h"
39 #include "msg.h"
40 #include "memory.h"
41
42 #ifndef STATIC_MODULES
33   struct module
34   {
35    dlink_node node;
36    char *name;
37    const char *version;
38    void *handle;
39 <  void *address;
40 <  int core;
41 <  void (*modremove)(void);
39 >  void (*modinit)(void);
40 >  void (*modexit)(void);
41 >  unsigned int flags;
42   };
43  
44   struct module_path
45   {
46    dlink_node node;
47 <  char path[PATH_MAX + 1];
47 >  char path[HYB_PATH_MAX + 1];
48   };
49  
50 + extern dlink_list modules_list;
51 +
52   /* add a path */
53   extern void mod_add_path(const char *);
54   extern void mod_clear_paths(void);
# Line 71 | Line 63 | extern void load_core_modules(int);
63   extern void add_conf_module(const char *);
64   /* load all modules listed in conf */
65   extern void load_conf_modules(void);
74
75 extern void _modinit(void);
76 extern void _moddeinit(void);
77
78 extern int unload_one_module(char *, int);
79 extern int load_one_module(char *, int);
80 extern int load_a_module(char *, int, int);
81 extern dlink_node *findmodule_byname(const char *);
66   extern void modules_init(void);
67  
68 < #else /* STATIC_MODULES */
69 <
70 < extern struct Message accept_msgtab;
71 < extern struct Message admin_msgtab;
72 < extern struct Message away_msgtab;
89 < extern struct Message capab_msgtab;
90 < extern struct Message cburst_msgtab;
91 < #ifdef HAVE_LIBCRYPTO
92 < extern struct Message challenge_msgtab;
93 < extern struct Message cryptlink_msgtab;
94 < #endif
95 < extern struct Message cjoin_msgtab;
96 < extern struct Message close_msgtab;
97 < extern struct Message connect_msgtab;
98 < extern struct Message die_msgtab;
99 < extern struct Message drop_msgtab;
100 < extern struct Message eob_msgtab;
101 < extern struct Message error_msgtab;
102 < extern struct Message etrace_msgtab;
103 < extern struct Message gline_msgtab;
104 < extern struct Message hash_msgtab;
105 < extern struct Message ungline_msgtab;
106 < extern struct Message info_msgtab;
107 < extern struct Message invite_msgtab;
108 < extern struct Message ison_msgtab;
109 < extern struct Message join_msgtab;
110 < extern struct Message kick_msgtab;
111 < extern struct Message kill_msgtab;
112 < extern struct Message kline_msgtab;
113 < extern struct Message unkline_msgtab;
114 < extern struct Message dline_msgtab;
115 < extern struct Message undline_msgtab;
116 < extern struct Message knock_msgtab;
117 < extern struct Message knockll_msgtab;
118 < extern struct Message links_msgtab;
119 < extern struct Message list_msgtab;
120 < extern struct Message lljoin_msgtab;
121 < extern struct Message llnick_msgtab;
122 < extern struct Message locops_msgtab;
123 < extern struct Message lusers_msgtab;
124 < extern struct Message privmsg_msgtab;
125 < extern struct Message notice_msgtab;
126 < extern struct Message map_msgtab;
127 < extern struct Message mode_msgtab;
128 < extern struct Message motd_msgtab;
129 < extern struct Message names_msgtab;
130 < extern struct Message nburst_msgtab;
131 < extern struct Message nick_msgtab;
132 < extern struct Message omotd_msgtab;
133 < extern struct Message oper_msgtab;
134 < extern struct Message operwall_msgtab;
135 < extern struct Message part_msgtab;
136 < extern struct Message pass_msgtab;
137 < extern struct Message ping_msgtab;
138 < extern struct Message pong_msgtab;
139 < extern struct Message post_msgtab;
140 < extern struct Message quit_msgtab;
141 < extern struct Message rehash_msgtab;
142 < extern struct Message restart_msgtab;
143 < extern struct Message resv_msgtab;
144 < extern struct Message rkline_msgtab;
145 < extern struct Message rxline_msgtab;
146 < extern struct Message server_msgtab;
147 < extern struct Message set_msgtab;
148 < extern struct Message sid_msgtab;
149 < extern struct Message sjoin_msgtab;
150 < extern struct Message squit_msgtab;
151 < extern struct Message stats_msgtab;
152 < extern struct Message svinfo_msgtab;
153 < extern struct Message tb_msgtab;
154 < extern struct Message tburst_msgtab;
155 < extern struct Message testline_msgtab;
156 < extern struct Message testgecos_msgtab;
157 < extern struct Message testmask_msgtab;
158 < extern struct Message time_msgtab;
159 < extern struct Message topic_msgtab;
160 < extern struct Message trace_msgtab;
161 < extern struct Message uid_msgtab;
162 < extern struct Message unresv_msgtab;
163 < extern struct Message unxline_msgtab;
164 < extern struct Message user_msgtab;
165 < extern struct Message userhost_msgtab;
166 < extern struct Message users_msgtab;
167 < extern struct Message version_msgtab;
168 < extern struct Message wallops_msgtab;
169 < extern struct Message who_msgtab;
170 < extern struct Message whois_msgtab;
171 < extern struct Message whowas_msgtab;
172 < extern struct Message xline_msgtab;
173 < extern struct Message get_msgtab;
174 < extern struct Message put_msgtab;
175 < extern struct Message rxline_msgtab;
176 < extern struct Message help_msgtab;
177 < extern struct Message uhelp_msgtab;
178 <
179 < #ifdef BUILD_CONTRIB
180 < extern struct Message botserv_msgtab;
181 < extern struct Message capture_msgtab;
182 < extern struct Message chanserv_msgtab;
183 < extern struct Message chghost_msgtab;
184 < extern struct Message chgident_msgtab;
185 < extern struct Message chgname_msgtab;
186 < extern struct Message classlist_msgtab;
187 < extern struct Message clearchan_msgtab;
188 < extern struct Message cs_msgtab;
189 < extern struct Message ctrace_msgtab;
190 < extern struct Message delspoof_msgtab;
191 < extern struct Message flags_msgtab;
192 < extern struct Message forcejoin_msgtab;
193 < extern struct Message forcepart_msgtab;
194 < extern struct Message global_msgtab;
195 < extern struct Message helpserv_msgtab;
196 < extern struct Message hostserv_msgtab;
197 < extern struct Message identify_msgtab;
198 < extern struct Message jupe_msgtab;
199 < extern struct Message killhost_msgtab;
200 < extern struct Message ltrace_msgtab;
201 < extern struct Message memoserv_msgtab;
202 < extern struct Message mkpasswd_msgtab;
203 < extern struct Message ms_msgtab;
204 < extern struct Message nickserv_msgtab;
205 < extern struct Message ns_msgtab;
206 < extern struct Message ojoin_msgtab;
207 < extern struct Message operserv_msgtab;
208 < extern struct Message operspy_msgtab;
209 < extern struct Message opme_msgtab;
210 < extern struct Message os_msgtab;
211 < extern struct Message seenserv_msgtab;
212 < extern struct Message spoof_msgtab;
213 < extern struct Message statserv_msgtab;
214 < extern struct Message svsnick_msgtab;
215 < extern struct Message uncapture_msgtab;
216 < #endif
217 <
218 < extern void load_all_modules(int);
219 <
220 < #endif /* STATIC_MODULES */
68 > extern int unload_one_module(const char *, int);
69 > extern int modules_valid_suffix(const char *);
70 > extern int load_one_module(const char *);
71 > extern int load_a_module(const char *, int);
72 > extern struct module *findmodule_byname(const char *);
73   #endif /* INCLUDED_modules_h */

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)