18c183110SAndrii Nakryiko // SPDX-License-Identifier: GPL-2.0 28c183110SAndrii Nakryiko /* Copyright (c) 2020 Facebook */ 38c183110SAndrii Nakryiko 48c183110SAndrii Nakryiko #include "vmlinux.h" 58c183110SAndrii Nakryiko #include <bpf/bpf_helpers.h> 68c183110SAndrii Nakryiko #include <bpf/bpf_endian.h> 78c183110SAndrii Nakryiko 88c183110SAndrii Nakryiko #define IN16 0x1234 98c183110SAndrii Nakryiko #define IN32 0x12345678U 108c183110SAndrii Nakryiko #define IN64 0x123456789abcdef0ULL 118c183110SAndrii Nakryiko 128c183110SAndrii Nakryiko __u16 in16 = 0; 138c183110SAndrii Nakryiko __u32 in32 = 0; 148c183110SAndrii Nakryiko __u64 in64 = 0; 158c183110SAndrii Nakryiko 168c183110SAndrii Nakryiko __u16 out16 = 0; 178c183110SAndrii Nakryiko __u32 out32 = 0; 188c183110SAndrii Nakryiko __u64 out64 = 0; 198c183110SAndrii Nakryiko 208c183110SAndrii Nakryiko __u16 const16 = 0; 218c183110SAndrii Nakryiko __u32 const32 = 0; 228c183110SAndrii Nakryiko __u64 const64 = 0; 238c183110SAndrii Nakryiko 248c183110SAndrii Nakryiko SEC("raw_tp/sys_enter") sys_enter(const void * ctx)258c183110SAndrii Nakryikoint sys_enter(const void *ctx) 268c183110SAndrii Nakryiko { 278c183110SAndrii Nakryiko out16 = __builtin_bswap16(in16); 288c183110SAndrii Nakryiko out32 = __builtin_bswap32(in32); 298c183110SAndrii Nakryiko out64 = __builtin_bswap64(in64); 308c183110SAndrii Nakryiko const16 = ___bpf_swab16(IN16); 318c183110SAndrii Nakryiko const32 = ___bpf_swab32(IN32); 328c183110SAndrii Nakryiko const64 = ___bpf_swab64(IN64); 338c183110SAndrii Nakryiko 348c183110SAndrii Nakryiko return 0; 358c183110SAndrii Nakryiko } 368c183110SAndrii Nakryiko 378c183110SAndrii Nakryiko char _license[] SEC("license") = "GPL"; 38