File: minimal.c

package info (click to toggle)
golang-github-cilium-ebpf 0.17.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,684 kB
  • sloc: ansic: 1,259; makefile: 127; python: 113; awk: 29; sh: 24
file content (47 lines) | stat: -rw-r--r-- 795 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "../../../testdata/common.h"

char __license[] __section("license") = "MIT";

enum e { HOOPY, FROOD };

typedef long long int longint;

typedef struct {
	longint bar;
	_Bool baz;
	enum e boo;
} barfoo;

typedef struct {
	uint64_t a;
} baz;

struct bar {
	uint64_t a;
	uint32_t b;
};

union ubar {
	uint32_t a;
	uint64_t b;
};

struct {
	__uint(type, BPF_MAP_TYPE_HASH);
	__type(key, enum e);
	__type(value, barfoo);
	__uint(max_entries, 1);
} map1 __section(".maps");

volatile const int an_int;
volatile const enum e my_constant = FROOD;
volatile const int int_array[2];
volatile const barfoo struct_const;
volatile const baz struct_array[2];

volatile struct bar struct_var;
volatile union ubar union_var;

__section("socket") int filter() {
	return my_constant + struct_const.bar;
}