| /* SPDX-License-Identifier: GPL-2.0 */ | |
| /* | |
| * Define struct scx_enums that stores the load-time values of enums | |
| * used by the BPF program. | |
| * | |
| * Copyright (c) 2024 Meta Platforms, Inc. and affiliates. | |
| */ | |
| #ifndef __SCX_ENUMS_H | |
| #define __SCX_ENUMS_H | |
| static inline void __ENUM_set(u64 *val, const char *type, const char *name) | |
| { | |
| bool res; | |
| res = __COMPAT_read_enum(type, name, val); | |
| if (!res) | |
| *val = 0; | |
| } | |
| #define SCX_ENUM_SET(skel, type, name) do { \ | |
| __ENUM_set(&skel->rodata->__##name, #type, #name); \ | |
| } while (0) | |
| #include "enums.autogen.h" | |
| #endif /* __SCX_ENUMS_H */ |