==> tests/constants.c <==1/* Every constant of @ajax/mesh-abi-host-nics equals the Rust's (values printed by the Rust itself), and the
2 * Rust const asserts that need a function call hold. Generated from alpha-rust-mesh. */
3#include "mesh/abi/host_nics.h"
4#include "mesh/check.h"
5
6#include <stdint.h>
7#include <string.h>
8
9int main(void) {
10 CHECK_U(MESH_S_NICS, UINT64_C(2816));
11 CHECK_U(MESH_NIC_BYTES, UINT64_C(96));
12 CHECK_U(MESH_MAX_NICS, UINT64_C(8));
13 CHECK_U(MESH_NI_NAME, UINT64_C(0));
14 CHECK_U(MESH_NI_RX_BYTES, UINT64_C(16));
15 CHECK_U(MESH_NI_TX_BYTES, UINT64_C(24));
16 CHECK_U(MESH_NI_RX_PACKETS, UINT64_C(32));
17 CHECK_U(MESH_NI_TX_PACKETS, UINT64_C(40));
18 CHECK_U(MESH_NI_RX_ERRS, UINT64_C(48));
19 CHECK_U(MESH_NI_TX_ERRS, UINT64_C(56));
20 CHECK_U(MESH_NI_RX_DROP, UINT64_C(64));
21 CHECK_U(MESH_NI_TX_DROP, UINT64_C(72));
22 CHECK_U(MESH_NI_LINKS, UINT64_C(80));
23 CHECK_U(MESH_NI_COUNT, UINT64_C(84));
24 CHECK_U(MESH_NET_VIRTUAL_LEN, 16);
25 CHECK_S(MESH_NET_VIRTUAL[0], "lo");
26 CHECK_S(MESH_NET_VIRTUAL[1], "docker");
27 CHECK_S(MESH_NET_VIRTUAL[2], "br-");
28 CHECK_S(MESH_NET_VIRTUAL[3], "bridge");
29 CHECK_S(MESH_NET_VIRTUAL[4], "virbr");
30 CHECK_S(MESH_NET_VIRTUAL[5], "lxdbr");
31 CHECK_S(MESH_NET_VIRTUAL[6], "veth");
32 CHECK_S(MESH_NET_VIRTUAL[7], "cni");
33 CHECK_S(MESH_NET_VIRTUAL[8], "flannel");
34 CHECK_S(MESH_NET_VIRTUAL[9], "vmenet");
35 CHECK_S(MESH_NET_VIRTUAL[10], "tailscale");
36 CHECK_S(MESH_NET_VIRTUAL[11], "utun");
37 CHECK_S(MESH_NET_VIRTUAL[12], "tun");
38 CHECK_S(MESH_NET_VIRTUAL[13], "wg");
39 CHECK_S(MESH_NET_VIRTUAL[14], "gif");
40 CHECK_S(MESH_NET_VIRTUAL[15], "stf");
41 CHECK_U(MESH_NIC_FIELDS_LEN, 11);
42 CHECK_U(MESH_NIC_FIELDS[0].off, UINT64_C(0));
43 CHECK_U(MESH_NIC_FIELDS[0].bytes, UINT64_C(16));
44 CHECK_U(MESH_NIC_FIELDS[1].off, UINT64_C(16));
45 CHECK_U(MESH_NIC_FIELDS[1].bytes, UINT64_C(8));
46 CHECK_U(MESH_NIC_FIELDS[2].off, UINT64_C(24));
47 CHECK_U(MESH_NIC_FIELDS[2].bytes, UINT64_C(8));
48 CHECK_U(MESH_NIC_FIELDS[3].off, UINT64_C(32));
49 CHECK_U(MESH_NIC_FIELDS[3].bytes, UINT64_C(8));
50 CHECK_U(MESH_NIC_FIELDS[4].off, UINT64_C(40));
51 CHECK_U(MESH_NIC_FIELDS[4].bytes, UINT64_C(8));
52 CHECK_U(MESH_NIC_FIELDS[5].off, UINT64_C(48));
53 CHECK_U(MESH_NIC_FIELDS[5].bytes, UINT64_C(8));
54 CHECK_U(MESH_NIC_FIELDS[6].off, UINT64_C(56));
55 CHECK_U(MESH_NIC_FIELDS[6].bytes, UINT64_C(8));
56 CHECK_U(MESH_NIC_FIELDS[7].off, UINT64_C(64));
57 CHECK_U(MESH_NIC_FIELDS[7].bytes, UINT64_C(8));
58 CHECK_U(MESH_NIC_FIELDS[8].off, UINT64_C(72));
59 CHECK_U(MESH_NIC_FIELDS[8].bytes, UINT64_C(8));
60 CHECK_U(MESH_NIC_FIELDS[9].off, UINT64_C(80));
61 CHECK_U(MESH_NIC_FIELDS[9].bytes, UINT64_C(4));
62 CHECK_U(MESH_NIC_FIELDS[10].off, UINT64_C(84));
63 CHECK_U(MESH_NIC_FIELDS[10].bytes, UINT64_C(4));
64 CHECK(mesh_nic_virtual((const uint8_t *)"lo", 2)); /* nic_virtual(b"lo") */
65 CHECK(mesh_nic_virtual((const uint8_t *)"veth12ab", 8)); /* nic_virtual(b"veth12ab") */
66 CHECK(mesh_nic_virtual((const uint8_t *)"br-8c53", 7)); /* nic_virtual(b"br-8c53") */
67 CHECK(!mesh_nic_virtual((const uint8_t *)"enP7s7", 6)); /* !nic_virtual(b"enP7s7") */
68 CHECK(!mesh_nic_virtual((const uint8_t *)"en0", 3)); /* !nic_virtual(b"en0") */
69 CHECK(!mesh_nic_virtual((const uint8_t *)"l", 1)); /* !nic_virtual(b"l") */
70 CHECK(mesh_nic_virtual((const uint8_t *)"stf0", 4)); /* nic_virtual(b"stf0") */
71 return mesh_check_done();
72}