skip to content
==> 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}