This file is indexed.

/usr/include/elektra/kdbplugin.h is in libelektra-dev 0.8.14-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/***************************************************************************
                kdbplugin.h  -  Methods for plugin programing
                             -------------------
 *  begin                : Wed 19 May, 2010
 *  copyright            : (C) 2010 by Markus Raab
 *  email                : elektra@markus-raab.org
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the BSD License (revised).                      *
 *                                                                         *
 ***************************************************************************/

/*
 * You have to include this file in order to write plugins.
 * You do not need this functions to use elektra otherwise!
 */


#ifndef KDBPLUGIN_H
#define KDBPLUGIN_H

#include <kdb.h>

#define ELEKTRA_SET_ERROR_GET(parentKey) \
	do { \
		if (errno == EACCES) ELEKTRA_SET_ERROR(109, parentKey, strerror(errno)); \
		else  ELEKTRA_SET_ERROR(110, parentKey, strerror(errno)); \
	} while(0)

#define ELEKTRA_SET_ERROR_SET(parentKey) \
	do { \
		if (errno == EACCES) ELEKTRA_SET_ERROR(9, parentKey, strerror(errno)); \
		else  ELEKTRA_SET_ERROR(75, parentKey, strerror(errno)); \
	} while(0)

#define ELEKTRA_QUOTE(x)       #x

#ifdef ELEKTRA_STATIC
	#ifdef ELEKTRA_VARIANT
		#define ELEKTRA_PLUGIN_EXPORT(module) ELEKTRA_PLUGIN_EXPORT2(module, ELEKTRA_VARIANT)
		#define ELEKTRA_PLUGIN_EXPORT2(module, variant) ELEKTRA_PLUGIN_EXPORT3(module, variant)
		#define ELEKTRA_PLUGIN_EXPORT3(module, variant) libelektra_##module##_##variant##_LTX_elektraPluginSymbol(void)
	#else
		#define ELEKTRA_PLUGIN_EXPORT(module) libelektra_##module##_LTX_elektraPluginSymbol(void)
	#endif
#else
        #define ELEKTRA_PLUGIN_EXPORT(module) elektraPluginSymbol(void)
#endif

#ifdef ELEKTRA_VARIANT
	#define ELEKTRA_PLUGIN_FUNCTION(module, function) ELEKTRA_PLUGIN_FUNCTION2(module, ELEKTRA_VARIANT, function)
	#define ELEKTRA_PLUGIN_FUNCTION2(module, variant, function) ELEKTRA_PLUGIN_FUNCTION3(module, variant, function)
	#define ELEKTRA_PLUGIN_FUNCTION3(module, variant, function) libelektra_##module##_##variant##_LTX_elektraPlugin##function
#else
	/**
	 * @brief Declare a plugin's function name suitable for
	 * compilation variants (see doc/tutorials).
	 *
	 * It can be used in the same way as elektraPluginExport().
	 * @see ELEKTRA_PLUGIN_EXPORT
	 *
	 * @ingroup plugin
	 *
	 * @param plugin the name of the plugin
	 * @param which which function it is (open, close, get, set, error)
	 */
	#define ELEKTRA_PLUGIN_FUNCTION(module, function) libelektra_##module##_LTX_elektraPlugin##function
#endif

#ifdef ELEKTRA_VARIANT
	#define ELEKTRA_README(module) ELEKTRA_README2(module, ELEKTRA_VARIANT)
	#define ELEKTRA_README2(module, variant) ELEKTRA_README3(module, variant)
	#define ELEKTRA_README3(module, variant) ELEKTRA_QUOTE(readme_##module##_##variant.c)
#else
	/**
	 * @brief The filename for inclusion of the readme for
	 * compilation variants (see doc/tutorials).
	 *
	 * @ingroup plugin
	 *
	 * @param plugin the name of the plugin
	 */
	#define ELEKTRA_README(module) ELEKTRA_README2(module)
	#define ELEKTRA_README2(module) ELEKTRA_QUOTE(readme_##module.c)
#endif

/**
 * Switches to denote the backend methods. Used in calls to elektraPluginExport().
 *
 * @ingroup backend
 */
typedef enum {
	ELEKTRA_PLUGIN_OPEN=1,		/*!< Next arg is backend for kdbOpen() */
	ELEKTRA_PLUGIN_CLOSE=1<<1,	/*!< Next arg is backend for kdbClose() */
	ELEKTRA_PLUGIN_GET=1<<2,	/*!< Next arg is backend for kdbGet() */
	ELEKTRA_PLUGIN_SET=1<<3,	/*!< Next arg is backend for kdbSet() */
	ELEKTRA_PLUGIN_ERROR=1<<4,	/*!< Next arg is backend for kdbError() */
	ELEKTRA_PLUGIN_END=0		/*!< End of arguments */
} plugin_t;


#ifdef __cplusplus
namespace ckdb {
extern "C" {
#endif

typedef struct _Plugin	Plugin;

Plugin *elektraPluginExport(const char *pluginName, ...);

KeySet *elektraPluginGetConfig(Plugin *handle);
void elektraPluginSetData(Plugin *plugin, void *handle);
void* elektraPluginGetData(Plugin *plugin);


#define PLUGINVERSION "1"


#ifdef __cplusplus
}
}
#endif


#endif