Expand description
C-compatible FFI bindings for geneva-uploader
Structs§
- Encoded
Batches Handle - Opaque handle holding encoded batches
- FfiAccount
Group MapEntry - Maps one final Geneva event name to one logical GCS account group.
- FfiAccount
Group Mapping - FfiLogs
Event Name MapEntry - FFI-safe logs event-name mapping entry.
- FfiLogs
Event Name Mapping - FFI-safe logs event-name mapping config.
- FfiObo
Event Config - FFI-safe OBO event configuration
- FfiObo
Event Map - FFI-safe OBO event map (array of configs)
- FfiSpans
Event Name MapEntry - FFI-safe spans event-name mapping entry.
- FfiSpans
Event Name Mapping - FFI-safe spans event-name mapping config.
- Geneva
Attr ValueC - Tagged attribute value for
GenevaLogRecordC. - Geneva
Cert Auth Config - Configuration for certificate auth (valid only when auth_method == 1)
- Geneva
Client Handle - Opaque handle for GenevaClient
- Geneva
Config - Configuration structure for Geneva client (C-compatible, tagged union)
- Geneva
LogRecordC - A single log record in C-compatible layout for zero-copy ingestion.
- Geneva
User Managed Identity Auth Config - Configuration for User-assigned Managed Identity by client ID (valid only when auth_method == 3)
- Geneva
User Managed Identity ByObject IdAuth Config - Configuration for User-assigned Managed Identity by object ID (valid only when auth_method == 4)
- Geneva
User Managed Identity ByResource IdAuth Config - Configuration for User-assigned Managed Identity by resource ID (valid only when auth_method == 5)
- Geneva
Workload Identity Auth Config - Configuration for Workload Identity auth (valid only when auth_method == 2)
Enums§
- Geneva
Attr Type - Attribute value type tag for
GenevaAttrValueC. - Geneva
Error - Error codes returned by FFI functions TODO: Use cbindgen to auto-generate geneva_errors.h from this enum to eliminate duplication
Functions§
- geneva_
batches_ ⚠free - Frees encoded batches handle
- geneva_
batches_ ⚠len - Returns the number of batches in the encoded batches handle
- geneva_
client_ ⚠free - Safety
- geneva_
client_ ⚠new - Creates a new Geneva client with explicit result semantics (no TLS needed).
- geneva_
encode_ ⚠and_ compress_ log_ records - Encode a flat C array of log records into LZ4-compressed Geneva batches.
- geneva_
encode_ ⚠and_ compress_ spans - Encode and compress spans into batches (synchronous)
- geneva_
upload_ ⚠batch_ sync - Uploads a specific batch synchronously
Type Aliases§
- FfiLogs
Routing KeyKind - FFI-safe logs event-name mapping routing kinds.
- FfiSpans
Routing KeyKind - FFI-safe spans routing kinds.
Unions§
- Geneva
Attr Data - Attribute value data union.
- Geneva
Auth Config