Groonga 3.0.9 Source Code Document
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
plugin_in.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 2 -*- */
2 /* Copyright(C) 2010-2013 Brazil
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License version 2.1 as published by the Free Software Foundation.
7 
8  This library is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  Lesser General Public License for more details.
12 
13  You should have received a copy of the GNU Lesser General Public
14  License along with this library; if not, write to the Free Software
15  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 #ifndef GRN_PLUGIN_IN_H
18 #define GRN_PLUGIN_IN_H
19 
20 #ifndef GROONGA_IN_H
21 #include "groonga_in.h"
22 #endif /* GROONGA_IN_H */
23 
24 #ifndef GRN_CTX_H
25 #include "ctx.h"
26 #endif /* GRN_CTX_H */
27 
28 #ifndef GRN_STORE_H
29 #include "store.h"
30 #endif /* GRN_STORE_H */
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #ifdef WIN32
37 typedef HINSTANCE grn_dl;
38 typedef FARPROC grn_dl_symbol;
39 
40 #else
41 typedef void * grn_dl;
42 typedef void * grn_dl_symbol;
43 #endif
44 
45 typedef struct _grn_plugin grn_plugin;
46 
47 struct _grn_plugin {
48  grn_dl dl;
53  int refcount;
54 };
55 
58 grn_id grn_plugin_open(grn_ctx *ctx, const char *filename);
60 grn_id grn_plugin_reference(grn_ctx *ctx, const char *filename);
61 const char *grn_plugin_path(grn_ctx *ctx, grn_id id);
62 char *grn_plugin_find_path(grn_ctx *ctx, const char *name);
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /* GRN_PLUGIN_IN_H */