adguard-flm-ffi

Crates.ioadguard-flm-ffi
lib.rsadguard-flm-ffi
version2.1.0
created_at2024-08-28 14:02:59.463656+00
updated_at2025-09-09 15:34:13.57496+00
descriptionForeign function interface crate for filter list manager library
homepagehttps://adguard.com
repositoryhttps://github.com/AdguardTeam/FilterListManager
max_upload_size
id1354689
size4,910,876
(adguard)

documentation

README

FFI for AdGuard FLM

This crate is a set of bindings over filter-list-manager and build configurations for FFI bindings to interface with other programming languages.

FFI transport are implemented as C language interface (outer side) using protocol buffers for serialisation. On rust side (inner side) there is a dispatcher that passes the FFI function call to foreign language.

How to build

Re-generate protobuf and headers

You may need regenerate protobuf files for rust and flm_native_interface.h header:
cargo run -p ffi-native-assets-generator.
It's better run this operation from the workspace root.

Build library

cargo run -p adguard-flm-ffi from workspace root

Platforms

Apple Readme
Windows Readme

FFI-specific symbols

Look at these symbols for better understanding FFI interface.

Library facade

You can check rust facade here for library functions signatures.

Models

Source

Errors

OuterError - flattened enum from adguard_flm::FLMError.
Source

Commit count: 402

cargo fmt