// clang-format off
#include <vmlinux.h>
#include <bpf/bpf_helpers.h>
// clang-format on

struct {
  __uint(type, BPF_MAP_TYPE_ARRAY);
  __type(key, __u32);
  __type(value, __u64);
  __uint(max_entries, 1);
} map_1 SEC(".maps");

struct {
  __uint(type, BPF_MAP_TYPE_ARRAY);
  __type(key, __u32);
  __type(value, __u64);
  __uint(max_entries, 1);
} map_2 SEC(".maps");

struct {
  __uint(type, BPF_MAP_TYPE_ARRAY);
  __type(key, __u32);
  __type(value, __u64);
  __uint(max_entries, 1);
  __uint(pinning, LIBBPF_PIN_BY_NAME);
} map_pin_by_name SEC(".maps");

SEC("uprobe")
int bpf_prog(void *ctx) {
  __u32 key = 0;
  __u64 twenty_four = 24;
  __u64 forty_two = 42;
  __u64 forty_four = 44;

  bpf_map_update_elem(&map_1, &key, &twenty_four, BPF_ANY);
  bpf_map_update_elem(&map_2, &key, &forty_two, BPF_ANY);
  bpf_map_update_elem(&map_pin_by_name, &key, &forty_four, BPF_ANY);
  return 0;
}

char _license[] SEC("license") = "GPL";
