linux/tools/testing/selftests/bpf/progs/sample_map_ret0.c
<<
>>
Prefs
   1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
   2#include <linux/bpf.h>
   3#include <bpf/bpf_helpers.h>
   4
   5struct bpf_map_def SEC("maps") htab = {
   6        .type = BPF_MAP_TYPE_HASH,
   7        .key_size = sizeof(__u32),
   8        .value_size = sizeof(long),
   9        .max_entries = 2,
  10};
  11
  12struct bpf_map_def SEC("maps") array = {
  13        .type = BPF_MAP_TYPE_ARRAY,
  14        .key_size = sizeof(__u32),
  15        .value_size = sizeof(long),
  16        .max_entries = 2,
  17};
  18
  19/* Sample program which should always load for testing control paths. */
  20SEC(".text") int func()
  21{
  22        __u64 key64 = 0;
  23        __u32 key = 0;
  24        long *value;
  25
  26        value = bpf_map_lookup_elem(&htab, &key);
  27        if (!value)
  28                return 1;
  29        value = bpf_map_lookup_elem(&array, &key64);
  30        if (!value)
  31                return 1;
  32
  33        return 0;
  34}
  35