Message ID | 20211103220845.2676888-2-andrii@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | BPF |
Headers | show |
Series | libbpf: add unified bpf_prog_load() low-level API | expand |
On 11/3/21 6:08 PM, Andrii Nakryiko wrote: > It's confusing that libbpf-provided helper macro doesn't start with > LIBBPF. Also "declare" vs "define" is confusing terminology, I can never > remember and always have to look up previous examples. > > Bypass both issues by renaming DECLARE_LIBBPF_OPTS into a short and > clean LIBBPF_OPTS. To avoid breaking existing code, provide: > > #define DECLARE_LIBBPF_OPTS LIBBPF_OPTS > > in libbpf_legacy.h. We can decide later if we ever want to remove it or > we'll keep it forever because it doesn't add any maintainability burden. > > Signed-off-by: Andrii Nakryiko <andrii@kernel.org> > --- Acked-by: Dave Marchevsky <davemarchevsky@fb.com> > tools/lib/bpf/bpf.h | 1 + > tools/lib/bpf/libbpf_common.h | 2 +- > tools/lib/bpf/libbpf_legacy.h | 1 + > 3 files changed, 3 insertions(+), 1 deletion(-) [...]
diff --git a/tools/lib/bpf/bpf.h b/tools/lib/bpf/bpf.h index 6fffb3cdf39b..f35146c1d9a9 100644 --- a/tools/lib/bpf/bpf.h +++ b/tools/lib/bpf/bpf.h @@ -29,6 +29,7 @@ #include <stdint.h> #include "libbpf_common.h" +#include "libbpf_legacy.h" #ifdef __cplusplus extern "C" { diff --git a/tools/lib/bpf/libbpf_common.h b/tools/lib/bpf/libbpf_common.h index aaa1efbf6f51..0967112b933a 100644 --- a/tools/lib/bpf/libbpf_common.h +++ b/tools/lib/bpf/libbpf_common.h @@ -54,7 +54,7 @@ * including any extra padding, it with memset() and then assigns initial * values provided by users in struct initializer-syntax as varargs. */ -#define DECLARE_LIBBPF_OPTS(TYPE, NAME, ...) \ +#define LIBBPF_OPTS(TYPE, NAME, ...) \ struct TYPE NAME = ({ \ memset(&NAME, 0, sizeof(struct TYPE)); \ (struct TYPE) { \ diff --git a/tools/lib/bpf/libbpf_legacy.h b/tools/lib/bpf/libbpf_legacy.h index 5ba5c9beccfa..bb03c568af7b 100644 --- a/tools/lib/bpf/libbpf_legacy.h +++ b/tools/lib/bpf/libbpf_legacy.h @@ -69,6 +69,7 @@ enum libbpf_strict_mode { LIBBPF_API int libbpf_set_strict_mode(enum libbpf_strict_mode mode); +#define DECLARE_LIBBPF_OPTS LIBBPF_OPTS #ifdef __cplusplus } /* extern "C" */
It's confusing that libbpf-provided helper macro doesn't start with LIBBPF. Also "declare" vs "define" is confusing terminology, I can never remember and always have to look up previous examples. Bypass both issues by renaming DECLARE_LIBBPF_OPTS into a short and clean LIBBPF_OPTS. To avoid breaking existing code, provide: #define DECLARE_LIBBPF_OPTS LIBBPF_OPTS in libbpf_legacy.h. We can decide later if we ever want to remove it or we'll keep it forever because it doesn't add any maintainability burden. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> --- tools/lib/bpf/bpf.h | 1 + tools/lib/bpf/libbpf_common.h | 2 +- tools/lib/bpf/libbpf_legacy.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-)