WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / bpf / progs / test_endian.c
blobddb687c5d1251e5706641ddfeea9aca3ea089eed
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2020 Facebook */
4 #include "vmlinux.h"
5 #include <bpf/bpf_helpers.h>
6 #include <bpf/bpf_endian.h>
8 #define IN16 0x1234
9 #define IN32 0x12345678U
10 #define IN64 0x123456789abcdef0ULL
12 __u16 in16 = 0;
13 __u32 in32 = 0;
14 __u64 in64 = 0;
16 __u16 out16 = 0;
17 __u32 out32 = 0;
18 __u64 out64 = 0;
20 __u16 const16 = 0;
21 __u32 const32 = 0;
22 __u64 const64 = 0;
24 SEC("raw_tp/sys_enter")
25 int sys_enter(const void *ctx)
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);
34 return 0;
37 char _license[] SEC("license") = "GPL";