OceanBase Plugin Development Kit
OceanBase Plugin Development Kit
载入中...
搜索中...
未找到
deps
oceanbase
src
plugin
include
oceanbase
ob_plugin_base.h
浏览该文件的文档.
1
/*
2
* Copyright (c) 2023 OceanBase
3
* OceanBase is licensed under Mulan PubL v2.
4
* You can use this software according to the terms and conditions of the Mulan PubL v2.
5
* You may obtain a copy of Mulan PubL v2 at:
6
* http://license.coscl.org.cn/MulanPubL-2.0
7
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
* See the Mulan PubL v2 for more details.
11
*/
12
13
#pragma once
14
15
#include <stdint.h>
16
#include <stddef.h>
17
18
#define OBP_PUBLIC_API __attribute__((visibility("default")))
19
20
#ifdef __cplusplus
21
#define OBP_PLUGIN_EXPORT extern "C" OBP_PUBLIC_API
22
#else
// __cplusplus
23
#define OBP_PLUGIN_EXPORT OBP_PUBLIC_API
24
#endif
// __cplusplus
25
26
#define OBP_STRINGIZE_(str) #str
27
#define OBP_STRINGIZE(str) OBP_STRINGIZE_(str)
28
29
#define OBP_DYNAMIC_PLUGIN_NAME_VAR _ob_plugin_name
30
#define OBP_DYNAMIC_PLUGIN_API_VERSION_VAR _ob_plugin_interface_version
31
#define OBP_DYNAMIC_PLUGIN_SIZEOF_VAR _ob_plugin_sizeof
32
#define OBP_DYNAMIC_PLUGIN_PLUGIN_VAR _ob_plugin
33
#define OBP_DYNAMIC_PLUGIN_BUILD_REVISION_VAR _ob_plugin_build_revision
34
#define OBP_DYNAMIC_PLUGIN_BUILD_BRANCH_VAR _ob_plugin_build_branch
35
#define OBP_DYNAMIC_PLUGIN_BUILD_DATE_VAR _ob_plugin_build_date
36
#define OBP_DYNAMIC_PLUGIN_BUILD_TIME_VAR _ob_plugin_build_time
37
38
#define OBP_DYNAMIC_PLUGIN_NAME_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_NAME_VAR)
39
#define OBP_DYNAMIC_PLUGIN_API_VERSION_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_API_VERSION_VAR)
40
#define OBP_DYNAMIC_PLUGIN_SIZEOF_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_SIZEOF_VAR)
41
#define OBP_DYNAMIC_PLUGIN_PLUGIN_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_PLUGIN_VAR)
42
#define OBP_DYNAMIC_PLUGIN_BUILD_REVISION_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_BUILD_REVISION_VAR)
43
#define OBP_DYNAMIC_PLUGIN_BUILD_BRANCH_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_BUILD_BRANCH_VAR)
44
#define OBP_DYNAMIC_PLUGIN_BUILD_DATE_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_BUILD_DATE_VAR)
45
#define OBP_DYNAMIC_PLUGIN_BUILD_TIME_NAME OBP_STRINGIZE(OBP_DYNAMIC_PLUGIN_BUILD_TIME_VAR)
46
47
#define OBP_BUILTIN_PLUGIN_VAR(name) ob_builtin_plugin_##name
48
49
#ifndef BUILD_REVISION
50
#define OBP_BUILD_REVISION ""
51
#else
52
#define OBP_BUILD_REVISION BUILD_REVISION
53
#endif
54
55
#ifndef BUILD_BRANCH
56
#define OBP_BUILD_BRANCH ""
57
#else
58
#define OBP_BUILD_BRANCH BUILD_BRANCH
59
#endif
60
61
#define OBP_BUILD_DATE __DATE__
62
#define OBP_BUILD_TIME __TIME__
63
69
#define OBP_VERSION_FIELD_NUMBER 1000L
70
74
typedef
void
*
ObPluginDatum
;
ObPluginDatum
void * ObPluginDatum
Used for param type
定义
ob_plugin_base.h:74
制作者
1.12.0