blob: 9097626b7c4dcbf2bd11c7d028c5b1ce948d5919 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2022 Google LLC
*/
#ifndef TEST_FUSE__BPF__H
#define TEST_FUSE__BPF__H
#define __EXPORTED_HEADERS__
#define __KERNEL__
#ifdef __ANDROID__
#include <stdint.h>
#endif
#include <uapi/linux/types.h>
#include <uapi/linux/bpf.h>
#include <uapi/linux/android_fuse.h>
#include <uapi/linux/fuse.h>
#include <uapi/linux/errno.h>
#define SEC(NAME) __section(NAME)
struct fuse_bpf_map {
int map_type;
size_t key_size;
size_t value_size;
int max_entries;
};
static void *(*bpf_map_lookup_elem)(struct fuse_bpf_map *map, void *key)
= (void *) 1;
static void *(*bpf_map_update_elem)(struct fuse_bpf_map *map, void *key,
void *value, int flags)
= (void *) 2;
static long (*bpf_trace_printk)(const char *fmt, __u32 fmt_size, ...)
= (void *) 6;
static long (*bpf_get_current_pid_tgid)()
= (void *) 14;
static long (*bpf_get_current_uid_gid)()
= (void *) 15;
#define bpf_printk(fmt, ...) \
({ \
char ____fmt[] = fmt; \
bpf_trace_printk(____fmt, sizeof(____fmt), \
##__VA_ARGS__); \
})
SEC("dummy") inline int strcmp(const char *a, const char *b)
{
int i;
for (i = 0; i < __builtin_strlen(b) + 1; ++i)
if (a[i] != b[i])
return -1;
return 0;
}
#endif