Project

General

Profile

Actions

Optimization #4517

open

cbindgen export the constants from Rust to C, also for macro such as BIT_U8(1), and remove duplicate definitions between rust and C

Added by Philippe Antoine over 3 years ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Effort:
Difficulty:
Label:

Description

So that we do not have 2 definitions on the 2 sides
Which can end up having a different value
cf https://github.com/OISF/suricata/pull/6168

That is the line item_types = ["enums","structs","opaque","functions"] in rust/cbindgen.toml

cbindgen doesn't like our BIT_ macros, maybe there is a work-around, maybe not. In Rust bit flags are often written out like 0b00000001.

This would lead us more to a big super include. Should we care? I noticed I can run cbindgen aginst particular .rs files to make more granular header files which might be something to explore as well...


Related issues 1 (0 open1 closed)

Related to Suricata - Bug #5012: Remove duplicate definition of constants between C and RustClosedActions
Actions #1

Updated by Philippe Antoine over 2 years ago

  • Related to Bug #5012: Remove duplicate definition of constants between C and Rust added
Actions #2

Updated by Philippe Antoine over 1 year ago

Cinstants are exported but APP_LAYER_PARSER_NO_INSPECTION_PAYLOAD defined by a macro is not

Actions #3

Updated by Philippe Antoine over 1 year ago

  • Subject changed from cbindgen export the constants from Rust to C to cbindgen export the constants from Rust to C, also for macro such as BIT_U8(1)
Actions #4

Updated by Philippe Antoine over 1 year ago

  • Subject changed from cbindgen export the constants from Rust to C, also for macro such as BIT_U8(1) to cbindgen export the constants from Rust to C, also for macro such as BIT_U8(1), and remove duplicate definitions between rust and C
Actions #5

Updated by Philippe Antoine over 1 year ago

  • Assignee set to OISF Dev
Actions #6

Updated by Philippe Antoine 5 months ago

I think this optimization can be postponed after 8

Actions

Also available in: Atom PDF