GNUnet 0.21.0
Plugin Struct Reference

Handle for a plugin. More...

Collaboration diagram for Plugin:
[legend]

Data Fields

char * library_name
 Name of the shared library. More...
 
struct GNUNET_BLOCK_PluginFunctionsapi
 Plugin API. More...
 
struct GNUNET_GNSRECORD_PluginFunctionsapi
 Plugin API. More...
 
struct GNUNET_DATACACHE_PluginEnvironmentenv
 Our execution environment. More...
 
struct GNUNET_CONTAINER_MultiHashMapmap
 Our hash map. More...
 
struct GNUNET_CONTAINER_Heapheaps [24]
 Heaps sorted by distance. More...
 
struct GNUNET_PQ_Contextdbh
 Native Postgres database handle. More...
 
unsigned int num_items
 Number of key-value pairs in the database. More...
 
sqlite3 * dbh
 Handle to the sqlite database. More...
 
char * fn
 Filename used for the DB. More...
 
sqlite3_stmt * insert_stmt
 Prepared statement for sqlite_plugin_put. More...
 
sqlite3_stmt * get_count_stmt
 Prepared statement for sqlite_plugin_get. More...
 
sqlite3_stmt * get_count_any_stmt
 Prepared statement for sqlite_plugin_get. More...
 
sqlite3_stmt * get_stmt
 Prepared statement for sqlite_plugin_get. More...
 
sqlite3_stmt * get_any_stmt
 Prepared statement for sqlite_plugin_get. More...
 
sqlite3_stmt * del_select_stmt
 Prepared statement for sqlite_plugin_del. More...
 
sqlite3_stmt * del_expired_stmt
 Prepared statement for sqlite_plugin_del. More...
 
sqlite3_stmt * del_stmt
 Prepared statement for sqlite_plugin_del. More...
 
sqlite3_stmt * get_closest_stmt
 Prepared statement for sqlite_plugin_get_closest. More...
 
struct GNUNET_DATASTORE_PluginEnvironmentenv
 Our execution environment. More...
 
struct GNUNET_CONTAINER_MultiHashMapkeyvalue
 Mapping from keys to 'struct Value's. More...
 
struct GNUNET_CONTAINER_Heapby_expiration
 Heap organized by minimum expiration time. More...
 
struct GNUNET_CONTAINER_Heapby_replication
 Heap organized by maximum replication value. More...
 
struct ZeroAnonByTypezero_head
 Head of list of arrays containing zero-anonymity values by type. More...
 
struct ZeroAnonByTypezero_tail
 Tail of list of arrays containing zero-anonymity values by type. More...
 
unsigned long long size
 Size of all values we're storing. More...
 
sqlite3_stmt * remove
 Precompiled SQL for remove_key. More...
 
sqlite3_stmt * delRow
 Precompiled SQL for deletion. More...
 
sqlite3_stmt * update
 Precompiled SQL for update. More...
 
sqlite3_stmt * maxRepl
 Get maximum repl value in database. More...
 
sqlite3_stmt * updRepl
 Precompiled SQL for replication decrement. More...
 
sqlite3_stmt * selRepl
 Precompiled SQL for replication selection. More...
 
sqlite3_stmt * selExpi
 Precompiled SQL for expiration selection. More...
 
sqlite3_stmt * selZeroAnon
 Precompiled SQL for expiration selection. More...
 
sqlite3_stmt * insertContent
 Precompiled SQL for insertion. More...
 
sqlite3_stmt * get [8]
 Precompiled SQL for selection. More...
 
int drop_on_shutdown
 Should the database be dropped on shutdown? More...
 
const struct GNUNET_CONFIGURATION_Handlecfg
 Our configuration. More...
 
struct GNUNET_CONTAINER_MultiHashMaphm
 HashMap. More...
 
sqlite3_stmt * cache_block
 Precompiled SQL for caching a block. More...
 
sqlite3_stmt * delete_block
 Precompiled SQL for deleting an older block. More...
 
sqlite3_stmt * lookup_block
 Precompiled SQL for looking up a block. More...
 
sqlite3_stmt * expire_blocks
 Precompiled SQL for removing expired blocks. More...
 
bool ready
 Database is prepared and ready. More...
 
sqlite3_stmt * store_records
 Precompiled SQL to store records. More...
 
sqlite3_stmt * delete_records
 Precompiled SQL to deltete existing records. More...
 
sqlite3_stmt * iterate_zone
 Precompiled SQL for iterate records within a zone. More...
 
sqlite3_stmt * iterate_all_zones
 Precompiled SQL for iterate all records within all zones. More...
 
sqlite3_stmt * zone_to_name
 Precompiled SQL to for reverse lookup based on PKEY. More...
 
sqlite3_stmt * lookup_label
 Precompiled SQL to lookup records based on label. More...
 
sqlite3_stmt * editor_hint_clear
 Precompiled SQL to clear editor hint. More...
 
sqlite3_stmt * insert_peerstoredata
 Precompiled SQL for inserting into peerstoredata. More...
 
sqlite3_stmt * select_peerstoredata
 Precompiled SQL for selecting from peerstoredata. More...
 
sqlite3_stmt * select_peerstoredata_by_pid
 Precompiled SQL for selecting from peerstoredata. More...
 
sqlite3_stmt * select_peerstoredata_by_key
 Precompiled SQL for selecting from peerstoredata. More...
 
sqlite3_stmt * select_peerstoredata_by_all
 Precompiled SQL for selecting from peerstoredata. More...
 
sqlite3_stmt * expire_peerstoredata
 Precompiled SQL for deleting expired records from peerstoredata. More...
 
sqlite3_stmt * delete_peerstoredata
 Precompiled SQL for deleting records with given key. More...
 
struct GNUNET_DHTU_Source src
 Our "source" address. More...
 
struct GNUNET_DHTU_PluginEnvironmentenv
 Callbacks into the DHT. More...
 
struct GNUNET_PEERSTORE_Handlepeerstore
 Handle to the PEERSTORE service. More...
 
struct GNUNET_CORE_Handlecore
 Handle to the CORE service. More...
 
struct GNUNET_TRANSPORT_ApplicationHandletransport
 Handle to Transport service. More...
 
struct GNUNET_NSE_Handlense
 Handle to the NSE service. More...
 
struct GNUNET_PEERSTORE_Monitorpeerstore_notify
 Our peerstore notification context. More...
 
struct GNUNET_PeerIdentity my_identity
 Identity of this peer. More...
 
struct GNUNET_CRYPTO_EddsaPrivateKeymy_priv
 Our private key. More...
 
struct GNUNET_DHTU_Sourcesrc_head
 Head of sources where we receive traffic. More...
 
struct GNUNET_DHTU_Sourcesrc_tail
 Tail of sources where we receive traffic. More...
 
struct GNUNET_DHTU_Targetdst_head
 Head of destinations that are active. More...
 
struct GNUNET_DHTU_Targetdst_tail
 Tail of destinations that are active. More...
 
struct GNUNET_CONTAINER_MultiHashMapdsts
 Map from hashes of sockaddrs to targets. More...
 
struct GNUNET_SCHEDULER_Taskscan_task
 Task that scans for IP address changes. More...
 
struct GNUNET_SCHEDULER_Taskread_task
 Task that reads incoming UDP packets. More...
 
char * port
 Port we bind to. More...
 
struct GNUNET_NETWORK_Handlesock
 My UDP socket. More...
 
struct GNUNET_PeerIdentity my_id
 My identity. More...
 
unsigned int scan_generation
 How often have we scanned for IPs? More...
 
uint16_t port16
 Port as a 16-bit value. More...
 
struct GNUNET_RECLAIM_AttributePluginFunctionsapi
 Plugin API. More...
 
struct GNUNET_RECLAIM_CredentialPluginFunctionsapi
 Plugin API. More...
 

Detailed Description

Handle for a plugin.

struct returned by the initialization function of the plugin

Closure for all plugin functions.

Context for all functions in this plugin.

Definition at line 37 of file block.c.

Field Documentation

◆ library_name

char * Plugin::library_name

Name of the shared library.

Name of the plugin.

Definition at line 42 of file block.c.

Referenced by add_plugin().

◆ api [1/4]

◆ api [2/4]

struct GNUNET_GNSRECORD_PluginFunctions* Plugin::api

Plugin API.

Definition at line 50 of file gnsrecord.c.

◆ env [1/3]

struct GNUNET_DHTU_PluginEnvironment * Plugin::env

Our execution environment.

Callbacks into the DHT.

Definition at line 46 of file plugin_datacache_heap.c.

Referenced by httpdomain.httpdomain.HTTPResource::add_target_and_index(), and typescriptdomain.TypeScriptDefinition::run().

◆ map

struct GNUNET_CONTAINER_MultiHashMap* Plugin::map

Our hash map.

Definition at line 51 of file plugin_datacache_heap.c.

◆ heaps

struct GNUNET_CONTAINER_Heap* Plugin::heaps[24]

Heaps sorted by distance.

Definition at line 56 of file plugin_datacache_heap.c.

◆ dbh [1/2]

sqlite3 * Plugin::dbh

Native Postgres database handle.

Native SQLite database handle.

Postgres database handle.

Definition at line 51 of file plugin_datacache_postgres.c.

Referenced by libgnunet_plugin_datacache_sqlite_init().

◆ num_items

unsigned int Plugin::num_items

Number of key-value pairs in the database.

Definition at line 56 of file plugin_datacache_postgres.c.

◆ dbh [2/2]

sqlite3* Plugin::dbh

Handle to the sqlite database.

Native SQLite database handle.

Definition at line 57 of file plugin_datacache_sqlite.c.

◆ fn

char * Plugin::fn

Filename used for the DB.

Database filename.

Definition at line 62 of file plugin_datacache_sqlite.c.

Referenced by libgnunet_plugin_datacache_sqlite_init(), and libgnunet_plugin_datastore_sqlite_done().

◆ insert_stmt

sqlite3_stmt* Plugin::insert_stmt

Prepared statement for sqlite_plugin_put.

Definition at line 67 of file plugin_datacache_sqlite.c.

◆ get_count_stmt

sqlite3_stmt* Plugin::get_count_stmt

Prepared statement for sqlite_plugin_get.

Definition at line 72 of file plugin_datacache_sqlite.c.

◆ get_count_any_stmt

sqlite3_stmt* Plugin::get_count_any_stmt

Prepared statement for sqlite_plugin_get.

Definition at line 77 of file plugin_datacache_sqlite.c.

◆ get_stmt

sqlite3_stmt* Plugin::get_stmt

Prepared statement for sqlite_plugin_get.

Definition at line 82 of file plugin_datacache_sqlite.c.

◆ get_any_stmt

sqlite3_stmt* Plugin::get_any_stmt

Prepared statement for sqlite_plugin_get.

Definition at line 87 of file plugin_datacache_sqlite.c.

◆ del_select_stmt

sqlite3_stmt* Plugin::del_select_stmt

Prepared statement for sqlite_plugin_del.

Definition at line 92 of file plugin_datacache_sqlite.c.

◆ del_expired_stmt

sqlite3_stmt* Plugin::del_expired_stmt

Prepared statement for sqlite_plugin_del.

Definition at line 97 of file plugin_datacache_sqlite.c.

◆ del_stmt

sqlite3_stmt* Plugin::del_stmt

Prepared statement for sqlite_plugin_del.

Definition at line 102 of file plugin_datacache_sqlite.c.

◆ get_closest_stmt

sqlite3_stmt* Plugin::get_closest_stmt

Prepared statement for sqlite_plugin_get_closest.

Definition at line 107 of file plugin_datacache_sqlite.c.

◆ env [2/3]

◆ keyvalue

struct GNUNET_CONTAINER_MultiHashMap* Plugin::keyvalue

Mapping from keys to 'struct Value's.

Definition at line 147 of file plugin_datastore_heap.c.

◆ by_expiration

struct GNUNET_CONTAINER_Heap* Plugin::by_expiration

Heap organized by minimum expiration time.

Definition at line 152 of file plugin_datastore_heap.c.

◆ by_replication

struct GNUNET_CONTAINER_Heap* Plugin::by_replication

Heap organized by maximum replication value.

Definition at line 157 of file plugin_datastore_heap.c.

◆ zero_head

struct ZeroAnonByType* Plugin::zero_head

Head of list of arrays containing zero-anonymity values by type.

Definition at line 162 of file plugin_datastore_heap.c.

◆ zero_tail

struct ZeroAnonByType* Plugin::zero_tail

Tail of list of arrays containing zero-anonymity values by type.

Definition at line 167 of file plugin_datastore_heap.c.

◆ size

unsigned long long Plugin::size

Size of all values we're storing.

Definition at line 172 of file plugin_datastore_heap.c.

◆ remove

sqlite3_stmt* Plugin::remove

Precompiled SQL for remove_key.

Definition at line 118 of file plugin_datastore_sqlite.c.

◆ delRow

sqlite3_stmt* Plugin::delRow

Precompiled SQL for deletion.

Definition at line 123 of file plugin_datastore_sqlite.c.

◆ update

sqlite3_stmt* Plugin::update

Precompiled SQL for update.

Definition at line 128 of file plugin_datastore_sqlite.c.

◆ maxRepl

sqlite3_stmt* Plugin::maxRepl

Get maximum repl value in database.

Definition at line 133 of file plugin_datastore_sqlite.c.

◆ updRepl

sqlite3_stmt* Plugin::updRepl

Precompiled SQL for replication decrement.

Definition at line 138 of file plugin_datastore_sqlite.c.

◆ selRepl

sqlite3_stmt* Plugin::selRepl

Precompiled SQL for replication selection.

Definition at line 143 of file plugin_datastore_sqlite.c.

◆ selExpi

sqlite3_stmt* Plugin::selExpi

Precompiled SQL for expiration selection.

Definition at line 148 of file plugin_datastore_sqlite.c.

◆ selZeroAnon

sqlite3_stmt* Plugin::selZeroAnon

Precompiled SQL for expiration selection.

Definition at line 153 of file plugin_datastore_sqlite.c.

◆ insertContent

sqlite3_stmt* Plugin::insertContent

Precompiled SQL for insertion.

Definition at line 158 of file plugin_datastore_sqlite.c.

◆ get

sqlite3_stmt* Plugin::get[8]

Precompiled SQL for selection.

Definition at line 163 of file plugin_datastore_sqlite.c.

◆ drop_on_shutdown

int Plugin::drop_on_shutdown

Should the database be dropped on shutdown?

Definition at line 168 of file plugin_datastore_sqlite.c.

◆ cfg

const struct GNUNET_CONFIGURATION_Handle * Plugin::cfg

Our configuration.

Configuration handle.

Definition at line 37 of file plugin_namecache_flat.c.

◆ hm

struct GNUNET_CONTAINER_MultiHashMap * Plugin::hm

HashMap.

Definition at line 47 of file plugin_namecache_flat.c.

◆ cache_block

sqlite3_stmt* Plugin::cache_block

Precompiled SQL for caching a block.

Definition at line 83 of file plugin_namecache_sqlite.c.

◆ delete_block

sqlite3_stmt* Plugin::delete_block

Precompiled SQL for deleting an older block.

Definition at line 88 of file plugin_namecache_sqlite.c.

◆ lookup_block

sqlite3_stmt* Plugin::lookup_block

Precompiled SQL for looking up a block.

Definition at line 93 of file plugin_namecache_sqlite.c.

◆ expire_blocks

sqlite3_stmt* Plugin::expire_blocks

Precompiled SQL for removing expired blocks.

Definition at line 98 of file plugin_namecache_sqlite.c.

◆ ready

bool Plugin::ready

Database is prepared and ready.

Statements prepared, we are ready to go if true.

Definition at line 53 of file plugin_namestore_postgres.c.

◆ store_records

sqlite3_stmt* Plugin::store_records

Precompiled SQL to store records.

Definition at line 89 of file plugin_namestore_sqlite.c.

◆ delete_records

sqlite3_stmt* Plugin::delete_records

Precompiled SQL to deltete existing records.

Definition at line 94 of file plugin_namestore_sqlite.c.

◆ iterate_zone

sqlite3_stmt* Plugin::iterate_zone

Precompiled SQL for iterate records within a zone.

Definition at line 99 of file plugin_namestore_sqlite.c.

◆ iterate_all_zones

sqlite3_stmt* Plugin::iterate_all_zones

Precompiled SQL for iterate all records within all zones.

Definition at line 104 of file plugin_namestore_sqlite.c.

◆ zone_to_name

sqlite3_stmt* Plugin::zone_to_name

Precompiled SQL to for reverse lookup based on PKEY.

Definition at line 109 of file plugin_namestore_sqlite.c.

◆ lookup_label

sqlite3_stmt* Plugin::lookup_label

Precompiled SQL to lookup records based on label.

Definition at line 114 of file plugin_namestore_sqlite.c.

◆ editor_hint_clear

sqlite3_stmt* Plugin::editor_hint_clear

Precompiled SQL to clear editor hint.

Definition at line 119 of file plugin_namestore_sqlite.c.

◆ insert_peerstoredata

sqlite3_stmt* Plugin::insert_peerstoredata

Precompiled SQL for inserting into peerstoredata.

Definition at line 86 of file plugin_peerstore_sqlite.c.

◆ select_peerstoredata

sqlite3_stmt* Plugin::select_peerstoredata

Precompiled SQL for selecting from peerstoredata.

Definition at line 91 of file plugin_peerstore_sqlite.c.

◆ select_peerstoredata_by_pid

sqlite3_stmt* Plugin::select_peerstoredata_by_pid

Precompiled SQL for selecting from peerstoredata.

Definition at line 96 of file plugin_peerstore_sqlite.c.

◆ select_peerstoredata_by_key

sqlite3_stmt* Plugin::select_peerstoredata_by_key

Precompiled SQL for selecting from peerstoredata.

Definition at line 101 of file plugin_peerstore_sqlite.c.

◆ select_peerstoredata_by_all

sqlite3_stmt* Plugin::select_peerstoredata_by_all

Precompiled SQL for selecting from peerstoredata.

Definition at line 106 of file plugin_peerstore_sqlite.c.

◆ expire_peerstoredata

sqlite3_stmt* Plugin::expire_peerstoredata

Precompiled SQL for deleting expired records from peerstoredata.

Definition at line 112 of file plugin_peerstore_sqlite.c.

◆ delete_peerstoredata

sqlite3_stmt* Plugin::delete_peerstoredata

Precompiled SQL for deleting records with given key.

Definition at line 118 of file plugin_peerstore_sqlite.c.

◆ src

struct GNUNET_DHTU_Source Plugin::src

Our "source" address.

Traditional CORE API does not tell us which source it is, so they are all identical.

Definition at line 134 of file plugin_dhtu_gnunet.c.

◆ env [3/3]

◆ peerstore

struct GNUNET_PEERSTORE_Handle* Plugin::peerstore

Handle to the PEERSTORE service.

Definition at line 144 of file plugin_dhtu_gnunet.c.

◆ core

struct GNUNET_CORE_Handle* Plugin::core

Handle to the CORE service.

Definition at line 149 of file plugin_dhtu_gnunet.c.

◆ transport

struct GNUNET_TRANSPORT_ApplicationHandle* Plugin::transport

Handle to Transport service.

Definition at line 154 of file plugin_dhtu_gnunet.c.

◆ nse

struct GNUNET_NSE_Handle* Plugin::nse

Handle to the NSE service.

Definition at line 159 of file plugin_dhtu_gnunet.c.

◆ peerstore_notify

struct GNUNET_PEERSTORE_Monitor* Plugin::peerstore_notify

Our peerstore notification context.

We use notification to instantly learn about new peers as they are discovered.

Definition at line 165 of file plugin_dhtu_gnunet.c.

◆ my_identity

struct GNUNET_PeerIdentity Plugin::my_identity

Identity of this peer.

Definition at line 170 of file plugin_dhtu_gnunet.c.

◆ my_priv

struct GNUNET_CRYPTO_EddsaPrivateKey* Plugin::my_priv

Our private key.

Definition at line 175 of file plugin_dhtu_gnunet.c.

◆ src_head

struct GNUNET_DHTU_Source* Plugin::src_head

Head of sources where we receive traffic.

Definition at line 177 of file plugin_dhtu_ip.c.

◆ src_tail

struct GNUNET_DHTU_Source* Plugin::src_tail

Tail of sources where we receive traffic.

Definition at line 182 of file plugin_dhtu_ip.c.

◆ dst_head

struct GNUNET_DHTU_Target* Plugin::dst_head

Head of destinations that are active.

Sorted by last use, with latest used at the head.

Definition at line 188 of file plugin_dhtu_ip.c.

◆ dst_tail

struct GNUNET_DHTU_Target* Plugin::dst_tail

Tail of destinations that are active.

Definition at line 193 of file plugin_dhtu_ip.c.

◆ dsts

struct GNUNET_CONTAINER_MultiHashMap* Plugin::dsts

Map from hashes of sockaddrs to targets.

Definition at line 198 of file plugin_dhtu_ip.c.

◆ scan_task

struct GNUNET_SCHEDULER_Task* Plugin::scan_task

Task that scans for IP address changes.

Definition at line 203 of file plugin_dhtu_ip.c.

◆ read_task

struct GNUNET_SCHEDULER_Task* Plugin::read_task

Task that reads incoming UDP packets.

Definition at line 208 of file plugin_dhtu_ip.c.

◆ port

char* Plugin::port

Port we bind to.

Definition at line 213 of file plugin_dhtu_ip.c.

◆ sock

struct GNUNET_NETWORK_Handle* Plugin::sock

My UDP socket.

Definition at line 218 of file plugin_dhtu_ip.c.

Referenced by DHTU_ip_init().

◆ my_id

struct GNUNET_PeerIdentity Plugin::my_id

My identity.

Definition at line 223 of file plugin_dhtu_ip.c.

◆ scan_generation

unsigned int Plugin::scan_generation

How often have we scanned for IPs?

Definition at line 228 of file plugin_dhtu_ip.c.

◆ port16

uint16_t Plugin::port16

Port as a 16-bit value.

Definition at line 233 of file plugin_dhtu_ip.c.

◆ api [3/4]

Plugin API.

Definition at line 45 of file reclaim_attribute.c.

◆ api [4/4]

Plugin API.

Definition at line 44 of file reclaim_credential.c.


The documentation for this struct was generated from the following files: