From: Victor Julien Date: Mon, 22 May 2017 19:55:32 +0000 (+0200) Subject: rust: bindings: improve generator script X-Git-Tag: suricata-4.0.0-beta1~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69bf219b3930ff5647a47360b99f51c7257a03a5;p=thirdparty%2Fsuricata.git rust: bindings: improve generator script --- diff --git a/rust/gen-c-headers.py b/rust/gen-c-headers.py index 3d281622d3..8abf3c3299 100755 --- a/rust/gen-c-headers.py +++ b/rust/gen-c-headers.py @@ -46,10 +46,16 @@ template = """/* Copyright (C) 2017 Open Information Security Foundation # Map of Rust types to C types. type_map = { + "bool": "bool", "i8": "int8_t", + "i16" :"int16_t", "i32" :"int32_t", + "i64" :"int64_t", "u8": "uint8_t", + "u16" :"uint16_t", + "u32" :"uint32_t", + "u64" :"uint64_t", "libc::c_void": "void", @@ -63,14 +69,20 @@ type_map = { "libc::uint64_t": "uint64_t", "SuricataContext": "SuricataContext", + "SuricataFileContext": "SuricataFileContext", + "FileContainer": "FileContainer", "core::Flow": "Flow", + "Flow": "Flow", "DNSState": "RSDNSState", "DNSTransaction": "RSDNSTransaction", + "NFS3State": "NFS3State", + "NFS3Transaction": "NFS3Transaction", "JsonT": "json_t", "DetectEngineState": "DetectEngineState", "core::DetectEngineState": "DetectEngineState", "core::AppLayerDecoderEvents": "AppLayerDecoderEvents", "CLuaState": "lua_State", + "Store": "Store", } def convert_type(rs_type): @@ -86,13 +98,16 @@ def convert_type(rs_type): if rtype in type_map: if mod in [ "*mut", + "* mut", "*const", + "* const", "&mut", "&'static mut", ]: return "%s *" % (type_map[rtype]) elif mod in [ - "*mut *const"]: + "*mut *const", + "*mut*const"]: return "%s **" % (type_map[rtype]) else: raise Exception("Unknown modifier '%s' in '%s'." % (