1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* Copyright (c) 2020 Facebook */ |
3 | |
4 | #include "vmlinux.h" |
5 | #include <bpf/bpf_helpers.h> |
6 | #include <bpf/bpf_endian.h> |
7 | |
8 | #define IN16 0x1234 |
9 | #define IN32 0x12345678U |
10 | #define IN64 0x123456789abcdef0ULL |
11 | |
12 | __u16 in16 = 0; |
13 | __u32 in32 = 0; |
14 | __u64 in64 = 0; |
15 | |
16 | __u16 out16 = 0; |
17 | __u32 out32 = 0; |
18 | __u64 out64 = 0; |
19 | |
20 | __u16 const16 = 0; |
21 | __u32 const32 = 0; |
22 | __u64 const64 = 0; |
23 | |
24 | SEC("raw_tp/sys_enter" ) |
25 | int sys_enter(const void *ctx) |
26 | { |
27 | out16 = __builtin_bswap16(in16); |
28 | out32 = __builtin_bswap32(in32); |
29 | out64 = __builtin_bswap64(in64); |
30 | const16 = ___bpf_swab16(IN16); |
31 | const32 = ___bpf_swab32(IN32); |
32 | const64 = ___bpf_swab64(IN64); |
33 | |
34 | return 0; |
35 | } |
36 | |
37 | char _license[] SEC("license" ) = "GPL" ; |
38 | |