All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.bechberger.ebpf.bpf.raw.Lib_1 Maven / Gradle / Ivy

The newest version!
// Generated by jextract

package me.bechberger.ebpf.bpf.raw;

import java.lang.invoke.*;
import java.lang.foreign.*;
import java.nio.ByteOrder;
import java.util.*;
import java.util.function.*;
import java.util.stream.*;

import static java.lang.foreign.ValueLayout.*;
import static java.lang.foreign.MemoryLayout.PathElement.*;

public class Lib_1 extends Lib_2 {

    Lib_1() {
        // Should not be called directly
    }
    /**
     * {@snippet lang=c :
     * typedef unsigned long __rlim64_t
     * }
     */
    public static final OfLong __rlim64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned int __id_t
     * }
     */
    public static final OfInt __id_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef long __time_t
     * }
     */
    public static final OfLong __time_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned int __useconds_t
     * }
     */
    public static final OfInt __useconds_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef long __suseconds_t
     * }
     */
    public static final OfLong __suseconds_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __suseconds64_t
     * }
     */
    public static final OfLong __suseconds64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef int __daddr_t
     * }
     */
    public static final OfInt __daddr_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef int __key_t
     * }
     */
    public static final OfInt __key_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef int __clockid_t
     * }
     */
    public static final OfInt __clockid_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef void *__timer_t
     * }
     */
    public static final AddressLayout __timer_t = Lib.C_POINTER;
    /**
     * {@snippet lang=c :
     * typedef long __blksize_t
     * }
     */
    public static final OfLong __blksize_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __blkcnt_t
     * }
     */
    public static final OfLong __blkcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __blkcnt64_t
     * }
     */
    public static final OfLong __blkcnt64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __fsblkcnt_t
     * }
     */
    public static final OfLong __fsblkcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __fsblkcnt64_t
     * }
     */
    public static final OfLong __fsblkcnt64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __fsfilcnt_t
     * }
     */
    public static final OfLong __fsfilcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __fsfilcnt64_t
     * }
     */
    public static final OfLong __fsfilcnt64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __fsword_t
     * }
     */
    public static final OfLong __fsword_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __ssize_t
     * }
     */
    public static final OfLong __ssize_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __syscall_slong_t
     * }
     */
    public static final OfLong __syscall_slong_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __syscall_ulong_t
     * }
     */
    public static final OfLong __syscall_ulong_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __off64_t __loff_t
     * }
     */
    public static final OfLong __loff_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef char *__caddr_t
     * }
     */
    public static final AddressLayout __caddr_t = Lib.C_POINTER;
    /**
     * {@snippet lang=c :
     * typedef long __intptr_t
     * }
     */
    public static final OfLong __intptr_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned int __socklen_t
     * }
     */
    public static final OfInt __socklen_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef int __sig_atomic_t
     * }
     */
    public static final OfInt __sig_atomic_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __int8_t int8_t
     * }
     */
    public static final OfByte int8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __int16_t int16_t
     * }
     */
    public static final OfShort int16_t = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __int32_t int32_t
     * }
     */
    public static final OfInt int32_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __int64_t int64_t
     * }
     */
    public static final OfLong int64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __uint8_t uint8_t
     * }
     */
    public static final OfByte uint8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __uint16_t uint16_t
     * }
     */
    public static final OfShort uint16_t = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __uint32_t uint32_t
     * }
     */
    public static final OfInt uint32_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __uint64_t uint64_t
     * }
     */
    public static final OfLong uint64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __int_least8_t int_least8_t
     * }
     */
    public static final OfByte int_least8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __int_least16_t int_least16_t
     * }
     */
    public static final OfShort int_least16_t = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __int_least32_t int_least32_t
     * }
     */
    public static final OfInt int_least32_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __int_least64_t int_least64_t
     * }
     */
    public static final OfLong int_least64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __uint_least8_t uint_least8_t
     * }
     */
    public static final OfByte uint_least8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __uint_least16_t uint_least16_t
     * }
     */
    public static final OfShort uint_least16_t = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __uint_least32_t uint_least32_t
     * }
     */
    public static final OfInt uint_least32_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __uint_least64_t uint_least64_t
     * }
     */
    public static final OfLong uint_least64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef signed char int_fast8_t
     * }
     */
    public static final OfByte int_fast8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef long int_fast16_t
     * }
     */
    public static final OfLong int_fast16_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long int_fast32_t
     * }
     */
    public static final OfLong int_fast32_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long int_fast64_t
     * }
     */
    public static final OfLong int_fast64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned char uint_fast8_t
     * }
     */
    public static final OfByte uint_fast8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef unsigned long uint_fast16_t
     * }
     */
    public static final OfLong uint_fast16_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long uint_fast32_t
     * }
     */
    public static final OfLong uint_fast32_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long uint_fast64_t
     * }
     */
    public static final OfLong uint_fast64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long intptr_t
     * }
     */
    public static final OfLong intptr_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long uintptr_t
     * }
     */
    public static final OfLong uintptr_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __intmax_t intmax_t
     * }
     */
    public static final OfLong intmax_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __uintmax_t uintmax_t
     * }
     */
    public static final OfLong uintmax_t = Lib.C_LONG;

    private static class memcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor memcpy$descriptor() {
        return memcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle memcpy$handle() {
        return memcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment memcpy$address() {
        return memcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment memcpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = memcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memcpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memmove {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memmove");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memmove(void *__dest, const void *__src, size_t __n)
     * }
     */
    public static FunctionDescriptor memmove$descriptor() {
        return memmove.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memmove(void *__dest, const void *__src, size_t __n)
     * }
     */
    public static MethodHandle memmove$handle() {
        return memmove.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memmove(void *__dest, const void *__src, size_t __n)
     * }
     */
    public static MemorySegment memmove$address() {
        return memmove.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memmove(void *__dest, const void *__src, size_t __n)
     * }
     */
    public static MemorySegment memmove(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = memmove.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memmove", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memccpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memccpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memccpy(void *restrict __dest, const void *restrict __src, int __c, size_t __n)
     * }
     */
    public static FunctionDescriptor memccpy$descriptor() {
        return memccpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memccpy(void *restrict __dest, const void *restrict __src, int __c, size_t __n)
     * }
     */
    public static MethodHandle memccpy$handle() {
        return memccpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memccpy(void *restrict __dest, const void *restrict __src, int __c, size_t __n)
     * }
     */
    public static MemorySegment memccpy$address() {
        return memccpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memccpy(void *restrict __dest, const void *restrict __src, int __c, size_t __n)
     * }
     */
    public static MemorySegment memccpy(MemorySegment __dest, MemorySegment __src, int __c, long __n) {
        var mh$ = memccpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memccpy", __dest, __src, __c, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __c, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memset {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memset");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memset(void *__s, int __c, size_t __n)
     * }
     */
    public static FunctionDescriptor memset$descriptor() {
        return memset.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memset(void *__s, int __c, size_t __n)
     * }
     */
    public static MethodHandle memset$handle() {
        return memset.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memset(void *__s, int __c, size_t __n)
     * }
     */
    public static MemorySegment memset$address() {
        return memset.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memset(void *__s, int __c, size_t __n)
     * }
     */
    public static MemorySegment memset(MemorySegment __s, int __c, long __n) {
        var mh$ = memset.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memset", __s, __c, __n);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memcmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memcmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int memcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static FunctionDescriptor memcmp$descriptor() {
        return memcmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int memcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MethodHandle memcmp$handle() {
        return memcmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int memcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MemorySegment memcmp$address() {
        return memcmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int memcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static int memcmp(MemorySegment __s1, MemorySegment __s2, long __n) {
        var mh$ = memcmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memcmp", __s1, __s2, __n);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __memcmpeq {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__memcmpeq");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int __memcmpeq(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static FunctionDescriptor __memcmpeq$descriptor() {
        return __memcmpeq.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int __memcmpeq(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MethodHandle __memcmpeq$handle() {
        return __memcmpeq.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int __memcmpeq(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MemorySegment __memcmpeq$address() {
        return __memcmpeq.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int __memcmpeq(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static int __memcmpeq(MemorySegment __s1, MemorySegment __s2, long __n) {
        var mh$ = __memcmpeq.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__memcmpeq", __s1, __s2, __n);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memchr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memchr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memchr(const void *__s, int __c, size_t __n)
     * }
     */
    public static FunctionDescriptor memchr$descriptor() {
        return memchr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memchr(const void *__s, int __c, size_t __n)
     * }
     */
    public static MethodHandle memchr$handle() {
        return memchr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memchr(const void *__s, int __c, size_t __n)
     * }
     */
    public static MemorySegment memchr$address() {
        return memchr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memchr(const void *__s, int __c, size_t __n)
     * }
     */
    public static MemorySegment memchr(MemorySegment __s, int __c, long __n) {
        var mh$ = memchr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memchr", __s, __c, __n);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static FunctionDescriptor strcpy$descriptor() {
        return strcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MethodHandle strcpy$handle() {
        return strcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment strcpy$address() {
        return strcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment strcpy(MemorySegment __dest, MemorySegment __src) {
        var mh$ = strcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcpy", __dest, __src);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strncpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strncpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor strncpy$descriptor() {
        return strncpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle strncpy$handle() {
        return strncpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strncpy$address() {
        return strncpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strncpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = strncpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strncpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strcat(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static FunctionDescriptor strcat$descriptor() {
        return strcat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strcat(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MethodHandle strcat$handle() {
        return strcat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strcat(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment strcat$address() {
        return strcat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strcat(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment strcat(MemorySegment __dest, MemorySegment __src) {
        var mh$ = strcat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcat", __dest, __src);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strncat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strncat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strncat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor strncat$descriptor() {
        return strncat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strncat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle strncat$handle() {
        return strncat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strncat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strncat$address() {
        return strncat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strncat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strncat(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = strncat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strncat", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strcmp(const char *__s1, const char *__s2)
     * }
     */
    public static FunctionDescriptor strcmp$descriptor() {
        return strcmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strcmp(const char *__s1, const char *__s2)
     * }
     */
    public static MethodHandle strcmp$handle() {
        return strcmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strcmp(const char *__s1, const char *__s2)
     * }
     */
    public static MemorySegment strcmp$address() {
        return strcmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strcmp(const char *__s1, const char *__s2)
     * }
     */
    public static int strcmp(MemorySegment __s1, MemorySegment __s2) {
        var mh$ = strcmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcmp", __s1, __s2);
            }
            return (int)mh$.invokeExact(__s1, __s2);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strncmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strncmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strncmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static FunctionDescriptor strncmp$descriptor() {
        return strncmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strncmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static MethodHandle strncmp$handle() {
        return strncmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strncmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static MemorySegment strncmp$address() {
        return strncmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strncmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static int strncmp(MemorySegment __s1, MemorySegment __s2, long __n) {
        var mh$ = strncmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strncmp", __s1, __s2, __n);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcoll {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcoll");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strcoll(const char *__s1, const char *__s2)
     * }
     */
    public static FunctionDescriptor strcoll$descriptor() {
        return strcoll.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strcoll(const char *__s1, const char *__s2)
     * }
     */
    public static MethodHandle strcoll$handle() {
        return strcoll.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strcoll(const char *__s1, const char *__s2)
     * }
     */
    public static MemorySegment strcoll$address() {
        return strcoll.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strcoll(const char *__s1, const char *__s2)
     * }
     */
    public static int strcoll(MemorySegment __s1, MemorySegment __s2) {
        var mh$ = strcoll.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcoll", __s1, __s2);
            }
            return (int)mh$.invokeExact(__s1, __s2);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strxfrm {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strxfrm");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strxfrm(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor strxfrm$descriptor() {
        return strxfrm.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strxfrm(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle strxfrm$handle() {
        return strxfrm.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strxfrm(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strxfrm$address() {
        return strxfrm.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strxfrm(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static long strxfrm(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = strxfrm.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strxfrm", __dest, __src, __n);
            }
            return (long)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    /**
     * {@snippet lang=c :
     * typedef struct __locale_struct {
     *     struct __locale_data *__locales[13];
     *     const unsigned short *__ctype_b;
     *     const int *__ctype_tolower;
     *     const int *__ctype_toupper;
     *     const char *__names[13];
     * } *__locale_t
     * }
     */
    public static final AddressLayout __locale_t = Lib.C_POINTER;
    /**
     * {@snippet lang=c :
     * typedef __locale_t locale_t
     * }
     */
    public static final AddressLayout locale_t = Lib.C_POINTER;

    private static class strcoll_l {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcoll_l");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strcoll_l(const char *__s1, const char *__s2, locale_t __l)
     * }
     */
    public static FunctionDescriptor strcoll_l$descriptor() {
        return strcoll_l.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strcoll_l(const char *__s1, const char *__s2, locale_t __l)
     * }
     */
    public static MethodHandle strcoll_l$handle() {
        return strcoll_l.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strcoll_l(const char *__s1, const char *__s2, locale_t __l)
     * }
     */
    public static MemorySegment strcoll_l$address() {
        return strcoll_l.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strcoll_l(const char *__s1, const char *__s2, locale_t __l)
     * }
     */
    public static int strcoll_l(MemorySegment __s1, MemorySegment __s2, MemorySegment __l) {
        var mh$ = strcoll_l.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcoll_l", __s1, __s2, __l);
            }
            return (int)mh$.invokeExact(__s1, __s2, __l);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strxfrm_l {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strxfrm_l");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern size_t strxfrm_l(char *__dest, const char *__src, size_t __n, locale_t __l)
     * }
     */
    public static FunctionDescriptor strxfrm_l$descriptor() {
        return strxfrm_l.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern size_t strxfrm_l(char *__dest, const char *__src, size_t __n, locale_t __l)
     * }
     */
    public static MethodHandle strxfrm_l$handle() {
        return strxfrm_l.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern size_t strxfrm_l(char *__dest, const char *__src, size_t __n, locale_t __l)
     * }
     */
    public static MemorySegment strxfrm_l$address() {
        return strxfrm_l.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern size_t strxfrm_l(char *__dest, const char *__src, size_t __n, locale_t __l)
     * }
     */
    public static long strxfrm_l(MemorySegment __dest, MemorySegment __src, long __n, MemorySegment __l) {
        var mh$ = strxfrm_l.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strxfrm_l", __dest, __src, __n, __l);
            }
            return (long)mh$.invokeExact(__dest, __src, __n, __l);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strdup {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strdup");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strdup(const char *__s)
     * }
     */
    public static FunctionDescriptor strdup$descriptor() {
        return strdup.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strdup(const char *__s)
     * }
     */
    public static MethodHandle strdup$handle() {
        return strdup.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strdup(const char *__s)
     * }
     */
    public static MemorySegment strdup$address() {
        return strdup.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strdup(const char *__s)
     * }
     */
    public static MemorySegment strdup(MemorySegment __s) {
        var mh$ = strdup.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strdup", __s);
            }
            return (MemorySegment)mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strndup {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strndup");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strndup(const char *__string, size_t __n)
     * }
     */
    public static FunctionDescriptor strndup$descriptor() {
        return strndup.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strndup(const char *__string, size_t __n)
     * }
     */
    public static MethodHandle strndup$handle() {
        return strndup.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strndup(const char *__string, size_t __n)
     * }
     */
    public static MemorySegment strndup$address() {
        return strndup.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strndup(const char *__string, size_t __n)
     * }
     */
    public static MemorySegment strndup(MemorySegment __string, long __n) {
        var mh$ = strndup.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strndup", __string, __n);
            }
            return (MemorySegment)mh$.invokeExact(__string, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strchr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strchr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strchr(const char *__s, int __c)
     * }
     */
    public static FunctionDescriptor strchr$descriptor() {
        return strchr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strchr(const char *__s, int __c)
     * }
     */
    public static MethodHandle strchr$handle() {
        return strchr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strchr(const char *__s, int __c)
     * }
     */
    public static MemorySegment strchr$address() {
        return strchr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strchr(const char *__s, int __c)
     * }
     */
    public static MemorySegment strchr(MemorySegment __s, int __c) {
        var mh$ = strchr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strchr", __s, __c);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strrchr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strrchr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strrchr(const char *__s, int __c)
     * }
     */
    public static FunctionDescriptor strrchr$descriptor() {
        return strrchr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strrchr(const char *__s, int __c)
     * }
     */
    public static MethodHandle strrchr$handle() {
        return strrchr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strrchr(const char *__s, int __c)
     * }
     */
    public static MemorySegment strrchr$address() {
        return strrchr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strrchr(const char *__s, int __c)
     * }
     */
    public static MemorySegment strrchr(MemorySegment __s, int __c) {
        var mh$ = strrchr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strrchr", __s, __c);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strchrnul {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strchrnul");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strchrnul(const char *__s, int __c)
     * }
     */
    public static FunctionDescriptor strchrnul$descriptor() {
        return strchrnul.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strchrnul(const char *__s, int __c)
     * }
     */
    public static MethodHandle strchrnul$handle() {
        return strchrnul.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strchrnul(const char *__s, int __c)
     * }
     */
    public static MemorySegment strchrnul$address() {
        return strchrnul.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strchrnul(const char *__s, int __c)
     * }
     */
    public static MemorySegment strchrnul(MemorySegment __s, int __c) {
        var mh$ = strchrnul.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strchrnul", __s, __c);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcspn {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcspn");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strcspn(const char *__s, const char *__reject)
     * }
     */
    public static FunctionDescriptor strcspn$descriptor() {
        return strcspn.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strcspn(const char *__s, const char *__reject)
     * }
     */
    public static MethodHandle strcspn$handle() {
        return strcspn.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strcspn(const char *__s, const char *__reject)
     * }
     */
    public static MemorySegment strcspn$address() {
        return strcspn.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strcspn(const char *__s, const char *__reject)
     * }
     */
    public static long strcspn(MemorySegment __s, MemorySegment __reject) {
        var mh$ = strcspn.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcspn", __s, __reject);
            }
            return (long)mh$.invokeExact(__s, __reject);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strspn {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strspn");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strspn(const char *__s, const char *__accept)
     * }
     */
    public static FunctionDescriptor strspn$descriptor() {
        return strspn.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strspn(const char *__s, const char *__accept)
     * }
     */
    public static MethodHandle strspn$handle() {
        return strspn.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strspn(const char *__s, const char *__accept)
     * }
     */
    public static MemorySegment strspn$address() {
        return strspn.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strspn(const char *__s, const char *__accept)
     * }
     */
    public static long strspn(MemorySegment __s, MemorySegment __accept) {
        var mh$ = strspn.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strspn", __s, __accept);
            }
            return (long)mh$.invokeExact(__s, __accept);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strpbrk {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strpbrk");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strpbrk(const char *__s, const char *__accept)
     * }
     */
    public static FunctionDescriptor strpbrk$descriptor() {
        return strpbrk.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strpbrk(const char *__s, const char *__accept)
     * }
     */
    public static MethodHandle strpbrk$handle() {
        return strpbrk.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strpbrk(const char *__s, const char *__accept)
     * }
     */
    public static MemorySegment strpbrk$address() {
        return strpbrk.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strpbrk(const char *__s, const char *__accept)
     * }
     */
    public static MemorySegment strpbrk(MemorySegment __s, MemorySegment __accept) {
        var mh$ = strpbrk.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strpbrk", __s, __accept);
            }
            return (MemorySegment)mh$.invokeExact(__s, __accept);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strstr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strstr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strstr(const char *__haystack, const char *__needle)
     * }
     */
    public static FunctionDescriptor strstr$descriptor() {
        return strstr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strstr(const char *__haystack, const char *__needle)
     * }
     */
    public static MethodHandle strstr$handle() {
        return strstr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strstr(const char *__haystack, const char *__needle)
     * }
     */
    public static MemorySegment strstr$address() {
        return strstr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strstr(const char *__haystack, const char *__needle)
     * }
     */
    public static MemorySegment strstr(MemorySegment __haystack, MemorySegment __needle) {
        var mh$ = strstr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strstr", __haystack, __needle);
            }
            return (MemorySegment)mh$.invokeExact(__haystack, __needle);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strtok {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strtok");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strtok(char *restrict __s, const char *restrict __delim)
     * }
     */
    public static FunctionDescriptor strtok$descriptor() {
        return strtok.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strtok(char *restrict __s, const char *restrict __delim)
     * }
     */
    public static MethodHandle strtok$handle() {
        return strtok.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strtok(char *restrict __s, const char *restrict __delim)
     * }
     */
    public static MemorySegment strtok$address() {
        return strtok.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strtok(char *restrict __s, const char *restrict __delim)
     * }
     */
    public static MemorySegment strtok(MemorySegment __s, MemorySegment __delim) {
        var mh$ = strtok.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strtok", __s, __delim);
            }
            return (MemorySegment)mh$.invokeExact(__s, __delim);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __strtok_r {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__strtok_r");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *__strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static FunctionDescriptor __strtok_r$descriptor() {
        return __strtok_r.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *__strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MethodHandle __strtok_r$handle() {
        return __strtok_r.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *__strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MemorySegment __strtok_r$address() {
        return __strtok_r.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *__strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MemorySegment __strtok_r(MemorySegment __s, MemorySegment __delim, MemorySegment __save_ptr) {
        var mh$ = __strtok_r.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__strtok_r", __s, __delim, __save_ptr);
            }
            return (MemorySegment)mh$.invokeExact(__s, __delim, __save_ptr);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strtok_r {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strtok_r");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static FunctionDescriptor strtok_r$descriptor() {
        return strtok_r.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MethodHandle strtok_r$handle() {
        return strtok_r.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MemorySegment strtok_r$address() {
        return strtok_r.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strtok_r(char *restrict __s, const char *restrict __delim, char **restrict __save_ptr)
     * }
     */
    public static MemorySegment strtok_r(MemorySegment __s, MemorySegment __delim, MemorySegment __save_ptr) {
        var mh$ = strtok_r.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strtok_r", __s, __delim, __save_ptr);
            }
            return (MemorySegment)mh$.invokeExact(__s, __delim, __save_ptr);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcasestr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcasestr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strcasestr(const char *__haystack, const char *__needle)
     * }
     */
    public static FunctionDescriptor strcasestr$descriptor() {
        return strcasestr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strcasestr(const char *__haystack, const char *__needle)
     * }
     */
    public static MethodHandle strcasestr$handle() {
        return strcasestr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strcasestr(const char *__haystack, const char *__needle)
     * }
     */
    public static MemorySegment strcasestr$address() {
        return strcasestr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strcasestr(const char *__haystack, const char *__needle)
     * }
     */
    public static MemorySegment strcasestr(MemorySegment __haystack, MemorySegment __needle) {
        var mh$ = strcasestr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcasestr", __haystack, __needle);
            }
            return (MemorySegment)mh$.invokeExact(__haystack, __needle);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class memmem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("memmem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *memmem(const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen)
     * }
     */
    public static FunctionDescriptor memmem$descriptor() {
        return memmem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *memmem(const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen)
     * }
     */
    public static MethodHandle memmem$handle() {
        return memmem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *memmem(const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen)
     * }
     */
    public static MemorySegment memmem$address() {
        return memmem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *memmem(const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen)
     * }
     */
    public static MemorySegment memmem(MemorySegment __haystack, long __haystacklen, MemorySegment __needle, long __needlelen) {
        var mh$ = memmem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("memmem", __haystack, __haystacklen, __needle, __needlelen);
            }
            return (MemorySegment)mh$.invokeExact(__haystack, __haystacklen, __needle, __needlelen);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __mempcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__mempcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *__mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor __mempcpy$descriptor() {
        return __mempcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *__mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle __mempcpy$handle() {
        return __mempcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *__mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment __mempcpy$address() {
        return __mempcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *__mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment __mempcpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = __mempcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__mempcpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class mempcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("mempcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void *mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor mempcpy$descriptor() {
        return mempcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void *mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle mempcpy$handle() {
        return mempcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void *mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment mempcpy$address() {
        return mempcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void *mempcpy(void *restrict __dest, const void *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment mempcpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = mempcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("mempcpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strlen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strlen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strlen(const char *__s)
     * }
     */
    public static FunctionDescriptor strlen$descriptor() {
        return strlen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strlen(const char *__s)
     * }
     */
    public static MethodHandle strlen$handle() {
        return strlen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strlen(const char *__s)
     * }
     */
    public static MemorySegment strlen$address() {
        return strlen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strlen(const char *__s)
     * }
     */
    public static long strlen(MemorySegment __s) {
        var mh$ = strlen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strlen", __s);
            }
            return (long)mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strnlen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strnlen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern size_t strnlen(const char *__string, size_t __maxlen)
     * }
     */
    public static FunctionDescriptor strnlen$descriptor() {
        return strnlen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern size_t strnlen(const char *__string, size_t __maxlen)
     * }
     */
    public static MethodHandle strnlen$handle() {
        return strnlen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern size_t strnlen(const char *__string, size_t __maxlen)
     * }
     */
    public static MemorySegment strnlen$address() {
        return strnlen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern size_t strnlen(const char *__string, size_t __maxlen)
     * }
     */
    public static long strnlen(MemorySegment __string, long __maxlen) {
        var mh$ = strnlen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strnlen", __string, __maxlen);
            }
            return (long)mh$.invokeExact(__string, __maxlen);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strerror {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strerror");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strerror(int __errnum)
     * }
     */
    public static FunctionDescriptor strerror$descriptor() {
        return strerror.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strerror(int __errnum)
     * }
     */
    public static MethodHandle strerror$handle() {
        return strerror.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strerror(int __errnum)
     * }
     */
    public static MemorySegment strerror$address() {
        return strerror.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strerror(int __errnum)
     * }
     */
    public static MemorySegment strerror(int __errnum) {
        var mh$ = strerror.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strerror", __errnum);
            }
            return (MemorySegment)mh$.invokeExact(__errnum);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strerror_r {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__xpg_strerror_r");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strerror_r(int __errnum, char *__buf, size_t __buflen)
     * }
     */
    public static FunctionDescriptor strerror_r$descriptor() {
        return strerror_r.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strerror_r(int __errnum, char *__buf, size_t __buflen)
     * }
     */
    public static MethodHandle strerror_r$handle() {
        return strerror_r.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strerror_r(int __errnum, char *__buf, size_t __buflen)
     * }
     */
    public static MemorySegment strerror_r$address() {
        return strerror_r.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strerror_r(int __errnum, char *__buf, size_t __buflen)
     * }
     */
    public static int strerror_r(int __errnum, MemorySegment __buf, long __buflen) {
        var mh$ = strerror_r.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strerror_r", __errnum, __buf, __buflen);
            }
            return (int)mh$.invokeExact(__errnum, __buf, __buflen);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strerror_l {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strerror_l");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strerror_l(int __errnum, locale_t __l)
     * }
     */
    public static FunctionDescriptor strerror_l$descriptor() {
        return strerror_l.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strerror_l(int __errnum, locale_t __l)
     * }
     */
    public static MethodHandle strerror_l$handle() {
        return strerror_l.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strerror_l(int __errnum, locale_t __l)
     * }
     */
    public static MemorySegment strerror_l$address() {
        return strerror_l.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strerror_l(int __errnum, locale_t __l)
     * }
     */
    public static MemorySegment strerror_l(int __errnum, MemorySegment __l) {
        var mh$ = strerror_l.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strerror_l", __errnum, __l);
            }
            return (MemorySegment)mh$.invokeExact(__errnum, __l);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bcmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bcmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int bcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static FunctionDescriptor bcmp$descriptor() {
        return bcmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int bcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MethodHandle bcmp$handle() {
        return bcmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int bcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static MemorySegment bcmp$address() {
        return bcmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int bcmp(const void *__s1, const void *__s2, size_t __n)
     * }
     */
    public static int bcmp(MemorySegment __s1, MemorySegment __s2, long __n) {
        var mh$ = bcmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bcmp", __s1, __s2, __n);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bcopy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bcopy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void bcopy(const void *__src, void *__dest, size_t __n)
     * }
     */
    public static FunctionDescriptor bcopy$descriptor() {
        return bcopy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void bcopy(const void *__src, void *__dest, size_t __n)
     * }
     */
    public static MethodHandle bcopy$handle() {
        return bcopy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void bcopy(const void *__src, void *__dest, size_t __n)
     * }
     */
    public static MemorySegment bcopy$address() {
        return bcopy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void bcopy(const void *__src, void *__dest, size_t __n)
     * }
     */
    public static void bcopy(MemorySegment __src, MemorySegment __dest, long __n) {
        var mh$ = bcopy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bcopy", __src, __dest, __n);
            }
            mh$.invokeExact(__src, __dest, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bzero {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bzero");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void bzero(void *__s, size_t __n)
     * }
     */
    public static FunctionDescriptor bzero$descriptor() {
        return bzero.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void bzero(void *__s, size_t __n)
     * }
     */
    public static MethodHandle bzero$handle() {
        return bzero.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void bzero(void *__s, size_t __n)
     * }
     */
    public static MemorySegment bzero$address() {
        return bzero.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void bzero(void *__s, size_t __n)
     * }
     */
    public static void bzero(MemorySegment __s, long __n) {
        var mh$ = bzero.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bzero", __s, __n);
            }
            mh$.invokeExact(__s, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class index {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("index");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *index(const char *__s, int __c)
     * }
     */
    public static FunctionDescriptor index$descriptor() {
        return index.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *index(const char *__s, int __c)
     * }
     */
    public static MethodHandle index$handle() {
        return index.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *index(const char *__s, int __c)
     * }
     */
    public static MemorySegment index$address() {
        return index.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *index(const char *__s, int __c)
     * }
     */
    public static MemorySegment index(MemorySegment __s, int __c) {
        var mh$ = index.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("index", __s, __c);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class rindex {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("rindex");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *rindex(const char *__s, int __c)
     * }
     */
    public static FunctionDescriptor rindex$descriptor() {
        return rindex.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *rindex(const char *__s, int __c)
     * }
     */
    public static MethodHandle rindex$handle() {
        return rindex.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *rindex(const char *__s, int __c)
     * }
     */
    public static MemorySegment rindex$address() {
        return rindex.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *rindex(const char *__s, int __c)
     * }
     */
    public static MemorySegment rindex(MemorySegment __s, int __c) {
        var mh$ = rindex.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("rindex", __s, __c);
            }
            return (MemorySegment)mh$.invokeExact(__s, __c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ffs {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ffs");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ffs(int __i)
     * }
     */
    public static FunctionDescriptor ffs$descriptor() {
        return ffs.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ffs(int __i)
     * }
     */
    public static MethodHandle ffs$handle() {
        return ffs.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ffs(int __i)
     * }
     */
    public static MemorySegment ffs$address() {
        return ffs.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ffs(int __i)
     * }
     */
    public static int ffs(int __i) {
        var mh$ = ffs.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ffs", __i);
            }
            return (int)mh$.invokeExact(__i);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ffsl {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ffsl");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ffsl(long __l)
     * }
     */
    public static FunctionDescriptor ffsl$descriptor() {
        return ffsl.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ffsl(long __l)
     * }
     */
    public static MethodHandle ffsl$handle() {
        return ffsl.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ffsl(long __l)
     * }
     */
    public static MemorySegment ffsl$address() {
        return ffsl.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ffsl(long __l)
     * }
     */
    public static int ffsl(long __l) {
        var mh$ = ffsl.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ffsl", __l);
            }
            return (int)mh$.invokeExact(__l);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ffsll {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ffsll");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ffsll(long long __ll)
     * }
     */
    public static FunctionDescriptor ffsll$descriptor() {
        return ffsll.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ffsll(long long __ll)
     * }
     */
    public static MethodHandle ffsll$handle() {
        return ffsll.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ffsll(long long __ll)
     * }
     */
    public static MemorySegment ffsll$address() {
        return ffsll.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ffsll(long long __ll)
     * }
     */
    public static int ffsll(long __ll) {
        var mh$ = ffsll.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ffsll", __ll);
            }
            return (int)mh$.invokeExact(__ll);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcasecmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcasecmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strcasecmp(const char *__s1, const char *__s2)
     * }
     */
    public static FunctionDescriptor strcasecmp$descriptor() {
        return strcasecmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strcasecmp(const char *__s1, const char *__s2)
     * }
     */
    public static MethodHandle strcasecmp$handle() {
        return strcasecmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strcasecmp(const char *__s1, const char *__s2)
     * }
     */
    public static MemorySegment strcasecmp$address() {
        return strcasecmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strcasecmp(const char *__s1, const char *__s2)
     * }
     */
    public static int strcasecmp(MemorySegment __s1, MemorySegment __s2) {
        var mh$ = strcasecmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcasecmp", __s1, __s2);
            }
            return (int)mh$.invokeExact(__s1, __s2);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strncasecmp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strncasecmp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strncasecmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static FunctionDescriptor strncasecmp$descriptor() {
        return strncasecmp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strncasecmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static MethodHandle strncasecmp$handle() {
        return strncasecmp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strncasecmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static MemorySegment strncasecmp$address() {
        return strncasecmp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strncasecmp(const char *__s1, const char *__s2, size_t __n)
     * }
     */
    public static int strncasecmp(MemorySegment __s1, MemorySegment __s2, long __n) {
        var mh$ = strncasecmp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strncasecmp", __s1, __s2, __n);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strcasecmp_l {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strcasecmp_l");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strcasecmp_l(const char *__s1, const char *__s2, locale_t __loc)
     * }
     */
    public static FunctionDescriptor strcasecmp_l$descriptor() {
        return strcasecmp_l.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strcasecmp_l(const char *__s1, const char *__s2, locale_t __loc)
     * }
     */
    public static MethodHandle strcasecmp_l$handle() {
        return strcasecmp_l.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strcasecmp_l(const char *__s1, const char *__s2, locale_t __loc)
     * }
     */
    public static MemorySegment strcasecmp_l$address() {
        return strcasecmp_l.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strcasecmp_l(const char *__s1, const char *__s2, locale_t __loc)
     * }
     */
    public static int strcasecmp_l(MemorySegment __s1, MemorySegment __s2, MemorySegment __loc) {
        var mh$ = strcasecmp_l.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strcasecmp_l", __s1, __s2, __loc);
            }
            return (int)mh$.invokeExact(__s1, __s2, __loc);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strncasecmp_l {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strncasecmp_l");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int strncasecmp_l(const char *__s1, const char *__s2, size_t __n, locale_t __loc)
     * }
     */
    public static FunctionDescriptor strncasecmp_l$descriptor() {
        return strncasecmp_l.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int strncasecmp_l(const char *__s1, const char *__s2, size_t __n, locale_t __loc)
     * }
     */
    public static MethodHandle strncasecmp_l$handle() {
        return strncasecmp_l.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int strncasecmp_l(const char *__s1, const char *__s2, size_t __n, locale_t __loc)
     * }
     */
    public static MemorySegment strncasecmp_l$address() {
        return strncasecmp_l.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int strncasecmp_l(const char *__s1, const char *__s2, size_t __n, locale_t __loc)
     * }
     */
    public static int strncasecmp_l(MemorySegment __s1, MemorySegment __s2, long __n, MemorySegment __loc) {
        var mh$ = strncasecmp_l.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strncasecmp_l", __s1, __s2, __n, __loc);
            }
            return (int)mh$.invokeExact(__s1, __s2, __n, __loc);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class explicit_bzero {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("explicit_bzero");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void explicit_bzero(void *__s, size_t __n)
     * }
     */
    public static FunctionDescriptor explicit_bzero$descriptor() {
        return explicit_bzero.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void explicit_bzero(void *__s, size_t __n)
     * }
     */
    public static MethodHandle explicit_bzero$handle() {
        return explicit_bzero.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void explicit_bzero(void *__s, size_t __n)
     * }
     */
    public static MemorySegment explicit_bzero$address() {
        return explicit_bzero.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void explicit_bzero(void *__s, size_t __n)
     * }
     */
    public static void explicit_bzero(MemorySegment __s, long __n) {
        var mh$ = explicit_bzero.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("explicit_bzero", __s, __n);
            }
            mh$.invokeExact(__s, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strsep {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strsep");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strsep(char **restrict __stringp, const char *restrict __delim)
     * }
     */
    public static FunctionDescriptor strsep$descriptor() {
        return strsep.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strsep(char **restrict __stringp, const char *restrict __delim)
     * }
     */
    public static MethodHandle strsep$handle() {
        return strsep.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strsep(char **restrict __stringp, const char *restrict __delim)
     * }
     */
    public static MemorySegment strsep$address() {
        return strsep.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strsep(char **restrict __stringp, const char *restrict __delim)
     * }
     */
    public static MemorySegment strsep(MemorySegment __stringp, MemorySegment __delim) {
        var mh$ = strsep.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strsep", __stringp, __delim);
            }
            return (MemorySegment)mh$.invokeExact(__stringp, __delim);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strsignal {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strsignal");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *strsignal(int __sig)
     * }
     */
    public static FunctionDescriptor strsignal$descriptor() {
        return strsignal.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *strsignal(int __sig)
     * }
     */
    public static MethodHandle strsignal$handle() {
        return strsignal.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *strsignal(int __sig)
     * }
     */
    public static MemorySegment strsignal$address() {
        return strsignal.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *strsignal(int __sig)
     * }
     */
    public static MemorySegment strsignal(int __sig) {
        var mh$ = strsignal.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strsignal", __sig);
            }
            return (MemorySegment)mh$.invokeExact(__sig);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __stpcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__stpcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *__stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static FunctionDescriptor __stpcpy$descriptor() {
        return __stpcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *__stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MethodHandle __stpcpy$handle() {
        return __stpcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *__stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment __stpcpy$address() {
        return __stpcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *__stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment __stpcpy(MemorySegment __dest, MemorySegment __src) {
        var mh$ = __stpcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__stpcpy", __dest, __src);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class stpcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("stpcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static FunctionDescriptor stpcpy$descriptor() {
        return stpcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MethodHandle stpcpy$handle() {
        return stpcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment stpcpy$address() {
        return stpcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *stpcpy(char *restrict __dest, const char *restrict __src)
     * }
     */
    public static MemorySegment stpcpy(MemorySegment __dest, MemorySegment __src) {
        var mh$ = stpcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("stpcpy", __dest, __src);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __stpncpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__stpncpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *__stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor __stpncpy$descriptor() {
        return __stpncpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *__stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle __stpncpy$handle() {
        return __stpncpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *__stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment __stpncpy$address() {
        return __stpncpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *__stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment __stpncpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = __stpncpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__stpncpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class stpncpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("stpncpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor stpncpy$descriptor() {
        return stpncpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle stpncpy$handle() {
        return stpncpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment stpncpy$address() {
        return stpncpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *stpncpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment stpncpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = stpncpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("stpncpy", __dest, __src, __n);
            }
            return (MemorySegment)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strlcpy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strlcpy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strlcpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor strlcpy$descriptor() {
        return strlcpy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strlcpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle strlcpy$handle() {
        return strlcpy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strlcpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strlcpy$address() {
        return strlcpy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strlcpy(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static long strlcpy(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = strlcpy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strlcpy", __dest, __src, __n);
            }
            return (long)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class strlcat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("strlcat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long strlcat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static FunctionDescriptor strlcat$descriptor() {
        return strlcat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long strlcat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MethodHandle strlcat$handle() {
        return strlcat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long strlcat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static MemorySegment strlcat$address() {
        return strlcat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long strlcat(char *restrict __dest, const char *restrict __src, size_t __n)
     * }
     */
    public static long strlcat(MemorySegment __dest, MemorySegment __src, long __n) {
        var mh$ = strlcat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("strlcat", __dest, __src, __n);
            }
            return (long)mh$.invokeExact(__dest, __src, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int LIBBPF_STRICT_ALL = (int)-1L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_ALL = -1
     * }
     */
    public static int LIBBPF_STRICT_ALL() {
        return LIBBPF_STRICT_ALL;
    }
    private static final int LIBBPF_STRICT_NONE = (int)0L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_NONE = 0
     * }
     */
    public static int LIBBPF_STRICT_NONE() {
        return LIBBPF_STRICT_NONE;
    }
    private static final int LIBBPF_STRICT_CLEAN_PTRS = (int)1L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_CLEAN_PTRS = 1
     * }
     */
    public static int LIBBPF_STRICT_CLEAN_PTRS() {
        return LIBBPF_STRICT_CLEAN_PTRS;
    }
    private static final int LIBBPF_STRICT_DIRECT_ERRS = (int)2L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_DIRECT_ERRS = 2
     * }
     */
    public static int LIBBPF_STRICT_DIRECT_ERRS() {
        return LIBBPF_STRICT_DIRECT_ERRS;
    }
    private static final int LIBBPF_STRICT_SEC_NAME = (int)4L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_SEC_NAME = 4
     * }
     */
    public static int LIBBPF_STRICT_SEC_NAME() {
        return LIBBPF_STRICT_SEC_NAME;
    }
    private static final int LIBBPF_STRICT_NO_OBJECT_LIST = (int)8L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_NO_OBJECT_LIST = 8
     * }
     */
    public static int LIBBPF_STRICT_NO_OBJECT_LIST() {
        return LIBBPF_STRICT_NO_OBJECT_LIST;
    }
    private static final int LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK = (int)16L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK = 16
     * }
     */
    public static int LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK() {
        return LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK;
    }
    private static final int LIBBPF_STRICT_MAP_DEFINITIONS = (int)32L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.LIBBPF_STRICT_MAP_DEFINITIONS = 32
     * }
     */
    public static int LIBBPF_STRICT_MAP_DEFINITIONS() {
        return LIBBPF_STRICT_MAP_DEFINITIONS;
    }
    private static final int __LIBBPF_STRICT_LAST = (int)33L;
    /**
     * {@snippet lang=c :
     * enum libbpf_strict_mode.__LIBBPF_STRICT_LAST = 33
     * }
     */
    public static int __LIBBPF_STRICT_LAST() {
        return __LIBBPF_STRICT_LAST;
    }

    private static class libbpf_set_strict_mode {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_set_strict_mode");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_set_strict_mode(enum libbpf_strict_mode mode)
     * }
     */
    public static FunctionDescriptor libbpf_set_strict_mode$descriptor() {
        return libbpf_set_strict_mode.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_set_strict_mode(enum libbpf_strict_mode mode)
     * }
     */
    public static MethodHandle libbpf_set_strict_mode$handle() {
        return libbpf_set_strict_mode.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_set_strict_mode(enum libbpf_strict_mode mode)
     * }
     */
    public static MemorySegment libbpf_set_strict_mode$address() {
        return libbpf_set_strict_mode.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_set_strict_mode(enum libbpf_strict_mode mode)
     * }
     */
    public static int libbpf_set_strict_mode(int mode) {
        var mh$ = libbpf_set_strict_mode.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_set_strict_mode", mode);
            }
            return (int)mh$.invokeExact(mode);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_get_error {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_get_error");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * long libbpf_get_error(const void *ptr)
     * }
     */
    public static FunctionDescriptor libbpf_get_error$descriptor() {
        return libbpf_get_error.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * long libbpf_get_error(const void *ptr)
     * }
     */
    public static MethodHandle libbpf_get_error$handle() {
        return libbpf_get_error.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * long libbpf_get_error(const void *ptr)
     * }
     */
    public static MemorySegment libbpf_get_error$address() {
        return libbpf_get_error.ADDR;
    }

    /**
     * {@snippet lang=c :
     * long libbpf_get_error(const void *ptr)
     * }
     */
    public static long libbpf_get_error(MemorySegment ptr) {
        var mh$ = libbpf_get_error.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_get_error", ptr);
            }
            return (long)mh$.invokeExact(ptr);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_find_kernel_btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_find_kernel_btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *libbpf_find_kernel_btf()
     * }
     */
    public static FunctionDescriptor libbpf_find_kernel_btf$descriptor() {
        return libbpf_find_kernel_btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *libbpf_find_kernel_btf()
     * }
     */
    public static MethodHandle libbpf_find_kernel_btf$handle() {
        return libbpf_find_kernel_btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *libbpf_find_kernel_btf()
     * }
     */
    public static MemorySegment libbpf_find_kernel_btf$address() {
        return libbpf_find_kernel_btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *libbpf_find_kernel_btf()
     * }
     */
    public static MemorySegment libbpf_find_kernel_btf() {
        var mh$ = libbpf_find_kernel_btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_find_kernel_btf");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__get_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__get_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__get_type(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__get_type$descriptor() {
        return bpf_program__get_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__get_type(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__get_type$handle() {
        return bpf_program__get_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__get_type(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__get_type$address() {
        return bpf_program__get_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__get_type(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__get_type(MemorySegment prog) {
        var mh$ = bpf_program__get_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__get_type", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__get_expected_attach_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__get_expected_attach_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__get_expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__get_expected_attach_type$descriptor() {
        return bpf_program__get_expected_attach_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__get_expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__get_expected_attach_type$handle() {
        return bpf_program__get_expected_attach_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__get_expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__get_expected_attach_type$address() {
        return bpf_program__get_expected_attach_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__get_expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__get_expected_attach_type(MemorySegment prog) {
        var mh$ = bpf_program__get_expected_attach_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__get_expected_attach_type", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__get_pin_path {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__get_pin_path");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_map__get_pin_path(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__get_pin_path$descriptor() {
        return bpf_map__get_pin_path.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_map__get_pin_path(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__get_pin_path$handle() {
        return bpf_map__get_pin_path.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_map__get_pin_path(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__get_pin_path$address() {
        return bpf_map__get_pin_path.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_map__get_pin_path(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__get_pin_path(MemorySegment map) {
        var mh$ = bpf_map__get_pin_path.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__get_pin_path", map);
            }
            return (MemorySegment)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__get_raw_data {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__get_raw_data");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const void *btf__get_raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static FunctionDescriptor btf__get_raw_data$descriptor() {
        return btf__get_raw_data.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const void *btf__get_raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MethodHandle btf__get_raw_data$handle() {
        return btf__get_raw_data.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const void *btf__get_raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MemorySegment btf__get_raw_data$address() {
        return btf__get_raw_data.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const void *btf__get_raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MemorySegment btf__get_raw_data(MemorySegment btf, MemorySegment size) {
        var mh$ = btf__get_raw_data.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__get_raw_data", btf, size);
            }
            return (MemorySegment)mh$.invokeExact(btf, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_ext__get_raw_data {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_ext__get_raw_data");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static FunctionDescriptor btf_ext__get_raw_data$descriptor() {
        return btf_ext__get_raw_data.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MethodHandle btf_ext__get_raw_data$handle() {
        return btf_ext__get_raw_data.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MemorySegment btf_ext__get_raw_data$address() {
        return btf_ext__get_raw_data.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MemorySegment btf_ext__get_raw_data(MemorySegment btf_ext, MemorySegment size) {
        var mh$ = btf_ext__get_raw_data.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_ext__get_raw_data", btf_ext, size);
            }
            return (MemorySegment)mh$.invokeExact(btf_ext, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_set_memlock_rlim {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_set_memlock_rlim");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_set_memlock_rlim(size_t memlock_bytes)
     * }
     */
    public static FunctionDescriptor libbpf_set_memlock_rlim$descriptor() {
        return libbpf_set_memlock_rlim.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_set_memlock_rlim(size_t memlock_bytes)
     * }
     */
    public static MethodHandle libbpf_set_memlock_rlim$handle() {
        return libbpf_set_memlock_rlim.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_set_memlock_rlim(size_t memlock_bytes)
     * }
     */
    public static MemorySegment libbpf_set_memlock_rlim$address() {
        return libbpf_set_memlock_rlim.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_set_memlock_rlim(size_t memlock_bytes)
     * }
     */
    public static int libbpf_set_memlock_rlim(long memlock_bytes) {
        var mh$ = libbpf_set_memlock_rlim.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_set_memlock_rlim", memlock_bytes);
            }
            return (int)mh$.invokeExact(memlock_bytes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_create {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_create");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_create(enum bpf_map_type map_type, const char *map_name, __u32 key_size, __u32 value_size, __u32 max_entries, const struct bpf_map_create_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_create$descriptor() {
        return bpf_map_create.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_create(enum bpf_map_type map_type, const char *map_name, __u32 key_size, __u32 value_size, __u32 max_entries, const struct bpf_map_create_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_create$handle() {
        return bpf_map_create.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_create(enum bpf_map_type map_type, const char *map_name, __u32 key_size, __u32 value_size, __u32 max_entries, const struct bpf_map_create_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_create$address() {
        return bpf_map_create.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_create(enum bpf_map_type map_type, const char *map_name, __u32 key_size, __u32 value_size, __u32 max_entries, const struct bpf_map_create_opts *opts)
     * }
     */
    public static int bpf_map_create(int map_type, MemorySegment map_name, int key_size, int value_size, int max_entries, MemorySegment opts) {
        var mh$ = bpf_map_create.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_create", map_type, map_name, key_size, value_size, max_entries, opts);
            }
            return (int)mh$.invokeExact(map_type, map_name, key_size, value_size, max_entries, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_load {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_load");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_load(enum bpf_prog_type prog_type, const char *prog_name, const char *license, const struct bpf_insn *insns, size_t insn_cnt, struct bpf_prog_load_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_load$descriptor() {
        return bpf_prog_load.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_load(enum bpf_prog_type prog_type, const char *prog_name, const char *license, const struct bpf_insn *insns, size_t insn_cnt, struct bpf_prog_load_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_load$handle() {
        return bpf_prog_load.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_load(enum bpf_prog_type prog_type, const char *prog_name, const char *license, const struct bpf_insn *insns, size_t insn_cnt, struct bpf_prog_load_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_load$address() {
        return bpf_prog_load.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_load(enum bpf_prog_type prog_type, const char *prog_name, const char *license, const struct bpf_insn *insns, size_t insn_cnt, struct bpf_prog_load_opts *opts)
     * }
     */
    public static int bpf_prog_load(int prog_type, MemorySegment prog_name, MemorySegment license, MemorySegment insns, long insn_cnt, MemorySegment opts) {
        var mh$ = bpf_prog_load.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_load", prog_type, prog_name, license, insns, insn_cnt, opts);
            }
            return (int)mh$.invokeExact(prog_type, prog_name, license, insns, insn_cnt, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_btf_load {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_btf_load");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_btf_load$descriptor() {
        return bpf_btf_load.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts *opts)
     * }
     */
    public static MethodHandle bpf_btf_load$handle() {
        return bpf_btf_load.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts *opts)
     * }
     */
    public static MemorySegment bpf_btf_load$address() {
        return bpf_btf_load.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_btf_load(const void *btf_data, size_t btf_size, struct bpf_btf_load_opts *opts)
     * }
     */
    public static int bpf_btf_load(MemorySegment btf_data, long btf_size, MemorySegment opts) {
        var mh$ = bpf_btf_load.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_btf_load", btf_data, btf_size, opts);
            }
            return (int)mh$.invokeExact(btf_data, btf_size, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_update_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_update_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_update_elem(int fd, const void *key, const void *value, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map_update_elem$descriptor() {
        return bpf_map_update_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_update_elem(int fd, const void *key, const void *value, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map_update_elem$handle() {
        return bpf_map_update_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_update_elem(int fd, const void *key, const void *value, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map_update_elem$address() {
        return bpf_map_update_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_update_elem(int fd, const void *key, const void *value, __u64 flags)
     * }
     */
    public static int bpf_map_update_elem(int fd, MemorySegment key, MemorySegment value, long flags) {
        var mh$ = bpf_map_update_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_update_elem", fd, key, value, flags);
            }
            return (int)mh$.invokeExact(fd, key, value, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem(int fd, const void *key, void *value)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_elem$descriptor() {
        return bpf_map_lookup_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem(int fd, const void *key, void *value)
     * }
     */
    public static MethodHandle bpf_map_lookup_elem$handle() {
        return bpf_map_lookup_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem(int fd, const void *key, void *value)
     * }
     */
    public static MemorySegment bpf_map_lookup_elem$address() {
        return bpf_map_lookup_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_elem(int fd, const void *key, void *value)
     * }
     */
    public static int bpf_map_lookup_elem(int fd, MemorySegment key, MemorySegment value) {
        var mh$ = bpf_map_lookup_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_elem", fd, key, value);
            }
            return (int)mh$.invokeExact(fd, key, value);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_elem_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_elem_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_elem_flags$descriptor() {
        return bpf_map_lookup_elem_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map_lookup_elem_flags$handle() {
        return bpf_map_lookup_elem_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map_lookup_elem_flags$address() {
        return bpf_map_lookup_elem_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static int bpf_map_lookup_elem_flags(int fd, MemorySegment key, MemorySegment value, long flags) {
        var mh$ = bpf_map_lookup_elem_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_elem_flags", fd, key, value, flags);
            }
            return (int)mh$.invokeExact(fd, key, value, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_and_delete_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_and_delete_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_and_delete_elem$descriptor() {
        return bpf_map_lookup_and_delete_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
     * }
     */
    public static MethodHandle bpf_map_lookup_and_delete_elem$handle() {
        return bpf_map_lookup_and_delete_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
     * }
     */
    public static MemorySegment bpf_map_lookup_and_delete_elem$address() {
        return bpf_map_lookup_and_delete_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem(int fd, const void *key, void *value)
     * }
     */
    public static int bpf_map_lookup_and_delete_elem(int fd, MemorySegment key, MemorySegment value) {
        var mh$ = bpf_map_lookup_and_delete_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_and_delete_elem", fd, key, value);
            }
            return (int)mh$.invokeExact(fd, key, value);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_and_delete_elem_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_and_delete_elem_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_and_delete_elem_flags$descriptor() {
        return bpf_map_lookup_and_delete_elem_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map_lookup_and_delete_elem_flags$handle() {
        return bpf_map_lookup_and_delete_elem_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map_lookup_and_delete_elem_flags$address() {
        return bpf_map_lookup_and_delete_elem_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, void *value, __u64 flags)
     * }
     */
    public static int bpf_map_lookup_and_delete_elem_flags(int fd, MemorySegment key, MemorySegment value, long flags) {
        var mh$ = bpf_map_lookup_and_delete_elem_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_and_delete_elem_flags", fd, key, value, flags);
            }
            return (int)mh$.invokeExact(fd, key, value, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_delete_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_delete_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem(int fd, const void *key)
     * }
     */
    public static FunctionDescriptor bpf_map_delete_elem$descriptor() {
        return bpf_map_delete_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem(int fd, const void *key)
     * }
     */
    public static MethodHandle bpf_map_delete_elem$handle() {
        return bpf_map_delete_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem(int fd, const void *key)
     * }
     */
    public static MemorySegment bpf_map_delete_elem$address() {
        return bpf_map_delete_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_delete_elem(int fd, const void *key)
     * }
     */
    public static int bpf_map_delete_elem(int fd, MemorySegment key) {
        var mh$ = bpf_map_delete_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_delete_elem", fd, key);
            }
            return (int)mh$.invokeExact(fd, key);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_delete_elem_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_delete_elem_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map_delete_elem_flags$descriptor() {
        return bpf_map_delete_elem_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map_delete_elem_flags$handle() {
        return bpf_map_delete_elem_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map_delete_elem_flags$address() {
        return bpf_map_delete_elem_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags)
     * }
     */
    public static int bpf_map_delete_elem_flags(int fd, MemorySegment key, long flags) {
        var mh$ = bpf_map_delete_elem_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_delete_elem_flags", fd, key, flags);
            }
            return (int)mh$.invokeExact(fd, key, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_get_next_key {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_get_next_key");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_get_next_key(int fd, const void *key, void *next_key)
     * }
     */
    public static FunctionDescriptor bpf_map_get_next_key$descriptor() {
        return bpf_map_get_next_key.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_get_next_key(int fd, const void *key, void *next_key)
     * }
     */
    public static MethodHandle bpf_map_get_next_key$handle() {
        return bpf_map_get_next_key.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_get_next_key(int fd, const void *key, void *next_key)
     * }
     */
    public static MemorySegment bpf_map_get_next_key$address() {
        return bpf_map_get_next_key.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_get_next_key(int fd, const void *key, void *next_key)
     * }
     */
    public static int bpf_map_get_next_key(int fd, MemorySegment key, MemorySegment next_key) {
        var mh$ = bpf_map_get_next_key.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_get_next_key", fd, key, next_key);
            }
            return (int)mh$.invokeExact(fd, key, next_key);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_freeze {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_freeze");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_freeze(int fd)
     * }
     */
    public static FunctionDescriptor bpf_map_freeze$descriptor() {
        return bpf_map_freeze.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_freeze(int fd)
     * }
     */
    public static MethodHandle bpf_map_freeze$handle() {
        return bpf_map_freeze.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_freeze(int fd)
     * }
     */
    public static MemorySegment bpf_map_freeze$address() {
        return bpf_map_freeze.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_freeze(int fd)
     * }
     */
    public static int bpf_map_freeze(int fd) {
        var mh$ = bpf_map_freeze.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_freeze", fd);
            }
            return (int)mh$.invokeExact(fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_delete_batch {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_delete_batch");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_delete_batch(int fd, const void *keys, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_delete_batch$descriptor() {
        return bpf_map_delete_batch.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_delete_batch(int fd, const void *keys, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_delete_batch$handle() {
        return bpf_map_delete_batch.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_delete_batch(int fd, const void *keys, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_delete_batch$address() {
        return bpf_map_delete_batch.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_delete_batch(int fd, const void *keys, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static int bpf_map_delete_batch(int fd, MemorySegment keys, MemorySegment count, MemorySegment opts) {
        var mh$ = bpf_map_delete_batch.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_delete_batch", fd, keys, count, opts);
            }
            return (int)mh$.invokeExact(fd, keys, count, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_batch {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_batch");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_batch$descriptor() {
        return bpf_map_lookup_batch.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_lookup_batch$handle() {
        return bpf_map_lookup_batch.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_lookup_batch$address() {
        return bpf_map_lookup_batch.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static int bpf_map_lookup_batch(int fd, MemorySegment in_batch, MemorySegment out_batch, MemorySegment keys, MemorySegment values, MemorySegment count, MemorySegment opts) {
        var mh$ = bpf_map_lookup_batch.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_batch", fd, in_batch, out_batch, keys, values, count, opts);
            }
            return (int)mh$.invokeExact(fd, in_batch, out_batch, keys, values, count, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_lookup_and_delete_batch {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_lookup_and_delete_batch");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_lookup_and_delete_batch$descriptor() {
        return bpf_map_lookup_and_delete_batch.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_lookup_and_delete_batch$handle() {
        return bpf_map_lookup_and_delete_batch.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_lookup_and_delete_batch$address() {
        return bpf_map_lookup_and_delete_batch.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, void *out_batch, void *keys, void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static int bpf_map_lookup_and_delete_batch(int fd, MemorySegment in_batch, MemorySegment out_batch, MemorySegment keys, MemorySegment values, MemorySegment count, MemorySegment opts) {
        var mh$ = bpf_map_lookup_and_delete_batch.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_lookup_and_delete_batch", fd, in_batch, out_batch, keys, values, count, opts);
            }
            return (int)mh$.invokeExact(fd, in_batch, out_batch, keys, values, count, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_update_batch {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_update_batch");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_update_batch(int fd, const void *keys, const void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_update_batch$descriptor() {
        return bpf_map_update_batch.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_update_batch(int fd, const void *keys, const void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_update_batch$handle() {
        return bpf_map_update_batch.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_update_batch(int fd, const void *keys, const void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_update_batch$address() {
        return bpf_map_update_batch.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_update_batch(int fd, const void *keys, const void *values, __u32 *count, const struct bpf_map_batch_opts *opts)
     * }
     */
    public static int bpf_map_update_batch(int fd, MemorySegment keys, MemorySegment values, MemorySegment count, MemorySegment opts) {
        var mh$ = bpf_map_update_batch.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_update_batch", fd, keys, values, count, opts);
            }
            return (int)mh$.invokeExact(fd, keys, values, count, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_obj_pin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_obj_pin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_obj_pin(int fd, const char *pathname)
     * }
     */
    public static FunctionDescriptor bpf_obj_pin$descriptor() {
        return bpf_obj_pin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_obj_pin(int fd, const char *pathname)
     * }
     */
    public static MethodHandle bpf_obj_pin$handle() {
        return bpf_obj_pin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_obj_pin(int fd, const char *pathname)
     * }
     */
    public static MemorySegment bpf_obj_pin$address() {
        return bpf_obj_pin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_obj_pin(int fd, const char *pathname)
     * }
     */
    public static int bpf_obj_pin(int fd, MemorySegment pathname) {
        var mh$ = bpf_obj_pin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_obj_pin", fd, pathname);
            }
            return (int)mh$.invokeExact(fd, pathname);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_obj_pin_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_obj_pin_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_obj_pin_opts$descriptor() {
        return bpf_obj_pin_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts *opts)
     * }
     */
    public static MethodHandle bpf_obj_pin_opts$handle() {
        return bpf_obj_pin_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts *opts)
     * }
     */
    public static MemorySegment bpf_obj_pin_opts$address() {
        return bpf_obj_pin_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_obj_pin_opts(int fd, const char *pathname, const struct bpf_obj_pin_opts *opts)
     * }
     */
    public static int bpf_obj_pin_opts(int fd, MemorySegment pathname, MemorySegment opts) {
        var mh$ = bpf_obj_pin_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_obj_pin_opts", fd, pathname, opts);
            }
            return (int)mh$.invokeExact(fd, pathname, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_obj_get {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_obj_get");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_obj_get(const char *pathname)
     * }
     */
    public static FunctionDescriptor bpf_obj_get$descriptor() {
        return bpf_obj_get.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_obj_get(const char *pathname)
     * }
     */
    public static MethodHandle bpf_obj_get$handle() {
        return bpf_obj_get.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_obj_get(const char *pathname)
     * }
     */
    public static MemorySegment bpf_obj_get$address() {
        return bpf_obj_get.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_obj_get(const char *pathname)
     * }
     */
    public static int bpf_obj_get(MemorySegment pathname) {
        var mh$ = bpf_obj_get.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_obj_get", pathname);
            }
            return (int)mh$.invokeExact(pathname);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_obj_get_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_obj_get_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_obj_get_opts$descriptor() {
        return bpf_obj_get_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts *opts)
     * }
     */
    public static MethodHandle bpf_obj_get_opts$handle() {
        return bpf_obj_get_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts *opts)
     * }
     */
    public static MemorySegment bpf_obj_get_opts$address() {
        return bpf_obj_get_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_obj_get_opts(const char *pathname, const struct bpf_obj_get_opts *opts)
     * }
     */
    public static int bpf_obj_get_opts(MemorySegment pathname, MemorySegment opts) {
        var mh$ = bpf_obj_get_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_obj_get_opts", pathname, opts);
            }
            return (int)mh$.invokeExact(pathname, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_attach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_attach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_attach(int prog_fd, int attachable_fd, enum bpf_attach_type type, unsigned int flags)
     * }
     */
    public static FunctionDescriptor bpf_prog_attach$descriptor() {
        return bpf_prog_attach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_attach(int prog_fd, int attachable_fd, enum bpf_attach_type type, unsigned int flags)
     * }
     */
    public static MethodHandle bpf_prog_attach$handle() {
        return bpf_prog_attach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_attach(int prog_fd, int attachable_fd, enum bpf_attach_type type, unsigned int flags)
     * }
     */
    public static MemorySegment bpf_prog_attach$address() {
        return bpf_prog_attach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_attach(int prog_fd, int attachable_fd, enum bpf_attach_type type, unsigned int flags)
     * }
     */
    public static int bpf_prog_attach(int prog_fd, int attachable_fd, int type, int flags) {
        var mh$ = bpf_prog_attach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_attach", prog_fd, attachable_fd, type, flags);
            }
            return (int)mh$.invokeExact(prog_fd, attachable_fd, type, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_detach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_detach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static FunctionDescriptor bpf_prog_detach$descriptor() {
        return bpf_prog_detach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static MethodHandle bpf_prog_detach$handle() {
        return bpf_prog_detach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static MemorySegment bpf_prog_detach$address() {
        return bpf_prog_detach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static int bpf_prog_detach(int attachable_fd, int type) {
        var mh$ = bpf_prog_detach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_detach", attachable_fd, type);
            }
            return (int)mh$.invokeExact(attachable_fd, type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_detach2 {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_detach2");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_detach2(int prog_fd, int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static FunctionDescriptor bpf_prog_detach2$descriptor() {
        return bpf_prog_detach2.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_detach2(int prog_fd, int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static MethodHandle bpf_prog_detach2$handle() {
        return bpf_prog_detach2.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_detach2(int prog_fd, int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static MemorySegment bpf_prog_detach2$address() {
        return bpf_prog_detach2.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_detach2(int prog_fd, int attachable_fd, enum bpf_attach_type type)
     * }
     */
    public static int bpf_prog_detach2(int prog_fd, int attachable_fd, int type) {
        var mh$ = bpf_prog_detach2.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_detach2", prog_fd, attachable_fd, type);
            }
            return (int)mh$.invokeExact(prog_fd, attachable_fd, type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_attach_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_attach_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_attach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_attach_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_attach_opts$descriptor() {
        return bpf_prog_attach_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_attach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_attach_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_attach_opts$handle() {
        return bpf_prog_attach_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_attach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_attach_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_attach_opts$address() {
        return bpf_prog_attach_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_attach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_attach_opts *opts)
     * }
     */
    public static int bpf_prog_attach_opts(int prog_fd, int target, int type, MemorySegment opts) {
        var mh$ = bpf_prog_attach_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_attach_opts", prog_fd, target, type, opts);
            }
            return (int)mh$.invokeExact(prog_fd, target, type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_detach_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_detach_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_detach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_detach_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_detach_opts$descriptor() {
        return bpf_prog_detach_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_detach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_detach_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_detach_opts$handle() {
        return bpf_prog_detach_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_detach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_detach_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_detach_opts$address() {
        return bpf_prog_detach_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_detach_opts(int prog_fd, int target, enum bpf_attach_type type, const struct bpf_prog_detach_opts *opts)
     * }
     */
    public static int bpf_prog_detach_opts(int prog_fd, int target, int type, MemorySegment opts) {
        var mh$ = bpf_prog_detach_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_detach_opts", prog_fd, target, type, opts);
            }
            return (int)mh$.invokeExact(prog_fd, target, type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_create {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_create");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_create(int prog_fd, int target_fd, enum bpf_attach_type attach_type, const struct bpf_link_create_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_link_create$descriptor() {
        return bpf_link_create.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_create(int prog_fd, int target_fd, enum bpf_attach_type attach_type, const struct bpf_link_create_opts *opts)
     * }
     */
    public static MethodHandle bpf_link_create$handle() {
        return bpf_link_create.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_create(int prog_fd, int target_fd, enum bpf_attach_type attach_type, const struct bpf_link_create_opts *opts)
     * }
     */
    public static MemorySegment bpf_link_create$address() {
        return bpf_link_create.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_create(int prog_fd, int target_fd, enum bpf_attach_type attach_type, const struct bpf_link_create_opts *opts)
     * }
     */
    public static int bpf_link_create(int prog_fd, int target_fd, int attach_type, MemorySegment opts) {
        var mh$ = bpf_link_create.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_create", prog_fd, target_fd, attach_type, opts);
            }
            return (int)mh$.invokeExact(prog_fd, target_fd, attach_type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_detach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_detach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_detach(int link_fd)
     * }
     */
    public static FunctionDescriptor bpf_link_detach$descriptor() {
        return bpf_link_detach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_detach(int link_fd)
     * }
     */
    public static MethodHandle bpf_link_detach$handle() {
        return bpf_link_detach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_detach(int link_fd)
     * }
     */
    public static MemorySegment bpf_link_detach$address() {
        return bpf_link_detach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_detach(int link_fd)
     * }
     */
    public static int bpf_link_detach(int link_fd) {
        var mh$ = bpf_link_detach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_detach", link_fd);
            }
            return (int)mh$.invokeExact(link_fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_update {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_update");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_update(int link_fd, int new_prog_fd, const struct bpf_link_update_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_link_update$descriptor() {
        return bpf_link_update.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_update(int link_fd, int new_prog_fd, const struct bpf_link_update_opts *opts)
     * }
     */
    public static MethodHandle bpf_link_update$handle() {
        return bpf_link_update.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_update(int link_fd, int new_prog_fd, const struct bpf_link_update_opts *opts)
     * }
     */
    public static MemorySegment bpf_link_update$address() {
        return bpf_link_update.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_update(int link_fd, int new_prog_fd, const struct bpf_link_update_opts *opts)
     * }
     */
    public static int bpf_link_update(int link_fd, int new_prog_fd, MemorySegment opts) {
        var mh$ = bpf_link_update.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_update", link_fd, new_prog_fd, opts);
            }
            return (int)mh$.invokeExact(link_fd, new_prog_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_iter_create {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_iter_create");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_iter_create(int link_fd)
     * }
     */
    public static FunctionDescriptor bpf_iter_create$descriptor() {
        return bpf_iter_create.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_iter_create(int link_fd)
     * }
     */
    public static MethodHandle bpf_iter_create$handle() {
        return bpf_iter_create.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_iter_create(int link_fd)
     * }
     */
    public static MemorySegment bpf_iter_create$address() {
        return bpf_iter_create.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_iter_create(int link_fd)
     * }
     */
    public static int bpf_iter_create(int link_fd) {
        var mh$ = bpf_iter_create.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_iter_create", link_fd);
            }
            return (int)mh$.invokeExact(link_fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_get_next_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_get_next_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static FunctionDescriptor bpf_prog_get_next_id$descriptor() {
        return bpf_prog_get_next_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MethodHandle bpf_prog_get_next_id$handle() {
        return bpf_prog_get_next_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MemorySegment bpf_prog_get_next_id$address() {
        return bpf_prog_get_next_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static int bpf_prog_get_next_id(int start_id, MemorySegment next_id) {
        var mh$ = bpf_prog_get_next_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_get_next_id", start_id, next_id);
            }
            return (int)mh$.invokeExact(start_id, next_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_get_next_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_get_next_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static FunctionDescriptor bpf_map_get_next_id$descriptor() {
        return bpf_map_get_next_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MethodHandle bpf_map_get_next_id$handle() {
        return bpf_map_get_next_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MemorySegment bpf_map_get_next_id$address() {
        return bpf_map_get_next_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static int bpf_map_get_next_id(int start_id, MemorySegment next_id) {
        var mh$ = bpf_map_get_next_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_get_next_id", start_id, next_id);
            }
            return (int)mh$.invokeExact(start_id, next_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_btf_get_next_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_btf_get_next_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static FunctionDescriptor bpf_btf_get_next_id$descriptor() {
        return bpf_btf_get_next_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MethodHandle bpf_btf_get_next_id$handle() {
        return bpf_btf_get_next_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MemorySegment bpf_btf_get_next_id$address() {
        return bpf_btf_get_next_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static int bpf_btf_get_next_id(int start_id, MemorySegment next_id) {
        var mh$ = bpf_btf_get_next_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_btf_get_next_id", start_id, next_id);
            }
            return (int)mh$.invokeExact(start_id, next_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_get_next_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_get_next_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static FunctionDescriptor bpf_link_get_next_id$descriptor() {
        return bpf_link_get_next_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MethodHandle bpf_link_get_next_id$handle() {
        return bpf_link_get_next_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static MemorySegment bpf_link_get_next_id$address() {
        return bpf_link_get_next_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_get_next_id(__u32 start_id, __u32 *next_id)
     * }
     */
    public static int bpf_link_get_next_id(int start_id, MemorySegment next_id) {
        var mh$ = bpf_link_get_next_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_get_next_id", start_id, next_id);
            }
            return (int)mh$.invokeExact(start_id, next_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_get_fd_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_get_fd_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id(__u32 id)
     * }
     */
    public static FunctionDescriptor bpf_prog_get_fd_by_id$descriptor() {
        return bpf_prog_get_fd_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id(__u32 id)
     * }
     */
    public static MethodHandle bpf_prog_get_fd_by_id$handle() {
        return bpf_prog_get_fd_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id(__u32 id)
     * }
     */
    public static MemorySegment bpf_prog_get_fd_by_id$address() {
        return bpf_prog_get_fd_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id(__u32 id)
     * }
     */
    public static int bpf_prog_get_fd_by_id(int id) {
        var mh$ = bpf_prog_get_fd_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_get_fd_by_id", id);
            }
            return (int)mh$.invokeExact(id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_get_fd_by_id_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_get_fd_by_id_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_get_fd_by_id_opts$descriptor() {
        return bpf_prog_get_fd_by_id_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_get_fd_by_id_opts$handle() {
        return bpf_prog_get_fd_by_id_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_get_fd_by_id_opts$address() {
        return bpf_prog_get_fd_by_id_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static int bpf_prog_get_fd_by_id_opts(int id, MemorySegment opts) {
        var mh$ = bpf_prog_get_fd_by_id_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_get_fd_by_id_opts", id, opts);
            }
            return (int)mh$.invokeExact(id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_get_fd_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_get_fd_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id(__u32 id)
     * }
     */
    public static FunctionDescriptor bpf_map_get_fd_by_id$descriptor() {
        return bpf_map_get_fd_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id(__u32 id)
     * }
     */
    public static MethodHandle bpf_map_get_fd_by_id$handle() {
        return bpf_map_get_fd_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id(__u32 id)
     * }
     */
    public static MemorySegment bpf_map_get_fd_by_id$address() {
        return bpf_map_get_fd_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id(__u32 id)
     * }
     */
    public static int bpf_map_get_fd_by_id(int id) {
        var mh$ = bpf_map_get_fd_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_get_fd_by_id", id);
            }
            return (int)mh$.invokeExact(id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_get_fd_by_id_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_get_fd_by_id_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_map_get_fd_by_id_opts$descriptor() {
        return bpf_map_get_fd_by_id_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MethodHandle bpf_map_get_fd_by_id_opts$handle() {
        return bpf_map_get_fd_by_id_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MemorySegment bpf_map_get_fd_by_id_opts$address() {
        return bpf_map_get_fd_by_id_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static int bpf_map_get_fd_by_id_opts(int id, MemorySegment opts) {
        var mh$ = bpf_map_get_fd_by_id_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_get_fd_by_id_opts", id, opts);
            }
            return (int)mh$.invokeExact(id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_btf_get_fd_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_btf_get_fd_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id(__u32 id)
     * }
     */
    public static FunctionDescriptor bpf_btf_get_fd_by_id$descriptor() {
        return bpf_btf_get_fd_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id(__u32 id)
     * }
     */
    public static MethodHandle bpf_btf_get_fd_by_id$handle() {
        return bpf_btf_get_fd_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id(__u32 id)
     * }
     */
    public static MemorySegment bpf_btf_get_fd_by_id$address() {
        return bpf_btf_get_fd_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id(__u32 id)
     * }
     */
    public static int bpf_btf_get_fd_by_id(int id) {
        var mh$ = bpf_btf_get_fd_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_btf_get_fd_by_id", id);
            }
            return (int)mh$.invokeExact(id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_btf_get_fd_by_id_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_btf_get_fd_by_id_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_btf_get_fd_by_id_opts$descriptor() {
        return bpf_btf_get_fd_by_id_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MethodHandle bpf_btf_get_fd_by_id_opts$handle() {
        return bpf_btf_get_fd_by_id_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MemorySegment bpf_btf_get_fd_by_id_opts$address() {
        return bpf_btf_get_fd_by_id_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_btf_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static int bpf_btf_get_fd_by_id_opts(int id, MemorySegment opts) {
        var mh$ = bpf_btf_get_fd_by_id_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_btf_get_fd_by_id_opts", id, opts);
            }
            return (int)mh$.invokeExact(id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_get_fd_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_get_fd_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id(__u32 id)
     * }
     */
    public static FunctionDescriptor bpf_link_get_fd_by_id$descriptor() {
        return bpf_link_get_fd_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id(__u32 id)
     * }
     */
    public static MethodHandle bpf_link_get_fd_by_id$handle() {
        return bpf_link_get_fd_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id(__u32 id)
     * }
     */
    public static MemorySegment bpf_link_get_fd_by_id$address() {
        return bpf_link_get_fd_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id(__u32 id)
     * }
     */
    public static int bpf_link_get_fd_by_id(int id) {
        var mh$ = bpf_link_get_fd_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_get_fd_by_id", id);
            }
            return (int)mh$.invokeExact(id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_get_fd_by_id_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_get_fd_by_id_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_link_get_fd_by_id_opts$descriptor() {
        return bpf_link_get_fd_by_id_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MethodHandle bpf_link_get_fd_by_id_opts$handle() {
        return bpf_link_get_fd_by_id_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static MemorySegment bpf_link_get_fd_by_id_opts$address() {
        return bpf_link_get_fd_by_id_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_get_fd_by_id_opts(__u32 id, const struct bpf_get_fd_by_id_opts *opts)
     * }
     */
    public static int bpf_link_get_fd_by_id_opts(int id, MemorySegment opts) {
        var mh$ = bpf_link_get_fd_by_id_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_get_fd_by_id_opts", id, opts);
            }
            return (int)mh$.invokeExact(id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_obj_get_info_by_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_obj_get_info_by_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len)
     * }
     */
    public static FunctionDescriptor bpf_obj_get_info_by_fd$descriptor() {
        return bpf_obj_get_info_by_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len)
     * }
     */
    public static MethodHandle bpf_obj_get_info_by_fd$handle() {
        return bpf_obj_get_info_by_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len)
     * }
     */
    public static MemorySegment bpf_obj_get_info_by_fd$address() {
        return bpf_obj_get_info_by_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len)
     * }
     */
    public static int bpf_obj_get_info_by_fd(int bpf_fd, MemorySegment info, MemorySegment info_len) {
        var mh$ = bpf_obj_get_info_by_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_obj_get_info_by_fd", bpf_fd, info, info_len);
            }
            return (int)mh$.invokeExact(bpf_fd, info, info_len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_get_info_by_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_get_info_by_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_get_info_by_fd(int prog_fd, struct bpf_prog_info *info, __u32 *info_len)
     * }
     */
    public static FunctionDescriptor bpf_prog_get_info_by_fd$descriptor() {
        return bpf_prog_get_info_by_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_get_info_by_fd(int prog_fd, struct bpf_prog_info *info, __u32 *info_len)
     * }
     */
    public static MethodHandle bpf_prog_get_info_by_fd$handle() {
        return bpf_prog_get_info_by_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_get_info_by_fd(int prog_fd, struct bpf_prog_info *info, __u32 *info_len)
     * }
     */
    public static MemorySegment bpf_prog_get_info_by_fd$address() {
        return bpf_prog_get_info_by_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_get_info_by_fd(int prog_fd, struct bpf_prog_info *info, __u32 *info_len)
     * }
     */
    public static int bpf_prog_get_info_by_fd(int prog_fd, MemorySegment info, MemorySegment info_len) {
        var mh$ = bpf_prog_get_info_by_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_get_info_by_fd", prog_fd, info, info_len);
            }
            return (int)mh$.invokeExact(prog_fd, info, info_len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map_get_info_by_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map_get_info_by_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map_get_info_by_fd(int map_fd, struct bpf_map_info *info, __u32 *info_len)
     * }
     */
    public static FunctionDescriptor bpf_map_get_info_by_fd$descriptor() {
        return bpf_map_get_info_by_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map_get_info_by_fd(int map_fd, struct bpf_map_info *info, __u32 *info_len)
     * }
     */
    public static MethodHandle bpf_map_get_info_by_fd$handle() {
        return bpf_map_get_info_by_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map_get_info_by_fd(int map_fd, struct bpf_map_info *info, __u32 *info_len)
     * }
     */
    public static MemorySegment bpf_map_get_info_by_fd$address() {
        return bpf_map_get_info_by_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map_get_info_by_fd(int map_fd, struct bpf_map_info *info, __u32 *info_len)
     * }
     */
    public static int bpf_map_get_info_by_fd(int map_fd, MemorySegment info, MemorySegment info_len) {
        var mh$ = bpf_map_get_info_by_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map_get_info_by_fd", map_fd, info, info_len);
            }
            return (int)mh$.invokeExact(map_fd, info, info_len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_btf_get_info_by_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_btf_get_info_by_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_btf_get_info_by_fd(int btf_fd, struct bpf_btf_info *info, __u32 *info_len)
     * }
     */
    public static FunctionDescriptor bpf_btf_get_info_by_fd$descriptor() {
        return bpf_btf_get_info_by_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_btf_get_info_by_fd(int btf_fd, struct bpf_btf_info *info, __u32 *info_len)
     * }
     */
    public static MethodHandle bpf_btf_get_info_by_fd$handle() {
        return bpf_btf_get_info_by_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_btf_get_info_by_fd(int btf_fd, struct bpf_btf_info *info, __u32 *info_len)
     * }
     */
    public static MemorySegment bpf_btf_get_info_by_fd$address() {
        return bpf_btf_get_info_by_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_btf_get_info_by_fd(int btf_fd, struct bpf_btf_info *info, __u32 *info_len)
     * }
     */
    public static int bpf_btf_get_info_by_fd(int btf_fd, MemorySegment info, MemorySegment info_len) {
        var mh$ = bpf_btf_get_info_by_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_btf_get_info_by_fd", btf_fd, info, info_len);
            }
            return (int)mh$.invokeExact(btf_fd, info, info_len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link_get_info_by_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link_get_info_by_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link_get_info_by_fd(int link_fd, struct bpf_link_info *info, __u32 *info_len)
     * }
     */
    public static FunctionDescriptor bpf_link_get_info_by_fd$descriptor() {
        return bpf_link_get_info_by_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link_get_info_by_fd(int link_fd, struct bpf_link_info *info, __u32 *info_len)
     * }
     */
    public static MethodHandle bpf_link_get_info_by_fd$handle() {
        return bpf_link_get_info_by_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link_get_info_by_fd(int link_fd, struct bpf_link_info *info, __u32 *info_len)
     * }
     */
    public static MemorySegment bpf_link_get_info_by_fd$address() {
        return bpf_link_get_info_by_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link_get_info_by_fd(int link_fd, struct bpf_link_info *info, __u32 *info_len)
     * }
     */
    public static int bpf_link_get_info_by_fd(int link_fd, MemorySegment info, MemorySegment info_len) {
        var mh$ = bpf_link_get_info_by_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link_get_info_by_fd", link_fd, info, info_len);
            }
            return (int)mh$.invokeExact(link_fd, info, info_len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_query_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_query_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_query_opts(int target, enum bpf_attach_type type, struct bpf_prog_query_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_query_opts$descriptor() {
        return bpf_prog_query_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_query_opts(int target, enum bpf_attach_type type, struct bpf_prog_query_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_query_opts$handle() {
        return bpf_prog_query_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_query_opts(int target, enum bpf_attach_type type, struct bpf_prog_query_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_query_opts$address() {
        return bpf_prog_query_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_query_opts(int target, enum bpf_attach_type type, struct bpf_prog_query_opts *opts)
     * }
     */
    public static int bpf_prog_query_opts(int target, int type, MemorySegment opts) {
        var mh$ = bpf_prog_query_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_query_opts", target, type, opts);
            }
            return (int)mh$.invokeExact(target, type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_query {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_query");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt)
     * }
     */
    public static FunctionDescriptor bpf_prog_query$descriptor() {
        return bpf_prog_query.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt)
     * }
     */
    public static MethodHandle bpf_prog_query$handle() {
        return bpf_prog_query.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt)
     * }
     */
    public static MemorySegment bpf_prog_query$address() {
        return bpf_prog_query.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_query(int target_fd, enum bpf_attach_type type, __u32 query_flags, __u32 *attach_flags, __u32 *prog_ids, __u32 *prog_cnt)
     * }
     */
    public static int bpf_prog_query(int target_fd, int type, int query_flags, MemorySegment attach_flags, MemorySegment prog_ids, MemorySegment prog_cnt) {
        var mh$ = bpf_prog_query.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_query", target_fd, type, query_flags, attach_flags, prog_ids, prog_cnt);
            }
            return (int)mh$.invokeExact(target_fd, type, query_flags, attach_flags, prog_ids, prog_cnt);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_raw_tracepoint_open_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_raw_tracepoint_open_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_raw_tracepoint_open_opts$descriptor() {
        return bpf_raw_tracepoint_open_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts *opts)
     * }
     */
    public static MethodHandle bpf_raw_tracepoint_open_opts$handle() {
        return bpf_raw_tracepoint_open_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts *opts)
     * }
     */
    public static MemorySegment bpf_raw_tracepoint_open_opts$address() {
        return bpf_raw_tracepoint_open_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open_opts(int prog_fd, struct bpf_raw_tp_opts *opts)
     * }
     */
    public static int bpf_raw_tracepoint_open_opts(int prog_fd, MemorySegment opts) {
        var mh$ = bpf_raw_tracepoint_open_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_raw_tracepoint_open_opts", prog_fd, opts);
            }
            return (int)mh$.invokeExact(prog_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_raw_tracepoint_open {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_raw_tracepoint_open");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open(const char *name, int prog_fd)
     * }
     */
    public static FunctionDescriptor bpf_raw_tracepoint_open$descriptor() {
        return bpf_raw_tracepoint_open.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open(const char *name, int prog_fd)
     * }
     */
    public static MethodHandle bpf_raw_tracepoint_open$handle() {
        return bpf_raw_tracepoint_open.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open(const char *name, int prog_fd)
     * }
     */
    public static MemorySegment bpf_raw_tracepoint_open$address() {
        return bpf_raw_tracepoint_open.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_raw_tracepoint_open(const char *name, int prog_fd)
     * }
     */
    public static int bpf_raw_tracepoint_open(MemorySegment name, int prog_fd) {
        var mh$ = bpf_raw_tracepoint_open.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_raw_tracepoint_open", name, prog_fd);
            }
            return (int)mh$.invokeExact(name, prog_fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_task_fd_query {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_task_fd_query");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset, __u64 *probe_addr)
     * }
     */
    public static FunctionDescriptor bpf_task_fd_query$descriptor() {
        return bpf_task_fd_query.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset, __u64 *probe_addr)
     * }
     */
    public static MethodHandle bpf_task_fd_query$handle() {
        return bpf_task_fd_query.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset, __u64 *probe_addr)
     * }
     */
    public static MemorySegment bpf_task_fd_query$address() {
        return bpf_task_fd_query.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset, __u64 *probe_addr)
     * }
     */
    public static int bpf_task_fd_query(int pid, int fd, int flags, MemorySegment buf, MemorySegment buf_len, MemorySegment prog_id, MemorySegment fd_type, MemorySegment probe_offset, MemorySegment probe_addr) {
        var mh$ = bpf_task_fd_query.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_task_fd_query", pid, fd, flags, buf, buf_len, prog_id, fd_type, probe_offset, probe_addr);
            }
            return (int)mh$.invokeExact(pid, fd, flags, buf, buf_len, prog_id, fd_type, probe_offset, probe_addr);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_enable_stats {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_enable_stats");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_enable_stats(enum bpf_stats_type type)
     * }
     */
    public static FunctionDescriptor bpf_enable_stats$descriptor() {
        return bpf_enable_stats.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_enable_stats(enum bpf_stats_type type)
     * }
     */
    public static MethodHandle bpf_enable_stats$handle() {
        return bpf_enable_stats.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_enable_stats(enum bpf_stats_type type)
     * }
     */
    public static MemorySegment bpf_enable_stats$address() {
        return bpf_enable_stats.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_enable_stats(enum bpf_stats_type type)
     * }
     */
    public static int bpf_enable_stats(int type) {
        var mh$ = bpf_enable_stats.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_enable_stats", type);
            }
            return (int)mh$.invokeExact(type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_bind_map {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_bind_map");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_bind_map(int prog_fd, int map_fd, const struct bpf_prog_bind_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_bind_map$descriptor() {
        return bpf_prog_bind_map.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_bind_map(int prog_fd, int map_fd, const struct bpf_prog_bind_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_bind_map$handle() {
        return bpf_prog_bind_map.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_bind_map(int prog_fd, int map_fd, const struct bpf_prog_bind_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_bind_map$address() {
        return bpf_prog_bind_map.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_bind_map(int prog_fd, int map_fd, const struct bpf_prog_bind_opts *opts)
     * }
     */
    public static int bpf_prog_bind_map(int prog_fd, int map_fd, MemorySegment opts) {
        var mh$ = bpf_prog_bind_map.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_bind_map", prog_fd, map_fd, opts);
            }
            return (int)mh$.invokeExact(prog_fd, map_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_test_run_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_test_run_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_prog_test_run_opts$descriptor() {
        return bpf_prog_test_run_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts)
     * }
     */
    public static MethodHandle bpf_prog_test_run_opts$handle() {
        return bpf_prog_test_run_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts)
     * }
     */
    public static MemorySegment bpf_prog_test_run_opts$address() {
        return bpf_prog_test_run_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_prog_test_run_opts(int prog_fd, struct bpf_test_run_opts *opts)
     * }
     */
    public static int bpf_prog_test_run_opts(int prog_fd, MemorySegment opts) {
        var mh$ = bpf_prog_test_run_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_test_run_opts", prog_fd, opts);
            }
            return (int)mh$.invokeExact(prog_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_token_create {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_token_create");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_token_create$descriptor() {
        return bpf_token_create.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts)
     * }
     */
    public static MethodHandle bpf_token_create$handle() {
        return bpf_token_create.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts)
     * }
     */
    public static MemorySegment bpf_token_create$address() {
        return bpf_token_create.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_token_create(int bpffs_fd, struct bpf_token_create_opts *opts)
     * }
     */
    public static int bpf_token_create(int bpffs_fd, MemorySegment opts) {
        var mh$ = bpf_token_create.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_token_create", bpffs_fd, opts);
            }
            return (int)mh$.invokeExact(bpffs_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    /**
     * {@snippet lang=c :
     * typedef __off_t off_t
     * }
     */
    public static final OfLong off_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __ssize_t ssize_t
     * }
     */
    public static final OfLong ssize_t = Lib.C_LONG;

    private static class stdin$constants {
        public static final AddressLayout LAYOUT = Lib.C_POINTER;
        public static final MemorySegment SEGMENT = Lib.findOrThrow("stdin").reinterpret(LAYOUT.byteSize());
    }

    /**
     * Layout for variable:
     * {@snippet lang=c :
     * extern FILE *stdin
     * }
     */
    public static AddressLayout stdin$layout() {
        return stdin$constants.LAYOUT;
    }

    /**
     * Segment for variable:
     * {@snippet lang=c :
     * extern FILE *stdin
     * }
     */
    public static MemorySegment stdin$segment() {
        return stdin$constants.SEGMENT;
    }

    /**
     * Getter for variable:
     * {@snippet lang=c :
     * extern FILE *stdin
     * }
     */
    public static MemorySegment stdin() {
        return stdin$constants.SEGMENT.get(stdin$constants.LAYOUT, 0L);
    }

    /**
     * Setter for variable:
     * {@snippet lang=c :
     * extern FILE *stdin
     * }
     */
    public static void stdin(MemorySegment varValue) {
        stdin$constants.SEGMENT.set(stdin$constants.LAYOUT, 0L, varValue);
    }

    private static class stdout$constants {
        public static final AddressLayout LAYOUT = Lib.C_POINTER;
        public static final MemorySegment SEGMENT = Lib.findOrThrow("stdout").reinterpret(LAYOUT.byteSize());
    }

    /**
     * Layout for variable:
     * {@snippet lang=c :
     * extern FILE *stdout
     * }
     */
    public static AddressLayout stdout$layout() {
        return stdout$constants.LAYOUT;
    }

    /**
     * Segment for variable:
     * {@snippet lang=c :
     * extern FILE *stdout
     * }
     */
    public static MemorySegment stdout$segment() {
        return stdout$constants.SEGMENT;
    }

    /**
     * Getter for variable:
     * {@snippet lang=c :
     * extern FILE *stdout
     * }
     */
    public static MemorySegment stdout() {
        return stdout$constants.SEGMENT.get(stdout$constants.LAYOUT, 0L);
    }

    /**
     * Setter for variable:
     * {@snippet lang=c :
     * extern FILE *stdout
     * }
     */
    public static void stdout(MemorySegment varValue) {
        stdout$constants.SEGMENT.set(stdout$constants.LAYOUT, 0L, varValue);
    }

    private static class stderr$constants {
        public static final AddressLayout LAYOUT = Lib.C_POINTER;
        public static final MemorySegment SEGMENT = Lib.findOrThrow("stderr").reinterpret(LAYOUT.byteSize());
    }

    /**
     * Layout for variable:
     * {@snippet lang=c :
     * extern FILE *stderr
     * }
     */
    public static AddressLayout stderr$layout() {
        return stderr$constants.LAYOUT;
    }

    /**
     * Segment for variable:
     * {@snippet lang=c :
     * extern FILE *stderr
     * }
     */
    public static MemorySegment stderr$segment() {
        return stderr$constants.SEGMENT;
    }

    /**
     * Getter for variable:
     * {@snippet lang=c :
     * extern FILE *stderr
     * }
     */
    public static MemorySegment stderr() {
        return stderr$constants.SEGMENT.get(stderr$constants.LAYOUT, 0L);
    }

    /**
     * Setter for variable:
     * {@snippet lang=c :
     * extern FILE *stderr
     * }
     */
    public static void stderr(MemorySegment varValue) {
        stderr$constants.SEGMENT.set(stderr$constants.LAYOUT, 0L, varValue);
    }

    private static class remove {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("remove");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int remove(const char *__filename)
     * }
     */
    public static FunctionDescriptor remove$descriptor() {
        return remove.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int remove(const char *__filename)
     * }
     */
    public static MethodHandle remove$handle() {
        return remove.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int remove(const char *__filename)
     * }
     */
    public static MemorySegment remove$address() {
        return remove.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int remove(const char *__filename)
     * }
     */
    public static int remove(MemorySegment __filename) {
        var mh$ = remove.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("remove", __filename);
            }
            return (int)mh$.invokeExact(__filename);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class rename {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("rename");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int rename(const char *__old, const char *__new)
     * }
     */
    public static FunctionDescriptor rename$descriptor() {
        return rename.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int rename(const char *__old, const char *__new)
     * }
     */
    public static MethodHandle rename$handle() {
        return rename.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int rename(const char *__old, const char *__new)
     * }
     */
    public static MemorySegment rename$address() {
        return rename.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int rename(const char *__old, const char *__new)
     * }
     */
    public static int rename(MemorySegment __old, MemorySegment __new) {
        var mh$ = rename.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("rename", __old, __new);
            }
            return (int)mh$.invokeExact(__old, __new);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class renameat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("renameat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int renameat(int __oldfd, const char *__old, int __newfd, const char *__new)
     * }
     */
    public static FunctionDescriptor renameat$descriptor() {
        return renameat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int renameat(int __oldfd, const char *__old, int __newfd, const char *__new)
     * }
     */
    public static MethodHandle renameat$handle() {
        return renameat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int renameat(int __oldfd, const char *__old, int __newfd, const char *__new)
     * }
     */
    public static MemorySegment renameat$address() {
        return renameat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int renameat(int __oldfd, const char *__old, int __newfd, const char *__new)
     * }
     */
    public static int renameat(int __oldfd, MemorySegment __old, int __newfd, MemorySegment __new) {
        var mh$ = renameat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("renameat", __oldfd, __old, __newfd, __new);
            }
            return (int)mh$.invokeExact(__oldfd, __old, __newfd, __new);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fclose {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fclose");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fclose(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fclose$descriptor() {
        return fclose.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fclose(FILE *__stream)
     * }
     */
    public static MethodHandle fclose$handle() {
        return fclose.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fclose(FILE *__stream)
     * }
     */
    public static MemorySegment fclose$address() {
        return fclose.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fclose(FILE *__stream)
     * }
     */
    public static int fclose(MemorySegment __stream) {
        var mh$ = fclose.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fclose", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class tmpfile {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("tmpfile");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *tmpfile()
     * }
     */
    public static FunctionDescriptor tmpfile$descriptor() {
        return tmpfile.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *tmpfile()
     * }
     */
    public static MethodHandle tmpfile$handle() {
        return tmpfile.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *tmpfile()
     * }
     */
    public static MemorySegment tmpfile$address() {
        return tmpfile.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *tmpfile()
     * }
     */
    public static MemorySegment tmpfile() {
        var mh$ = tmpfile.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("tmpfile");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class tmpnam {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("tmpnam");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *tmpnam(char [20])
     * }
     */
    public static FunctionDescriptor tmpnam$descriptor() {
        return tmpnam.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *tmpnam(char [20])
     * }
     */
    public static MethodHandle tmpnam$handle() {
        return tmpnam.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *tmpnam(char [20])
     * }
     */
    public static MemorySegment tmpnam$address() {
        return tmpnam.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *tmpnam(char [20])
     * }
     */
    public static MemorySegment tmpnam(MemorySegment x0) {
        var mh$ = tmpnam.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("tmpnam", x0);
            }
            return (MemorySegment)mh$.invokeExact(x0);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class tmpnam_r {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("tmpnam_r");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *tmpnam_r(char __s[20])
     * }
     */
    public static FunctionDescriptor tmpnam_r$descriptor() {
        return tmpnam_r.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *tmpnam_r(char __s[20])
     * }
     */
    public static MethodHandle tmpnam_r$handle() {
        return tmpnam_r.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *tmpnam_r(char __s[20])
     * }
     */
    public static MemorySegment tmpnam_r$address() {
        return tmpnam_r.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *tmpnam_r(char __s[20])
     * }
     */
    public static MemorySegment tmpnam_r(MemorySegment __s) {
        var mh$ = tmpnam_r.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("tmpnam_r", __s);
            }
            return (MemorySegment)mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class tempnam {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("tempnam");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *tempnam(const char *__dir, const char *__pfx)
     * }
     */
    public static FunctionDescriptor tempnam$descriptor() {
        return tempnam.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *tempnam(const char *__dir, const char *__pfx)
     * }
     */
    public static MethodHandle tempnam$handle() {
        return tempnam.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *tempnam(const char *__dir, const char *__pfx)
     * }
     */
    public static MemorySegment tempnam$address() {
        return tempnam.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *tempnam(const char *__dir, const char *__pfx)
     * }
     */
    public static MemorySegment tempnam(MemorySegment __dir, MemorySegment __pfx) {
        var mh$ = tempnam.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("tempnam", __dir, __pfx);
            }
            return (MemorySegment)mh$.invokeExact(__dir, __pfx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fflush {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fflush");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fflush(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fflush$descriptor() {
        return fflush.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fflush(FILE *__stream)
     * }
     */
    public static MethodHandle fflush$handle() {
        return fflush.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fflush(FILE *__stream)
     * }
     */
    public static MemorySegment fflush$address() {
        return fflush.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fflush(FILE *__stream)
     * }
     */
    public static int fflush(MemorySegment __stream) {
        var mh$ = fflush.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fflush", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fflush_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fflush_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fflush_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fflush_unlocked$descriptor() {
        return fflush_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fflush_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle fflush_unlocked$handle() {
        return fflush_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fflush_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment fflush_unlocked$address() {
        return fflush_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fflush_unlocked(FILE *__stream)
     * }
     */
    public static int fflush_unlocked(MemorySegment __stream) {
        var mh$ = fflush_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fflush_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fopen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fopen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *fopen(const char *restrict __filename, const char *restrict __modes)
     * }
     */
    public static FunctionDescriptor fopen$descriptor() {
        return fopen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *fopen(const char *restrict __filename, const char *restrict __modes)
     * }
     */
    public static MethodHandle fopen$handle() {
        return fopen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *fopen(const char *restrict __filename, const char *restrict __modes)
     * }
     */
    public static MemorySegment fopen$address() {
        return fopen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *fopen(const char *restrict __filename, const char *restrict __modes)
     * }
     */
    public static MemorySegment fopen(MemorySegment __filename, MemorySegment __modes) {
        var mh$ = fopen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fopen", __filename, __modes);
            }
            return (MemorySegment)mh$.invokeExact(__filename, __modes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class freopen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("freopen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *freopen(const char *restrict __filename, const char *restrict __modes, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor freopen$descriptor() {
        return freopen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *freopen(const char *restrict __filename, const char *restrict __modes, FILE *restrict __stream)
     * }
     */
    public static MethodHandle freopen$handle() {
        return freopen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *freopen(const char *restrict __filename, const char *restrict __modes, FILE *restrict __stream)
     * }
     */
    public static MemorySegment freopen$address() {
        return freopen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *freopen(const char *restrict __filename, const char *restrict __modes, FILE *restrict __stream)
     * }
     */
    public static MemorySegment freopen(MemorySegment __filename, MemorySegment __modes, MemorySegment __stream) {
        var mh$ = freopen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("freopen", __filename, __modes, __stream);
            }
            return (MemorySegment)mh$.invokeExact(__filename, __modes, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fdopen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fdopen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *fdopen(int __fd, const char *__modes)
     * }
     */
    public static FunctionDescriptor fdopen$descriptor() {
        return fdopen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *fdopen(int __fd, const char *__modes)
     * }
     */
    public static MethodHandle fdopen$handle() {
        return fdopen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *fdopen(int __fd, const char *__modes)
     * }
     */
    public static MemorySegment fdopen$address() {
        return fdopen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *fdopen(int __fd, const char *__modes)
     * }
     */
    public static MemorySegment fdopen(int __fd, MemorySegment __modes) {
        var mh$ = fdopen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fdopen", __fd, __modes);
            }
            return (MemorySegment)mh$.invokeExact(__fd, __modes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fopencookie {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            _IO_cookie_io_functions_t.layout()
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fopencookie");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *fopencookie(void *restrict __magic_cookie, const char *restrict __modes, cookie_io_functions_t __io_funcs)
     * }
     */
    public static FunctionDescriptor fopencookie$descriptor() {
        return fopencookie.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *fopencookie(void *restrict __magic_cookie, const char *restrict __modes, cookie_io_functions_t __io_funcs)
     * }
     */
    public static MethodHandle fopencookie$handle() {
        return fopencookie.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *fopencookie(void *restrict __magic_cookie, const char *restrict __modes, cookie_io_functions_t __io_funcs)
     * }
     */
    public static MemorySegment fopencookie$address() {
        return fopencookie.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *fopencookie(void *restrict __magic_cookie, const char *restrict __modes, cookie_io_functions_t __io_funcs)
     * }
     */
    public static MemorySegment fopencookie(MemorySegment __magic_cookie, MemorySegment __modes, MemorySegment __io_funcs) {
        var mh$ = fopencookie.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fopencookie", __magic_cookie, __modes, __io_funcs);
            }
            return (MemorySegment)mh$.invokeExact(__magic_cookie, __modes, __io_funcs);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fmemopen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fmemopen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *fmemopen(void *__s, size_t __len, const char *__modes)
     * }
     */
    public static FunctionDescriptor fmemopen$descriptor() {
        return fmemopen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *fmemopen(void *__s, size_t __len, const char *__modes)
     * }
     */
    public static MethodHandle fmemopen$handle() {
        return fmemopen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *fmemopen(void *__s, size_t __len, const char *__modes)
     * }
     */
    public static MemorySegment fmemopen$address() {
        return fmemopen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *fmemopen(void *__s, size_t __len, const char *__modes)
     * }
     */
    public static MemorySegment fmemopen(MemorySegment __s, long __len, MemorySegment __modes) {
        var mh$ = fmemopen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fmemopen", __s, __len, __modes);
            }
            return (MemorySegment)mh$.invokeExact(__s, __len, __modes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class open_memstream {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("open_memstream");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *open_memstream(char **__bufloc, size_t *__sizeloc)
     * }
     */
    public static FunctionDescriptor open_memstream$descriptor() {
        return open_memstream.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *open_memstream(char **__bufloc, size_t *__sizeloc)
     * }
     */
    public static MethodHandle open_memstream$handle() {
        return open_memstream.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *open_memstream(char **__bufloc, size_t *__sizeloc)
     * }
     */
    public static MemorySegment open_memstream$address() {
        return open_memstream.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *open_memstream(char **__bufloc, size_t *__sizeloc)
     * }
     */
    public static MemorySegment open_memstream(MemorySegment __bufloc, MemorySegment __sizeloc) {
        var mh$ = open_memstream.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("open_memstream", __bufloc, __sizeloc);
            }
            return (MemorySegment)mh$.invokeExact(__bufloc, __sizeloc);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class setbuf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("setbuf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void setbuf(FILE *restrict __stream, char *restrict __buf)
     * }
     */
    public static FunctionDescriptor setbuf$descriptor() {
        return setbuf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void setbuf(FILE *restrict __stream, char *restrict __buf)
     * }
     */
    public static MethodHandle setbuf$handle() {
        return setbuf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void setbuf(FILE *restrict __stream, char *restrict __buf)
     * }
     */
    public static MemorySegment setbuf$address() {
        return setbuf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void setbuf(FILE *restrict __stream, char *restrict __buf)
     * }
     */
    public static void setbuf(MemorySegment __stream, MemorySegment __buf) {
        var mh$ = setbuf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("setbuf", __stream, __buf);
            }
            mh$.invokeExact(__stream, __buf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class setvbuf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("setvbuf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int setvbuf(FILE *restrict __stream, char *restrict __buf, int __modes, size_t __n)
     * }
     */
    public static FunctionDescriptor setvbuf$descriptor() {
        return setvbuf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int setvbuf(FILE *restrict __stream, char *restrict __buf, int __modes, size_t __n)
     * }
     */
    public static MethodHandle setvbuf$handle() {
        return setvbuf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int setvbuf(FILE *restrict __stream, char *restrict __buf, int __modes, size_t __n)
     * }
     */
    public static MemorySegment setvbuf$address() {
        return setvbuf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int setvbuf(FILE *restrict __stream, char *restrict __buf, int __modes, size_t __n)
     * }
     */
    public static int setvbuf(MemorySegment __stream, MemorySegment __buf, int __modes, long __n) {
        var mh$ = setvbuf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("setvbuf", __stream, __buf, __modes, __n);
            }
            return (int)mh$.invokeExact(__stream, __buf, __modes, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class setbuffer {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("setbuffer");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void setbuffer(FILE *restrict __stream, char *restrict __buf, size_t __size)
     * }
     */
    public static FunctionDescriptor setbuffer$descriptor() {
        return setbuffer.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void setbuffer(FILE *restrict __stream, char *restrict __buf, size_t __size)
     * }
     */
    public static MethodHandle setbuffer$handle() {
        return setbuffer.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void setbuffer(FILE *restrict __stream, char *restrict __buf, size_t __size)
     * }
     */
    public static MemorySegment setbuffer$address() {
        return setbuffer.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void setbuffer(FILE *restrict __stream, char *restrict __buf, size_t __size)
     * }
     */
    public static void setbuffer(MemorySegment __stream, MemorySegment __buf, long __size) {
        var mh$ = setbuffer.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("setbuffer", __stream, __buf, __size);
            }
            mh$.invokeExact(__stream, __buf, __size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class setlinebuf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("setlinebuf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void setlinebuf(FILE *__stream)
     * }
     */
    public static FunctionDescriptor setlinebuf$descriptor() {
        return setlinebuf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void setlinebuf(FILE *__stream)
     * }
     */
    public static MethodHandle setlinebuf$handle() {
        return setlinebuf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void setlinebuf(FILE *__stream)
     * }
     */
    public static MemorySegment setlinebuf$address() {
        return setlinebuf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void setlinebuf(FILE *__stream)
     * }
     */
    public static void setlinebuf(MemorySegment __stream) {
        var mh$ = setlinebuf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("setlinebuf", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int fprintf(FILE *restrict __stream, const char *restrict __format, ...)
     * }
     */
    public static class fprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("fprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private fprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int fprintf(FILE *restrict __stream, const char *restrict __format, ...)
         * }
         */
        public static fprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new fprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __stream, MemorySegment __format, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("fprintf", __stream, __format, x2);
                }
                return (int)spreader.invokeExact(__stream, __format, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int printf(const char *restrict __format, ...)
     * }
     */
    public static class printf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("printf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private printf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int printf(const char *restrict __format, ...)
         * }
         */
        public static printf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new printf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __format, Object... x1) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("printf", __format, x1);
                }
                return (int)spreader.invokeExact(__format, x1);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int sprintf(char *restrict __s, const char *restrict __format, ...)
     * }
     */
    public static class sprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("sprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private sprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int sprintf(char *restrict __s, const char *restrict __format, ...)
         * }
         */
        public static sprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new sprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __s, MemorySegment __format, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("sprintf", __s, __format, x2);
                }
                return (int)spreader.invokeExact(__s, __format, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static class vfprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vfprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vfprintf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vfprintf$descriptor() {
        return vfprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vfprintf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vfprintf$handle() {
        return vfprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vfprintf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vfprintf$address() {
        return vfprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vfprintf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vfprintf(MemorySegment __s, MemorySegment __format, MemorySegment __arg) {
        var mh$ = vfprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vfprintf", __s, __format, __arg);
            }
            return (int)mh$.invokeExact(__s, __format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class vprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vprintf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vprintf$descriptor() {
        return vprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vprintf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vprintf$handle() {
        return vprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vprintf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vprintf$address() {
        return vprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vprintf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vprintf(MemorySegment __format, MemorySegment __arg) {
        var mh$ = vprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vprintf", __format, __arg);
            }
            return (int)mh$.invokeExact(__format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class vsprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vsprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vsprintf(char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vsprintf$descriptor() {
        return vsprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vsprintf(char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vsprintf$handle() {
        return vsprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vsprintf(char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vsprintf$address() {
        return vsprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vsprintf(char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vsprintf(MemorySegment __s, MemorySegment __format, MemorySegment __arg) {
        var mh$ = vsprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vsprintf", __s, __format, __arg);
            }
            return (int)mh$.invokeExact(__s, __format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int snprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, ...)
     * }
     */
    public static class snprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_LONG,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("snprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private snprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int snprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, ...)
         * }
         */
        public static snprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new snprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __s, long __maxlen, MemorySegment __format, Object... x3) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("snprintf", __s, __maxlen, __format, x3);
                }
                return (int)spreader.invokeExact(__s, __maxlen, __format, x3);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static class vsnprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vsnprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vsnprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vsnprintf$descriptor() {
        return vsnprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vsnprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vsnprintf$handle() {
        return vsnprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vsnprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vsnprintf$address() {
        return vsnprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vsnprintf(char *restrict __s, size_t __maxlen, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vsnprintf(MemorySegment __s, long __maxlen, MemorySegment __format, MemorySegment __arg) {
        var mh$ = vsnprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vsnprintf", __s, __maxlen, __format, __arg);
            }
            return (int)mh$.invokeExact(__s, __maxlen, __format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class vasprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vasprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vasprintf(char **restrict __ptr, const char *restrict __f, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vasprintf$descriptor() {
        return vasprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vasprintf(char **restrict __ptr, const char *restrict __f, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vasprintf$handle() {
        return vasprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vasprintf(char **restrict __ptr, const char *restrict __f, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vasprintf$address() {
        return vasprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vasprintf(char **restrict __ptr, const char *restrict __f, __gnuc_va_list __arg)
     * }
     */
    public static int vasprintf(MemorySegment __ptr, MemorySegment __f, MemorySegment __arg) {
        var mh$ = vasprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vasprintf", __ptr, __f, __arg);
            }
            return (int)mh$.invokeExact(__ptr, __f, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int __asprintf(char **restrict __ptr, const char *restrict __fmt, ...)
     * }
     */
    public static class __asprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("__asprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private __asprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int __asprintf(char **restrict __ptr, const char *restrict __fmt, ...)
         * }
         */
        public static __asprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new __asprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __ptr, MemorySegment __fmt, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("__asprintf", __ptr, __fmt, x2);
                }
                return (int)spreader.invokeExact(__ptr, __fmt, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int asprintf(char **restrict __ptr, const char *restrict __fmt, ...)
     * }
     */
    public static class asprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("asprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private asprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int asprintf(char **restrict __ptr, const char *restrict __fmt, ...)
         * }
         */
        public static asprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new asprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __ptr, MemorySegment __fmt, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("asprintf", __ptr, __fmt, x2);
                }
                return (int)spreader.invokeExact(__ptr, __fmt, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static class vdprintf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vdprintf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vdprintf(int __fd, const char *restrict __fmt, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vdprintf$descriptor() {
        return vdprintf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vdprintf(int __fd, const char *restrict __fmt, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vdprintf$handle() {
        return vdprintf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vdprintf(int __fd, const char *restrict __fmt, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vdprintf$address() {
        return vdprintf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vdprintf(int __fd, const char *restrict __fmt, __gnuc_va_list __arg)
     * }
     */
    public static int vdprintf(int __fd, MemorySegment __fmt, MemorySegment __arg) {
        var mh$ = vdprintf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vdprintf", __fd, __fmt, __arg);
            }
            return (int)mh$.invokeExact(__fd, __fmt, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int dprintf(int __fd, const char *restrict __fmt, ...)
     * }
     */
    public static class dprintf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_INT,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("dprintf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private dprintf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int dprintf(int __fd, const char *restrict __fmt, ...)
         * }
         */
        public static dprintf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new dprintf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(int __fd, MemorySegment __fmt, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("dprintf", __fd, __fmt, x2);
                }
                return (int)spreader.invokeExact(__fd, __fmt, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int fscanf(FILE *restrict __stream, const char *restrict __format, ...)
     * }
     */
    public static class fscanf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("fscanf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private fscanf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int fscanf(FILE *restrict __stream, const char *restrict __format, ...)
         * }
         */
        public static fscanf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new fscanf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __stream, MemorySegment __format, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("fscanf", __stream, __format, x2);
                }
                return (int)spreader.invokeExact(__stream, __format, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int scanf(const char *restrict __format, ...)
     * }
     */
    public static class scanf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("scanf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private scanf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int scanf(const char *restrict __format, ...)
         * }
         */
        public static scanf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new scanf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __format, Object... x1) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("scanf", __format, x1);
                }
                return (int)spreader.invokeExact(__format, x1);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int sscanf(const char *restrict __s, const char *restrict __format, ...)
     * }
     */
    public static class sscanf {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("sscanf");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private sscanf(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int sscanf(const char *restrict __s, const char *restrict __format, ...)
         * }
         */
        public static sscanf makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new sscanf(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __s, MemorySegment __format, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("sscanf", __s, __format, x2);
                }
                return (int)spreader.invokeExact(__s, __format, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }
    /**
     * {@snippet lang=c :
     * typedef float _Float32
     * }
     */
    public static final OfFloat _Float32 = Lib.C_FLOAT;
    /**
     * {@snippet lang=c :
     * typedef double _Float64
     * }
     */
    public static final OfDouble _Float64 = Lib.C_DOUBLE;
    /**
     * {@snippet lang=c :
     * typedef double _Float32x
     * }
     */
    public static final OfDouble _Float32x = Lib.C_DOUBLE;

    private static class vfscanf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vfscanf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vfscanf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vfscanf$descriptor() {
        return vfscanf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vfscanf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vfscanf$handle() {
        return vfscanf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vfscanf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vfscanf$address() {
        return vfscanf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vfscanf(FILE *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vfscanf(MemorySegment __s, MemorySegment __format, MemorySegment __arg) {
        var mh$ = vfscanf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vfscanf", __s, __format, __arg);
            }
            return (int)mh$.invokeExact(__s, __format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class vscanf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vscanf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vscanf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vscanf$descriptor() {
        return vscanf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vscanf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vscanf$handle() {
        return vscanf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vscanf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vscanf$address() {
        return vscanf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vscanf(const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vscanf(MemorySegment __format, MemorySegment __arg) {
        var mh$ = vscanf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vscanf", __format, __arg);
            }
            return (int)mh$.invokeExact(__format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class vsscanf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("vsscanf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int vsscanf(const char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static FunctionDescriptor vsscanf$descriptor() {
        return vsscanf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int vsscanf(const char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MethodHandle vsscanf$handle() {
        return vsscanf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int vsscanf(const char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static MemorySegment vsscanf$address() {
        return vsscanf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int vsscanf(const char *restrict __s, const char *restrict __format, __gnuc_va_list __arg)
     * }
     */
    public static int vsscanf(MemorySegment __s, MemorySegment __format, MemorySegment __arg) {
        var mh$ = vsscanf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("vsscanf", __s, __format, __arg);
            }
            return (int)mh$.invokeExact(__s, __format, __arg);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fgetc {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fgetc");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fgetc(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fgetc$descriptor() {
        return fgetc.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fgetc(FILE *__stream)
     * }
     */
    public static MethodHandle fgetc$handle() {
        return fgetc.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fgetc(FILE *__stream)
     * }
     */
    public static MemorySegment fgetc$address() {
        return fgetc.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fgetc(FILE *__stream)
     * }
     */
    public static int fgetc(MemorySegment __stream) {
        var mh$ = fgetc.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fgetc", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getc {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getc");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int getc(FILE *__stream)
     * }
     */
    public static FunctionDescriptor getc$descriptor() {
        return getc.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int getc(FILE *__stream)
     * }
     */
    public static MethodHandle getc$handle() {
        return getc.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int getc(FILE *__stream)
     * }
     */
    public static MemorySegment getc$address() {
        return getc.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int getc(FILE *__stream)
     * }
     */
    public static int getc(MemorySegment __stream) {
        var mh$ = getc.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getc", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getchar {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("getchar");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int getchar()
     * }
     */
    public static FunctionDescriptor getchar$descriptor() {
        return getchar.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int getchar()
     * }
     */
    public static MethodHandle getchar$handle() {
        return getchar.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int getchar()
     * }
     */
    public static MemorySegment getchar$address() {
        return getchar.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int getchar()
     * }
     */
    public static int getchar() {
        var mh$ = getchar.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getchar");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getc_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getc_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int getc_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor getc_unlocked$descriptor() {
        return getc_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int getc_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle getc_unlocked$handle() {
        return getc_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int getc_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment getc_unlocked$address() {
        return getc_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int getc_unlocked(FILE *__stream)
     * }
     */
    public static int getc_unlocked(MemorySegment __stream) {
        var mh$ = getc_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getc_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getchar_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("getchar_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int getchar_unlocked()
     * }
     */
    public static FunctionDescriptor getchar_unlocked$descriptor() {
        return getchar_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int getchar_unlocked()
     * }
     */
    public static MethodHandle getchar_unlocked$handle() {
        return getchar_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int getchar_unlocked()
     * }
     */
    public static MemorySegment getchar_unlocked$address() {
        return getchar_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int getchar_unlocked()
     * }
     */
    public static int getchar_unlocked() {
        var mh$ = getchar_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getchar_unlocked");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fgetc_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fgetc_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fgetc_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fgetc_unlocked$descriptor() {
        return fgetc_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fgetc_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle fgetc_unlocked$handle() {
        return fgetc_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fgetc_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment fgetc_unlocked$address() {
        return fgetc_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fgetc_unlocked(FILE *__stream)
     * }
     */
    public static int fgetc_unlocked(MemorySegment __stream) {
        var mh$ = fgetc_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fgetc_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fputc {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fputc");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fputc(int __c, FILE *__stream)
     * }
     */
    public static FunctionDescriptor fputc$descriptor() {
        return fputc.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fputc(int __c, FILE *__stream)
     * }
     */
    public static MethodHandle fputc$handle() {
        return fputc.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fputc(int __c, FILE *__stream)
     * }
     */
    public static MemorySegment fputc$address() {
        return fputc.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fputc(int __c, FILE *__stream)
     * }
     */
    public static int fputc(int __c, MemorySegment __stream) {
        var mh$ = fputc.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fputc", __c, __stream);
            }
            return (int)mh$.invokeExact(__c, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class putc {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("putc");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int putc(int __c, FILE *__stream)
     * }
     */
    public static FunctionDescriptor putc$descriptor() {
        return putc.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int putc(int __c, FILE *__stream)
     * }
     */
    public static MethodHandle putc$handle() {
        return putc.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int putc(int __c, FILE *__stream)
     * }
     */
    public static MemorySegment putc$address() {
        return putc.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int putc(int __c, FILE *__stream)
     * }
     */
    public static int putc(int __c, MemorySegment __stream) {
        var mh$ = putc.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("putc", __c, __stream);
            }
            return (int)mh$.invokeExact(__c, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class putchar {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("putchar");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int putchar(int __c)
     * }
     */
    public static FunctionDescriptor putchar$descriptor() {
        return putchar.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int putchar(int __c)
     * }
     */
    public static MethodHandle putchar$handle() {
        return putchar.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int putchar(int __c)
     * }
     */
    public static MemorySegment putchar$address() {
        return putchar.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int putchar(int __c)
     * }
     */
    public static int putchar(int __c) {
        var mh$ = putchar.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("putchar", __c);
            }
            return (int)mh$.invokeExact(__c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fputc_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fputc_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fputc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static FunctionDescriptor fputc_unlocked$descriptor() {
        return fputc_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fputc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static MethodHandle fputc_unlocked$handle() {
        return fputc_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fputc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static MemorySegment fputc_unlocked$address() {
        return fputc_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fputc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static int fputc_unlocked(int __c, MemorySegment __stream) {
        var mh$ = fputc_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fputc_unlocked", __c, __stream);
            }
            return (int)mh$.invokeExact(__c, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class putc_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("putc_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int putc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static FunctionDescriptor putc_unlocked$descriptor() {
        return putc_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int putc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static MethodHandle putc_unlocked$handle() {
        return putc_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int putc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static MemorySegment putc_unlocked$address() {
        return putc_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int putc_unlocked(int __c, FILE *__stream)
     * }
     */
    public static int putc_unlocked(int __c, MemorySegment __stream) {
        var mh$ = putc_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("putc_unlocked", __c, __stream);
            }
            return (int)mh$.invokeExact(__c, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class putchar_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("putchar_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int putchar_unlocked(int __c)
     * }
     */
    public static FunctionDescriptor putchar_unlocked$descriptor() {
        return putchar_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int putchar_unlocked(int __c)
     * }
     */
    public static MethodHandle putchar_unlocked$handle() {
        return putchar_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int putchar_unlocked(int __c)
     * }
     */
    public static MemorySegment putchar_unlocked$address() {
        return putchar_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int putchar_unlocked(int __c)
     * }
     */
    public static int putchar_unlocked(int __c) {
        var mh$ = putchar_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("putchar_unlocked", __c);
            }
            return (int)mh$.invokeExact(__c);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getw {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getw");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int getw(FILE *__stream)
     * }
     */
    public static FunctionDescriptor getw$descriptor() {
        return getw.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int getw(FILE *__stream)
     * }
     */
    public static MethodHandle getw$handle() {
        return getw.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int getw(FILE *__stream)
     * }
     */
    public static MemorySegment getw$address() {
        return getw.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int getw(FILE *__stream)
     * }
     */
    public static int getw(MemorySegment __stream) {
        var mh$ = getw.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getw", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class putw {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("putw");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int putw(int __w, FILE *__stream)
     * }
     */
    public static FunctionDescriptor putw$descriptor() {
        return putw.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int putw(int __w, FILE *__stream)
     * }
     */
    public static MethodHandle putw$handle() {
        return putw.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int putw(int __w, FILE *__stream)
     * }
     */
    public static MemorySegment putw$address() {
        return putw.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int putw(int __w, FILE *__stream)
     * }
     */
    public static int putw(int __w, MemorySegment __stream) {
        var mh$ = putw.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("putw", __w, __stream);
            }
            return (int)mh$.invokeExact(__w, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fgets {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fgets");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *fgets(char *restrict __s, int __n, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor fgets$descriptor() {
        return fgets.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *fgets(char *restrict __s, int __n, FILE *restrict __stream)
     * }
     */
    public static MethodHandle fgets$handle() {
        return fgets.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *fgets(char *restrict __s, int __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fgets$address() {
        return fgets.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *fgets(char *restrict __s, int __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fgets(MemorySegment __s, int __n, MemorySegment __stream) {
        var mh$ = fgets.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fgets", __s, __n, __stream);
            }
            return (MemorySegment)mh$.invokeExact(__s, __n, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __getdelim {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__getdelim");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __ssize_t __getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor __getdelim$descriptor() {
        return __getdelim.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __ssize_t __getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static MethodHandle __getdelim$handle() {
        return __getdelim.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __ssize_t __getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static MemorySegment __getdelim$address() {
        return __getdelim.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __ssize_t __getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static long __getdelim(MemorySegment __lineptr, MemorySegment __n, int __delimiter, MemorySegment __stream) {
        var mh$ = __getdelim.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__getdelim", __lineptr, __n, __delimiter, __stream);
            }
            return (long)mh$.invokeExact(__lineptr, __n, __delimiter, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getdelim {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getdelim");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __ssize_t getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor getdelim$descriptor() {
        return getdelim.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __ssize_t getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static MethodHandle getdelim$handle() {
        return getdelim.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __ssize_t getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static MemorySegment getdelim$address() {
        return getdelim.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __ssize_t getdelim(char **restrict __lineptr, size_t *restrict __n, int __delimiter, FILE *restrict __stream)
     * }
     */
    public static long getdelim(MemorySegment __lineptr, MemorySegment __n, int __delimiter, MemorySegment __stream) {
        var mh$ = getdelim.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getdelim", __lineptr, __n, __delimiter, __stream);
            }
            return (long)mh$.invokeExact(__lineptr, __n, __delimiter, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getline {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getline");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __ssize_t getline(char **restrict __lineptr, size_t *restrict __n, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor getline$descriptor() {
        return getline.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __ssize_t getline(char **restrict __lineptr, size_t *restrict __n, FILE *restrict __stream)
     * }
     */
    public static MethodHandle getline$handle() {
        return getline.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __ssize_t getline(char **restrict __lineptr, size_t *restrict __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment getline$address() {
        return getline.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __ssize_t getline(char **restrict __lineptr, size_t *restrict __n, FILE *restrict __stream)
     * }
     */
    public static long getline(MemorySegment __lineptr, MemorySegment __n, MemorySegment __stream) {
        var mh$ = getline.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getline", __lineptr, __n, __stream);
            }
            return (long)mh$.invokeExact(__lineptr, __n, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fputs {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fputs");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fputs(const char *restrict __s, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor fputs$descriptor() {
        return fputs.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fputs(const char *restrict __s, FILE *restrict __stream)
     * }
     */
    public static MethodHandle fputs$handle() {
        return fputs.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fputs(const char *restrict __s, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fputs$address() {
        return fputs.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fputs(const char *restrict __s, FILE *restrict __stream)
     * }
     */
    public static int fputs(MemorySegment __s, MemorySegment __stream) {
        var mh$ = fputs.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fputs", __s, __stream);
            }
            return (int)mh$.invokeExact(__s, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class puts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("puts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int puts(const char *__s)
     * }
     */
    public static FunctionDescriptor puts$descriptor() {
        return puts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int puts(const char *__s)
     * }
     */
    public static MethodHandle puts$handle() {
        return puts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int puts(const char *__s)
     * }
     */
    public static MemorySegment puts$address() {
        return puts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int puts(const char *__s)
     * }
     */
    public static int puts(MemorySegment __s) {
        var mh$ = puts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("puts", __s);
            }
            return (int)mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ungetc {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ungetc");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ungetc(int __c, FILE *__stream)
     * }
     */
    public static FunctionDescriptor ungetc$descriptor() {
        return ungetc.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ungetc(int __c, FILE *__stream)
     * }
     */
    public static MethodHandle ungetc$handle() {
        return ungetc.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ungetc(int __c, FILE *__stream)
     * }
     */
    public static MemorySegment ungetc$address() {
        return ungetc.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ungetc(int __c, FILE *__stream)
     * }
     */
    public static int ungetc(int __c, MemorySegment __stream) {
        var mh$ = ungetc.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ungetc", __c, __stream);
            }
            return (int)mh$.invokeExact(__c, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fread {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fread");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long fread(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor fread$descriptor() {
        return fread.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long fread(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MethodHandle fread$handle() {
        return fread.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long fread(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fread$address() {
        return fread.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long fread(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static long fread(MemorySegment __ptr, long __size, long __n, MemorySegment __stream) {
        var mh$ = fread.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fread", __ptr, __size, __n, __stream);
            }
            return (long)mh$.invokeExact(__ptr, __size, __n, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fwrite {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fwrite");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned long fwrite(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __s)
     * }
     */
    public static FunctionDescriptor fwrite$descriptor() {
        return fwrite.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned long fwrite(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __s)
     * }
     */
    public static MethodHandle fwrite$handle() {
        return fwrite.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned long fwrite(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __s)
     * }
     */
    public static MemorySegment fwrite$address() {
        return fwrite.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned long fwrite(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __s)
     * }
     */
    public static long fwrite(MemorySegment __ptr, long __size, long __n, MemorySegment __s) {
        var mh$ = fwrite.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fwrite", __ptr, __size, __n, __s);
            }
            return (long)mh$.invokeExact(__ptr, __size, __n, __s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fread_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fread_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern size_t fread_unlocked(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor fread_unlocked$descriptor() {
        return fread_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern size_t fread_unlocked(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MethodHandle fread_unlocked$handle() {
        return fread_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern size_t fread_unlocked(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fread_unlocked$address() {
        return fread_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern size_t fread_unlocked(void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static long fread_unlocked(MemorySegment __ptr, long __size, long __n, MemorySegment __stream) {
        var mh$ = fread_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fread_unlocked", __ptr, __size, __n, __stream);
            }
            return (long)mh$.invokeExact(__ptr, __size, __n, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fwrite_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fwrite_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern size_t fwrite_unlocked(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static FunctionDescriptor fwrite_unlocked$descriptor() {
        return fwrite_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern size_t fwrite_unlocked(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MethodHandle fwrite_unlocked$handle() {
        return fwrite_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern size_t fwrite_unlocked(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static MemorySegment fwrite_unlocked$address() {
        return fwrite_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern size_t fwrite_unlocked(const void *restrict __ptr, size_t __size, size_t __n, FILE *restrict __stream)
     * }
     */
    public static long fwrite_unlocked(MemorySegment __ptr, long __size, long __n, MemorySegment __stream) {
        var mh$ = fwrite_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fwrite_unlocked", __ptr, __size, __n, __stream);
            }
            return (long)mh$.invokeExact(__ptr, __size, __n, __stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fseek {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fseek");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fseek(FILE *__stream, long __off, int __whence)
     * }
     */
    public static FunctionDescriptor fseek$descriptor() {
        return fseek.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fseek(FILE *__stream, long __off, int __whence)
     * }
     */
    public static MethodHandle fseek$handle() {
        return fseek.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fseek(FILE *__stream, long __off, int __whence)
     * }
     */
    public static MemorySegment fseek$address() {
        return fseek.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fseek(FILE *__stream, long __off, int __whence)
     * }
     */
    public static int fseek(MemorySegment __stream, long __off, int __whence) {
        var mh$ = fseek.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fseek", __stream, __off, __whence);
            }
            return (int)mh$.invokeExact(__stream, __off, __whence);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ftell {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ftell");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern long ftell(FILE *__stream)
     * }
     */
    public static FunctionDescriptor ftell$descriptor() {
        return ftell.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern long ftell(FILE *__stream)
     * }
     */
    public static MethodHandle ftell$handle() {
        return ftell.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern long ftell(FILE *__stream)
     * }
     */
    public static MemorySegment ftell$address() {
        return ftell.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern long ftell(FILE *__stream)
     * }
     */
    public static long ftell(MemorySegment __stream) {
        var mh$ = ftell.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ftell", __stream);
            }
            return (long)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class rewind {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("rewind");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void rewind(FILE *__stream)
     * }
     */
    public static FunctionDescriptor rewind$descriptor() {
        return rewind.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void rewind(FILE *__stream)
     * }
     */
    public static MethodHandle rewind$handle() {
        return rewind.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void rewind(FILE *__stream)
     * }
     */
    public static MemorySegment rewind$address() {
        return rewind.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void rewind(FILE *__stream)
     * }
     */
    public static void rewind(MemorySegment __stream) {
        var mh$ = rewind.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("rewind", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fseeko {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fseeko");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fseeko(FILE *__stream, __off_t __off, int __whence)
     * }
     */
    public static FunctionDescriptor fseeko$descriptor() {
        return fseeko.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fseeko(FILE *__stream, __off_t __off, int __whence)
     * }
     */
    public static MethodHandle fseeko$handle() {
        return fseeko.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fseeko(FILE *__stream, __off_t __off, int __whence)
     * }
     */
    public static MemorySegment fseeko$address() {
        return fseeko.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fseeko(FILE *__stream, __off_t __off, int __whence)
     * }
     */
    public static int fseeko(MemorySegment __stream, long __off, int __whence) {
        var mh$ = fseeko.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fseeko", __stream, __off, __whence);
            }
            return (int)mh$.invokeExact(__stream, __off, __whence);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ftello {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ftello");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __off_t ftello(FILE *__stream)
     * }
     */
    public static FunctionDescriptor ftello$descriptor() {
        return ftello.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __off_t ftello(FILE *__stream)
     * }
     */
    public static MethodHandle ftello$handle() {
        return ftello.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __off_t ftello(FILE *__stream)
     * }
     */
    public static MemorySegment ftello$address() {
        return ftello.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __off_t ftello(FILE *__stream)
     * }
     */
    public static long ftello(MemorySegment __stream) {
        var mh$ = ftello.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ftello", __stream);
            }
            return (long)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fgetpos {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fgetpos");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fgetpos(FILE *restrict __stream, fpos_t *restrict __pos)
     * }
     */
    public static FunctionDescriptor fgetpos$descriptor() {
        return fgetpos.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fgetpos(FILE *restrict __stream, fpos_t *restrict __pos)
     * }
     */
    public static MethodHandle fgetpos$handle() {
        return fgetpos.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fgetpos(FILE *restrict __stream, fpos_t *restrict __pos)
     * }
     */
    public static MemorySegment fgetpos$address() {
        return fgetpos.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fgetpos(FILE *restrict __stream, fpos_t *restrict __pos)
     * }
     */
    public static int fgetpos(MemorySegment __stream, MemorySegment __pos) {
        var mh$ = fgetpos.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fgetpos", __stream, __pos);
            }
            return (int)mh$.invokeExact(__stream, __pos);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fsetpos {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fsetpos");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fsetpos(FILE *__stream, const fpos_t *__pos)
     * }
     */
    public static FunctionDescriptor fsetpos$descriptor() {
        return fsetpos.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fsetpos(FILE *__stream, const fpos_t *__pos)
     * }
     */
    public static MethodHandle fsetpos$handle() {
        return fsetpos.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fsetpos(FILE *__stream, const fpos_t *__pos)
     * }
     */
    public static MemorySegment fsetpos$address() {
        return fsetpos.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fsetpos(FILE *__stream, const fpos_t *__pos)
     * }
     */
    public static int fsetpos(MemorySegment __stream, MemorySegment __pos) {
        var mh$ = fsetpos.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fsetpos", __stream, __pos);
            }
            return (int)mh$.invokeExact(__stream, __pos);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class clearerr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("clearerr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void clearerr(FILE *__stream)
     * }
     */
    public static FunctionDescriptor clearerr$descriptor() {
        return clearerr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void clearerr(FILE *__stream)
     * }
     */
    public static MethodHandle clearerr$handle() {
        return clearerr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void clearerr(FILE *__stream)
     * }
     */
    public static MemorySegment clearerr$address() {
        return clearerr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void clearerr(FILE *__stream)
     * }
     */
    public static void clearerr(MemorySegment __stream) {
        var mh$ = clearerr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("clearerr", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class feof {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("feof");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int feof(FILE *__stream)
     * }
     */
    public static FunctionDescriptor feof$descriptor() {
        return feof.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int feof(FILE *__stream)
     * }
     */
    public static MethodHandle feof$handle() {
        return feof.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int feof(FILE *__stream)
     * }
     */
    public static MemorySegment feof$address() {
        return feof.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int feof(FILE *__stream)
     * }
     */
    public static int feof(MemorySegment __stream) {
        var mh$ = feof.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("feof", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ferror {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ferror");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ferror(FILE *__stream)
     * }
     */
    public static FunctionDescriptor ferror$descriptor() {
        return ferror.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ferror(FILE *__stream)
     * }
     */
    public static MethodHandle ferror$handle() {
        return ferror.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ferror(FILE *__stream)
     * }
     */
    public static MemorySegment ferror$address() {
        return ferror.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ferror(FILE *__stream)
     * }
     */
    public static int ferror(MemorySegment __stream) {
        var mh$ = ferror.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ferror", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class clearerr_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("clearerr_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void clearerr_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor clearerr_unlocked$descriptor() {
        return clearerr_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void clearerr_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle clearerr_unlocked$handle() {
        return clearerr_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void clearerr_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment clearerr_unlocked$address() {
        return clearerr_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void clearerr_unlocked(FILE *__stream)
     * }
     */
    public static void clearerr_unlocked(MemorySegment __stream) {
        var mh$ = clearerr_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("clearerr_unlocked", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class feof_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("feof_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int feof_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor feof_unlocked$descriptor() {
        return feof_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int feof_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle feof_unlocked$handle() {
        return feof_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int feof_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment feof_unlocked$address() {
        return feof_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int feof_unlocked(FILE *__stream)
     * }
     */
    public static int feof_unlocked(MemorySegment __stream) {
        var mh$ = feof_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("feof_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ferror_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ferror_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ferror_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor ferror_unlocked$descriptor() {
        return ferror_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ferror_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle ferror_unlocked$handle() {
        return ferror_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ferror_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment ferror_unlocked$address() {
        return ferror_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ferror_unlocked(FILE *__stream)
     * }
     */
    public static int ferror_unlocked(MemorySegment __stream) {
        var mh$ = ferror_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ferror_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perror {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perror");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void perror(const char *__s)
     * }
     */
    public static FunctionDescriptor perror$descriptor() {
        return perror.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void perror(const char *__s)
     * }
     */
    public static MethodHandle perror$handle() {
        return perror.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void perror(const char *__s)
     * }
     */
    public static MemorySegment perror$address() {
        return perror.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void perror(const char *__s)
     * }
     */
    public static void perror(MemorySegment __s) {
        var mh$ = perror.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perror", __s);
            }
            mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fileno {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fileno");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fileno(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fileno$descriptor() {
        return fileno.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fileno(FILE *__stream)
     * }
     */
    public static MethodHandle fileno$handle() {
        return fileno.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fileno(FILE *__stream)
     * }
     */
    public static MemorySegment fileno$address() {
        return fileno.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fileno(FILE *__stream)
     * }
     */
    public static int fileno(MemorySegment __stream) {
        var mh$ = fileno.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fileno", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fileno_unlocked {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fileno_unlocked");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fileno_unlocked(FILE *__stream)
     * }
     */
    public static FunctionDescriptor fileno_unlocked$descriptor() {
        return fileno_unlocked.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fileno_unlocked(FILE *__stream)
     * }
     */
    public static MethodHandle fileno_unlocked$handle() {
        return fileno_unlocked.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fileno_unlocked(FILE *__stream)
     * }
     */
    public static MemorySegment fileno_unlocked$address() {
        return fileno_unlocked.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fileno_unlocked(FILE *__stream)
     * }
     */
    public static int fileno_unlocked(MemorySegment __stream) {
        var mh$ = fileno_unlocked.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fileno_unlocked", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pclose {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pclose");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int pclose(FILE *__stream)
     * }
     */
    public static FunctionDescriptor pclose$descriptor() {
        return pclose.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int pclose(FILE *__stream)
     * }
     */
    public static MethodHandle pclose$handle() {
        return pclose.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int pclose(FILE *__stream)
     * }
     */
    public static MemorySegment pclose$address() {
        return pclose.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int pclose(FILE *__stream)
     * }
     */
    public static int pclose(MemorySegment __stream) {
        var mh$ = pclose.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pclose", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class popen {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("popen");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern FILE *popen(const char *__command, const char *__modes)
     * }
     */
    public static FunctionDescriptor popen$descriptor() {
        return popen.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern FILE *popen(const char *__command, const char *__modes)
     * }
     */
    public static MethodHandle popen$handle() {
        return popen.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern FILE *popen(const char *__command, const char *__modes)
     * }
     */
    public static MemorySegment popen$address() {
        return popen.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern FILE *popen(const char *__command, const char *__modes)
     * }
     */
    public static MemorySegment popen(MemorySegment __command, MemorySegment __modes) {
        var mh$ = popen.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("popen", __command, __modes);
            }
            return (MemorySegment)mh$.invokeExact(__command, __modes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ctermid {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ctermid");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *ctermid(char *__s)
     * }
     */
    public static FunctionDescriptor ctermid$descriptor() {
        return ctermid.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *ctermid(char *__s)
     * }
     */
    public static MethodHandle ctermid$handle() {
        return ctermid.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *ctermid(char *__s)
     * }
     */
    public static MemorySegment ctermid$address() {
        return ctermid.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *ctermid(char *__s)
     * }
     */
    public static MemorySegment ctermid(MemorySegment __s) {
        var mh$ = ctermid.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ctermid", __s);
            }
            return (MemorySegment)mh$.invokeExact(__s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class flockfile {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("flockfile");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void flockfile(FILE *__stream)
     * }
     */
    public static FunctionDescriptor flockfile$descriptor() {
        return flockfile.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void flockfile(FILE *__stream)
     * }
     */
    public static MethodHandle flockfile$handle() {
        return flockfile.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void flockfile(FILE *__stream)
     * }
     */
    public static MemorySegment flockfile$address() {
        return flockfile.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void flockfile(FILE *__stream)
     * }
     */
    public static void flockfile(MemorySegment __stream) {
        var mh$ = flockfile.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("flockfile", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ftrylockfile {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ftrylockfile");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int ftrylockfile(FILE *__stream)
     * }
     */
    public static FunctionDescriptor ftrylockfile$descriptor() {
        return ftrylockfile.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int ftrylockfile(FILE *__stream)
     * }
     */
    public static MethodHandle ftrylockfile$handle() {
        return ftrylockfile.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int ftrylockfile(FILE *__stream)
     * }
     */
    public static MemorySegment ftrylockfile$address() {
        return ftrylockfile.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int ftrylockfile(FILE *__stream)
     * }
     */
    public static int ftrylockfile(MemorySegment __stream) {
        var mh$ = ftrylockfile.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ftrylockfile", __stream);
            }
            return (int)mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class funlockfile {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("funlockfile");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void funlockfile(FILE *__stream)
     * }
     */
    public static FunctionDescriptor funlockfile$descriptor() {
        return funlockfile.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void funlockfile(FILE *__stream)
     * }
     */
    public static MethodHandle funlockfile$handle() {
        return funlockfile.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void funlockfile(FILE *__stream)
     * }
     */
    public static MemorySegment funlockfile$address() {
        return funlockfile.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void funlockfile(FILE *__stream)
     * }
     */
    public static void funlockfile(MemorySegment __stream) {
        var mh$ = funlockfile.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("funlockfile", __stream);
            }
            mh$.invokeExact(__stream);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __uflow {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__uflow");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int __uflow(FILE *)
     * }
     */
    public static FunctionDescriptor __uflow$descriptor() {
        return __uflow.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int __uflow(FILE *)
     * }
     */
    public static MethodHandle __uflow$handle() {
        return __uflow.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int __uflow(FILE *)
     * }
     */
    public static MemorySegment __uflow$address() {
        return __uflow.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int __uflow(FILE *)
     * }
     */
    public static int __uflow(MemorySegment x0) {
        var mh$ = __uflow.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__uflow", x0);
            }
            return (int)mh$.invokeExact(x0);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __overflow {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__overflow");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int __overflow(FILE *, int)
     * }
     */
    public static FunctionDescriptor __overflow$descriptor() {
        return __overflow.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int __overflow(FILE *, int)
     * }
     */
    public static MethodHandle __overflow$handle() {
        return __overflow.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int __overflow(FILE *, int)
     * }
     */
    public static MemorySegment __overflow$address() {
        return __overflow.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int __overflow(FILE *, int)
     * }
     */
    public static int __overflow(MemorySegment x0, int x1) {
        var mh$ = __overflow.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__overflow", x0, x1);
            }
            return (int)mh$.invokeExact(x0, x1);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    /**
     * {@snippet lang=c :
     * typedef __u_char u_char
     * }
     */
    public static final OfByte u_char = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __u_short u_short
     * }
     */
    public static final OfShort u_short = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __u_int u_int
     * }
     */
    public static final OfInt u_int = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __u_long u_long
     * }
     */
    public static final OfLong u_long = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __quad_t quad_t
     * }
     */
    public static final OfLong quad_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __u_quad_t u_quad_t
     * }
     */
    public static final OfLong u_quad_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __loff_t loff_t
     * }
     */
    public static final OfLong loff_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __ino_t ino_t
     * }
     */
    public static final OfLong ino_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __dev_t dev_t
     * }
     */
    public static final OfLong dev_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __gid_t gid_t
     * }
     */
    public static final OfInt gid_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __mode_t mode_t
     * }
     */
    public static final OfInt mode_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __nlink_t nlink_t
     * }
     */
    public static final OfLong nlink_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __uid_t uid_t
     * }
     */
    public static final OfInt uid_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __pid_t pid_t
     * }
     */
    public static final OfInt pid_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __id_t id_t
     * }
     */
    public static final OfInt id_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __daddr_t daddr_t
     * }
     */
    public static final OfInt daddr_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __caddr_t caddr_t
     * }
     */
    public static final AddressLayout caddr_t = Lib.C_POINTER;
    /**
     * {@snippet lang=c :
     * typedef __key_t key_t
     * }
     */
    public static final OfInt key_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __clock_t clock_t
     * }
     */
    public static final OfLong clock_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __clockid_t clockid_t
     * }
     */
    public static final OfInt clockid_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __time_t time_t
     * }
     */
    public static final OfLong time_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __timer_t timer_t
     * }
     */
    public static final AddressLayout timer_t = Lib.C_POINTER;
    /**
     * {@snippet lang=c :
     * typedef unsigned long ulong
     * }
     */
    public static final OfLong ulong = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned short ushort
     * }
     */
    public static final OfShort ushort = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef unsigned int uint
     * }
     */
    public static final OfInt uint = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __uint8_t u_int8_t
     * }
     */
    public static final OfByte u_int8_t = Lib.C_CHAR;
    /**
     * {@snippet lang=c :
     * typedef __uint16_t u_int16_t
     * }
     */
    public static final OfShort u_int16_t = Lib.C_SHORT;
    /**
     * {@snippet lang=c :
     * typedef __uint32_t u_int32_t
     * }
     */
    public static final OfInt u_int32_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __uint64_t u_int64_t
     * }
     */
    public static final OfLong u_int64_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef int register_t
     * }
     */
    public static final OfLong register_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __suseconds_t suseconds_t
     * }
     */
    public static final OfLong suseconds_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef long __fd_mask
     * }
     */
    public static final OfLong __fd_mask = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __fd_mask fd_mask
     * }
     */
    public static final OfLong fd_mask = Lib.C_LONG;

    private static class select {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("select");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int select(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, struct timeval *restrict __timeout)
     * }
     */
    public static FunctionDescriptor select$descriptor() {
        return select.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int select(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, struct timeval *restrict __timeout)
     * }
     */
    public static MethodHandle select$handle() {
        return select.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int select(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, struct timeval *restrict __timeout)
     * }
     */
    public static MemorySegment select$address() {
        return select.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int select(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, struct timeval *restrict __timeout)
     * }
     */
    public static int select(int __nfds, MemorySegment __readfds, MemorySegment __writefds, MemorySegment __exceptfds, MemorySegment __timeout) {
        var mh$ = select.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("select", __nfds, __readfds, __writefds, __exceptfds, __timeout);
            }
            return (int)mh$.invokeExact(__nfds, __readfds, __writefds, __exceptfds, __timeout);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pselect {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pselect");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int pselect(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, const struct timespec *restrict __timeout, const __sigset_t *restrict __sigmask)
     * }
     */
    public static FunctionDescriptor pselect$descriptor() {
        return pselect.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int pselect(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, const struct timespec *restrict __timeout, const __sigset_t *restrict __sigmask)
     * }
     */
    public static MethodHandle pselect$handle() {
        return pselect.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int pselect(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, const struct timespec *restrict __timeout, const __sigset_t *restrict __sigmask)
     * }
     */
    public static MemorySegment pselect$address() {
        return pselect.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int pselect(int __nfds, fd_set *restrict __readfds, fd_set *restrict __writefds, fd_set *restrict __exceptfds, const struct timespec *restrict __timeout, const __sigset_t *restrict __sigmask)
     * }
     */
    public static int pselect(int __nfds, MemorySegment __readfds, MemorySegment __writefds, MemorySegment __exceptfds, MemorySegment __timeout, MemorySegment __sigmask) {
        var mh$ = pselect.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pselect", __nfds, __readfds, __writefds, __exceptfds, __timeout, __sigmask);
            }
            return (int)mh$.invokeExact(__nfds, __readfds, __writefds, __exceptfds, __timeout, __sigmask);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    /**
     * {@snippet lang=c :
     * typedef __blksize_t blksize_t
     * }
     */
    public static final OfLong blksize_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __blkcnt_t blkcnt_t
     * }
     */
    public static final OfLong blkcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __fsblkcnt_t fsblkcnt_t
     * }
     */
    public static final OfLong fsblkcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef __fsfilcnt_t fsfilcnt_t
     * }
     */
    public static final OfLong fsfilcnt_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned int __tss_t
     * }
     */
    public static final OfInt __tss_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef unsigned long __thrd_t
     * }
     */
    public static final OfLong __thrd_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned long pthread_t
     * }
     */
    public static final OfLong pthread_t = Lib.C_LONG;
    /**
     * {@snippet lang=c :
     * typedef unsigned int pthread_key_t
     * }
     */
    public static final OfInt pthread_key_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef int pthread_once_t
     * }
     */
    public static final OfInt pthread_once_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef volatile int pthread_spinlock_t
     * }
     */
    public static final OfInt pthread_spinlock_t = Lib.C_INT;

    private static class libbpf_major_version {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_major_version");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 libbpf_major_version()
     * }
     */
    public static FunctionDescriptor libbpf_major_version$descriptor() {
        return libbpf_major_version.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 libbpf_major_version()
     * }
     */
    public static MethodHandle libbpf_major_version$handle() {
        return libbpf_major_version.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 libbpf_major_version()
     * }
     */
    public static MemorySegment libbpf_major_version$address() {
        return libbpf_major_version.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 libbpf_major_version()
     * }
     */
    public static int libbpf_major_version() {
        var mh$ = libbpf_major_version.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_major_version");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_minor_version {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_minor_version");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 libbpf_minor_version()
     * }
     */
    public static FunctionDescriptor libbpf_minor_version$descriptor() {
        return libbpf_minor_version.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 libbpf_minor_version()
     * }
     */
    public static MethodHandle libbpf_minor_version$handle() {
        return libbpf_minor_version.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 libbpf_minor_version()
     * }
     */
    public static MemorySegment libbpf_minor_version$address() {
        return libbpf_minor_version.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 libbpf_minor_version()
     * }
     */
    public static int libbpf_minor_version() {
        var mh$ = libbpf_minor_version.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_minor_version");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_version_string {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_version_string");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *libbpf_version_string()
     * }
     */
    public static FunctionDescriptor libbpf_version_string$descriptor() {
        return libbpf_version_string.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *libbpf_version_string()
     * }
     */
    public static MethodHandle libbpf_version_string$handle() {
        return libbpf_version_string.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *libbpf_version_string()
     * }
     */
    public static MemorySegment libbpf_version_string$address() {
        return libbpf_version_string.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *libbpf_version_string()
     * }
     */
    public static MemorySegment libbpf_version_string() {
        var mh$ = libbpf_version_string.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_version_string");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int __LIBBPF_ERRNO__START = (int)4000L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.__LIBBPF_ERRNO__START = 4000
     * }
     */
    public static int __LIBBPF_ERRNO__START() {
        return __LIBBPF_ERRNO__START;
    }
    private static final int LIBBPF_ERRNO__LIBELF = (int)4000L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__LIBELF = 4000
     * }
     */
    public static int LIBBPF_ERRNO__LIBELF() {
        return LIBBPF_ERRNO__LIBELF;
    }
    private static final int LIBBPF_ERRNO__FORMAT = (int)4001L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__FORMAT = 4001
     * }
     */
    public static int LIBBPF_ERRNO__FORMAT() {
        return LIBBPF_ERRNO__FORMAT;
    }
    private static final int LIBBPF_ERRNO__KVERSION = (int)4002L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__KVERSION = 4002
     * }
     */
    public static int LIBBPF_ERRNO__KVERSION() {
        return LIBBPF_ERRNO__KVERSION;
    }
    private static final int LIBBPF_ERRNO__ENDIAN = (int)4003L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__ENDIAN = 4003
     * }
     */
    public static int LIBBPF_ERRNO__ENDIAN() {
        return LIBBPF_ERRNO__ENDIAN;
    }
    private static final int LIBBPF_ERRNO__INTERNAL = (int)4004L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__INTERNAL = 4004
     * }
     */
    public static int LIBBPF_ERRNO__INTERNAL() {
        return LIBBPF_ERRNO__INTERNAL;
    }
    private static final int LIBBPF_ERRNO__RELOC = (int)4005L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__RELOC = 4005
     * }
     */
    public static int LIBBPF_ERRNO__RELOC() {
        return LIBBPF_ERRNO__RELOC;
    }
    private static final int LIBBPF_ERRNO__LOAD = (int)4006L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__LOAD = 4006
     * }
     */
    public static int LIBBPF_ERRNO__LOAD() {
        return LIBBPF_ERRNO__LOAD;
    }
    private static final int LIBBPF_ERRNO__VERIFY = (int)4007L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__VERIFY = 4007
     * }
     */
    public static int LIBBPF_ERRNO__VERIFY() {
        return LIBBPF_ERRNO__VERIFY;
    }
    private static final int LIBBPF_ERRNO__PROG2BIG = (int)4008L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__PROG2BIG = 4008
     * }
     */
    public static int LIBBPF_ERRNO__PROG2BIG() {
        return LIBBPF_ERRNO__PROG2BIG;
    }
    private static final int LIBBPF_ERRNO__KVER = (int)4009L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__KVER = 4009
     * }
     */
    public static int LIBBPF_ERRNO__KVER() {
        return LIBBPF_ERRNO__KVER;
    }
    private static final int LIBBPF_ERRNO__PROGTYPE = (int)4010L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__PROGTYPE = 4010
     * }
     */
    public static int LIBBPF_ERRNO__PROGTYPE() {
        return LIBBPF_ERRNO__PROGTYPE;
    }
    private static final int LIBBPF_ERRNO__WRNGPID = (int)4011L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__WRNGPID = 4011
     * }
     */
    public static int LIBBPF_ERRNO__WRNGPID() {
        return LIBBPF_ERRNO__WRNGPID;
    }
    private static final int LIBBPF_ERRNO__INVSEQ = (int)4012L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__INVSEQ = 4012
     * }
     */
    public static int LIBBPF_ERRNO__INVSEQ() {
        return LIBBPF_ERRNO__INVSEQ;
    }
    private static final int LIBBPF_ERRNO__NLPARSE = (int)4013L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.LIBBPF_ERRNO__NLPARSE = 4013
     * }
     */
    public static int LIBBPF_ERRNO__NLPARSE() {
        return LIBBPF_ERRNO__NLPARSE;
    }
    private static final int __LIBBPF_ERRNO__END = (int)4014L;
    /**
     * {@snippet lang=c :
     * enum libbpf_errno.__LIBBPF_ERRNO__END = 4014
     * }
     */
    public static int __LIBBPF_ERRNO__END() {
        return __LIBBPF_ERRNO__END;
    }

    private static class libbpf_strerror {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_strerror");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_strerror(int err, char *buf, size_t size)
     * }
     */
    public static FunctionDescriptor libbpf_strerror$descriptor() {
        return libbpf_strerror.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_strerror(int err, char *buf, size_t size)
     * }
     */
    public static MethodHandle libbpf_strerror$handle() {
        return libbpf_strerror.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_strerror(int err, char *buf, size_t size)
     * }
     */
    public static MemorySegment libbpf_strerror$address() {
        return libbpf_strerror.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_strerror(int err, char *buf, size_t size)
     * }
     */
    public static int libbpf_strerror(int err, MemorySegment buf, long size) {
        var mh$ = libbpf_strerror.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_strerror", err, buf, size);
            }
            return (int)mh$.invokeExact(err, buf, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_bpf_attach_type_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_bpf_attach_type_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_attach_type_str(enum bpf_attach_type t)
     * }
     */
    public static FunctionDescriptor libbpf_bpf_attach_type_str$descriptor() {
        return libbpf_bpf_attach_type_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_attach_type_str(enum bpf_attach_type t)
     * }
     */
    public static MethodHandle libbpf_bpf_attach_type_str$handle() {
        return libbpf_bpf_attach_type_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_attach_type_str(enum bpf_attach_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_attach_type_str$address() {
        return libbpf_bpf_attach_type_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *libbpf_bpf_attach_type_str(enum bpf_attach_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_attach_type_str(int t) {
        var mh$ = libbpf_bpf_attach_type_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_bpf_attach_type_str", t);
            }
            return (MemorySegment)mh$.invokeExact(t);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_bpf_link_type_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_bpf_link_type_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_link_type_str(enum bpf_link_type t)
     * }
     */
    public static FunctionDescriptor libbpf_bpf_link_type_str$descriptor() {
        return libbpf_bpf_link_type_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_link_type_str(enum bpf_link_type t)
     * }
     */
    public static MethodHandle libbpf_bpf_link_type_str$handle() {
        return libbpf_bpf_link_type_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_link_type_str(enum bpf_link_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_link_type_str$address() {
        return libbpf_bpf_link_type_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *libbpf_bpf_link_type_str(enum bpf_link_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_link_type_str(int t) {
        var mh$ = libbpf_bpf_link_type_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_bpf_link_type_str", t);
            }
            return (MemorySegment)mh$.invokeExact(t);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_bpf_map_type_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_bpf_map_type_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_map_type_str(enum bpf_map_type t)
     * }
     */
    public static FunctionDescriptor libbpf_bpf_map_type_str$descriptor() {
        return libbpf_bpf_map_type_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_map_type_str(enum bpf_map_type t)
     * }
     */
    public static MethodHandle libbpf_bpf_map_type_str$handle() {
        return libbpf_bpf_map_type_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_map_type_str(enum bpf_map_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_map_type_str$address() {
        return libbpf_bpf_map_type_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *libbpf_bpf_map_type_str(enum bpf_map_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_map_type_str(int t) {
        var mh$ = libbpf_bpf_map_type_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_bpf_map_type_str", t);
            }
            return (MemorySegment)mh$.invokeExact(t);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_bpf_prog_type_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_bpf_prog_type_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_prog_type_str(enum bpf_prog_type t)
     * }
     */
    public static FunctionDescriptor libbpf_bpf_prog_type_str$descriptor() {
        return libbpf_bpf_prog_type_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_prog_type_str(enum bpf_prog_type t)
     * }
     */
    public static MethodHandle libbpf_bpf_prog_type_str$handle() {
        return libbpf_bpf_prog_type_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *libbpf_bpf_prog_type_str(enum bpf_prog_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_prog_type_str$address() {
        return libbpf_bpf_prog_type_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *libbpf_bpf_prog_type_str(enum bpf_prog_type t)
     * }
     */
    public static MemorySegment libbpf_bpf_prog_type_str(int t) {
        var mh$ = libbpf_bpf_prog_type_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_bpf_prog_type_str", t);
            }
            return (MemorySegment)mh$.invokeExact(t);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int LIBBPF_WARN = (int)0L;
    /**
     * {@snippet lang=c :
     * enum libbpf_print_level.LIBBPF_WARN = 0
     * }
     */
    public static int LIBBPF_WARN() {
        return LIBBPF_WARN;
    }
    private static final int LIBBPF_INFO = (int)1L;
    /**
     * {@snippet lang=c :
     * enum libbpf_print_level.LIBBPF_INFO = 1
     * }
     */
    public static int LIBBPF_INFO() {
        return LIBBPF_INFO;
    }
    private static final int LIBBPF_DEBUG = (int)2L;
    /**
     * {@snippet lang=c :
     * enum libbpf_print_level.LIBBPF_DEBUG = 2
     * }
     */
    public static int LIBBPF_DEBUG() {
        return LIBBPF_DEBUG;
    }

    private static class libbpf_set_print {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_set_print");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn)
     * }
     */
    public static FunctionDescriptor libbpf_set_print$descriptor() {
        return libbpf_set_print.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn)
     * }
     */
    public static MethodHandle libbpf_set_print$handle() {
        return libbpf_set_print.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn)
     * }
     */
    public static MemorySegment libbpf_set_print$address() {
        return libbpf_set_print.ADDR;
    }

    /**
     * {@snippet lang=c :
     * libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn)
     * }
     */
    public static MemorySegment libbpf_set_print(MemorySegment fn) {
        var mh$ = libbpf_set_print.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_set_print", fn);
            }
            return (MemorySegment)mh$.invokeExact(fn);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__open {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__open");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open(const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__open$descriptor() {
        return bpf_object__open.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open(const char *path)
     * }
     */
    public static MethodHandle bpf_object__open$handle() {
        return bpf_object__open.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open(const char *path)
     * }
     */
    public static MemorySegment bpf_object__open$address() {
        return bpf_object__open.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open(const char *path)
     * }
     */
    public static MemorySegment bpf_object__open(MemorySegment path) {
        var mh$ = bpf_object__open.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__open", path);
            }
            return (MemorySegment)mh$.invokeExact(path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__open_file {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__open_file");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_object__open_file$descriptor() {
        return bpf_object__open_file.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MethodHandle bpf_object__open_file$handle() {
        return bpf_object__open_file.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__open_file$address() {
        return bpf_object__open_file.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__open_file(MemorySegment path, MemorySegment opts) {
        var mh$ = bpf_object__open_file.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__open_file", path, opts);
            }
            return (MemorySegment)mh$.invokeExact(path, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__open_mem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__open_mem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, const struct bpf_object_open_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_object__open_mem$descriptor() {
        return bpf_object__open_mem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MethodHandle bpf_object__open_mem$handle() {
        return bpf_object__open_mem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__open_mem$address() {
        return bpf_object__open_mem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_object *bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__open_mem(MemorySegment obj_buf, long obj_buf_sz, MemorySegment opts) {
        var mh$ = bpf_object__open_mem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__open_mem", obj_buf, obj_buf_sz, opts);
            }
            return (MemorySegment)mh$.invokeExact(obj_buf, obj_buf_sz, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__load {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__load");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__load(struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__load$descriptor() {
        return bpf_object__load.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__load(struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__load$handle() {
        return bpf_object__load.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__load(struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__load$address() {
        return bpf_object__load.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__load(struct bpf_object *obj)
     * }
     */
    public static int bpf_object__load(MemorySegment obj) {
        var mh$ = bpf_object__load.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__load", obj);
            }
            return (int)mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__close {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__close");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_object__close(struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__close$descriptor() {
        return bpf_object__close.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_object__close(struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__close$handle() {
        return bpf_object__close.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_object__close(struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__close$address() {
        return bpf_object__close.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_object__close(struct bpf_object *obj)
     * }
     */
    public static void bpf_object__close(MemorySegment obj) {
        var mh$ = bpf_object__close.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__close", obj);
            }
            mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__pin_maps {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__pin_maps");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__pin_maps$descriptor() {
        return bpf_object__pin_maps.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static MethodHandle bpf_object__pin_maps$handle() {
        return bpf_object__pin_maps.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static MemorySegment bpf_object__pin_maps$address() {
        return bpf_object__pin_maps.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__pin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static int bpf_object__pin_maps(MemorySegment obj, MemorySegment path) {
        var mh$ = bpf_object__pin_maps.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__pin_maps", obj, path);
            }
            return (int)mh$.invokeExact(obj, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__unpin_maps {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__unpin_maps");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__unpin_maps$descriptor() {
        return bpf_object__unpin_maps.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static MethodHandle bpf_object__unpin_maps$handle() {
        return bpf_object__unpin_maps.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static MemorySegment bpf_object__unpin_maps$address() {
        return bpf_object__unpin_maps.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__unpin_maps(struct bpf_object *obj, const char *path)
     * }
     */
    public static int bpf_object__unpin_maps(MemorySegment obj, MemorySegment path) {
        var mh$ = bpf_object__unpin_maps.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__unpin_maps", obj, path);
            }
            return (int)mh$.invokeExact(obj, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__pin_programs {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__pin_programs");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__pin_programs$descriptor() {
        return bpf_object__pin_programs.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static MethodHandle bpf_object__pin_programs$handle() {
        return bpf_object__pin_programs.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static MemorySegment bpf_object__pin_programs$address() {
        return bpf_object__pin_programs.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__pin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static int bpf_object__pin_programs(MemorySegment obj, MemorySegment path) {
        var mh$ = bpf_object__pin_programs.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__pin_programs", obj, path);
            }
            return (int)mh$.invokeExact(obj, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__unpin_programs {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__unpin_programs");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__unpin_programs$descriptor() {
        return bpf_object__unpin_programs.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static MethodHandle bpf_object__unpin_programs$handle() {
        return bpf_object__unpin_programs.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static MemorySegment bpf_object__unpin_programs$address() {
        return bpf_object__unpin_programs.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__unpin_programs(struct bpf_object *obj, const char *path)
     * }
     */
    public static int bpf_object__unpin_programs(MemorySegment obj, MemorySegment path) {
        var mh$ = bpf_object__unpin_programs.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__unpin_programs", obj, path);
            }
            return (int)mh$.invokeExact(obj, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__pin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__pin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__pin(struct bpf_object *object, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__pin$descriptor() {
        return bpf_object__pin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__pin(struct bpf_object *object, const char *path)
     * }
     */
    public static MethodHandle bpf_object__pin$handle() {
        return bpf_object__pin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__pin(struct bpf_object *object, const char *path)
     * }
     */
    public static MemorySegment bpf_object__pin$address() {
        return bpf_object__pin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__pin(struct bpf_object *object, const char *path)
     * }
     */
    public static int bpf_object__pin(MemorySegment object, MemorySegment path) {
        var mh$ = bpf_object__pin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__pin", object, path);
            }
            return (int)mh$.invokeExact(object, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__unpin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__unpin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__unpin(struct bpf_object *object, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_object__unpin$descriptor() {
        return bpf_object__unpin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__unpin(struct bpf_object *object, const char *path)
     * }
     */
    public static MethodHandle bpf_object__unpin$handle() {
        return bpf_object__unpin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__unpin(struct bpf_object *object, const char *path)
     * }
     */
    public static MemorySegment bpf_object__unpin$address() {
        return bpf_object__unpin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__unpin(struct bpf_object *object, const char *path)
     * }
     */
    public static int bpf_object__unpin(MemorySegment object, MemorySegment path) {
        var mh$ = bpf_object__unpin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__unpin", object, path);
            }
            return (int)mh$.invokeExact(object, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_object__name(const struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__name$descriptor() {
        return bpf_object__name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_object__name(const struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__name$handle() {
        return bpf_object__name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_object__name(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__name$address() {
        return bpf_object__name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_object__name(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__name(MemorySegment obj) {
        var mh$ = bpf_object__name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__name", obj);
            }
            return (MemorySegment)mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__kversion {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__kversion");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * unsigned int bpf_object__kversion(const struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__kversion$descriptor() {
        return bpf_object__kversion.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * unsigned int bpf_object__kversion(const struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__kversion$handle() {
        return bpf_object__kversion.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * unsigned int bpf_object__kversion(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__kversion$address() {
        return bpf_object__kversion.ADDR;
    }

    /**
     * {@snippet lang=c :
     * unsigned int bpf_object__kversion(const struct bpf_object *obj)
     * }
     */
    public static int bpf_object__kversion(MemorySegment obj) {
        var mh$ = bpf_object__kversion.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__kversion", obj);
            }
            return (int)mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__set_kversion {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__set_kversion");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version)
     * }
     */
    public static FunctionDescriptor bpf_object__set_kversion$descriptor() {
        return bpf_object__set_kversion.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version)
     * }
     */
    public static MethodHandle bpf_object__set_kversion$handle() {
        return bpf_object__set_kversion.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version)
     * }
     */
    public static MemorySegment bpf_object__set_kversion$address() {
        return bpf_object__set_kversion.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version)
     * }
     */
    public static int bpf_object__set_kversion(MemorySegment obj, int kern_version) {
        var mh$ = bpf_object__set_kversion.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__set_kversion", obj, kern_version);
            }
            return (int)mh$.invokeExact(obj, kern_version);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *bpf_object__btf(const struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__btf$descriptor() {
        return bpf_object__btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *bpf_object__btf(const struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__btf$handle() {
        return bpf_object__btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *bpf_object__btf(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__btf$address() {
        return bpf_object__btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *bpf_object__btf(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__btf(MemorySegment obj) {
        var mh$ = bpf_object__btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__btf", obj);
            }
            return (MemorySegment)mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__btf_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__btf_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__btf_fd(const struct bpf_object *obj)
     * }
     */
    public static FunctionDescriptor bpf_object__btf_fd$descriptor() {
        return bpf_object__btf_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__btf_fd(const struct bpf_object *obj)
     * }
     */
    public static MethodHandle bpf_object__btf_fd$handle() {
        return bpf_object__btf_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__btf_fd(const struct bpf_object *obj)
     * }
     */
    public static MemorySegment bpf_object__btf_fd$address() {
        return bpf_object__btf_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__btf_fd(const struct bpf_object *obj)
     * }
     */
    public static int bpf_object__btf_fd(MemorySegment obj) {
        var mh$ = bpf_object__btf_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__btf_fd", obj);
            }
            return (int)mh$.invokeExact(obj);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__find_program_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__find_program_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__find_program_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static FunctionDescriptor bpf_object__find_program_by_name$descriptor() {
        return bpf_object__find_program_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__find_program_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MethodHandle bpf_object__find_program_by_name$handle() {
        return bpf_object__find_program_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__find_program_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MemorySegment bpf_object__find_program_by_name$address() {
        return bpf_object__find_program_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__find_program_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MemorySegment bpf_object__find_program_by_name(MemorySegment obj, MemorySegment name) {
        var mh$ = bpf_object__find_program_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__find_program_by_name", obj, name);
            }
            return (MemorySegment)mh$.invokeExact(obj, name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_prog_type_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_prog_type_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, enum bpf_attach_type *expected_attach_type)
     * }
     */
    public static FunctionDescriptor libbpf_prog_type_by_name$descriptor() {
        return libbpf_prog_type_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, enum bpf_attach_type *expected_attach_type)
     * }
     */
    public static MethodHandle libbpf_prog_type_by_name$handle() {
        return libbpf_prog_type_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, enum bpf_attach_type *expected_attach_type)
     * }
     */
    public static MemorySegment libbpf_prog_type_by_name$address() {
        return libbpf_prog_type_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, enum bpf_attach_type *expected_attach_type)
     * }
     */
    public static int libbpf_prog_type_by_name(MemorySegment name, MemorySegment prog_type, MemorySegment expected_attach_type) {
        var mh$ = libbpf_prog_type_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_prog_type_by_name", name, prog_type, expected_attach_type);
            }
            return (int)mh$.invokeExact(name, prog_type, expected_attach_type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_attach_type_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_attach_type_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_attach_type_by_name(const char *name, enum bpf_attach_type *attach_type)
     * }
     */
    public static FunctionDescriptor libbpf_attach_type_by_name$descriptor() {
        return libbpf_attach_type_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_attach_type_by_name(const char *name, enum bpf_attach_type *attach_type)
     * }
     */
    public static MethodHandle libbpf_attach_type_by_name$handle() {
        return libbpf_attach_type_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_attach_type_by_name(const char *name, enum bpf_attach_type *attach_type)
     * }
     */
    public static MemorySegment libbpf_attach_type_by_name$address() {
        return libbpf_attach_type_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_attach_type_by_name(const char *name, enum bpf_attach_type *attach_type)
     * }
     */
    public static int libbpf_attach_type_by_name(MemorySegment name, MemorySegment attach_type) {
        var mh$ = libbpf_attach_type_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_attach_type_by_name", name, attach_type);
            }
            return (int)mh$.invokeExact(name, attach_type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_find_vmlinux_btf_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_find_vmlinux_btf_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_find_vmlinux_btf_id(const char *name, enum bpf_attach_type attach_type)
     * }
     */
    public static FunctionDescriptor libbpf_find_vmlinux_btf_id$descriptor() {
        return libbpf_find_vmlinux_btf_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_find_vmlinux_btf_id(const char *name, enum bpf_attach_type attach_type)
     * }
     */
    public static MethodHandle libbpf_find_vmlinux_btf_id$handle() {
        return libbpf_find_vmlinux_btf_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_find_vmlinux_btf_id(const char *name, enum bpf_attach_type attach_type)
     * }
     */
    public static MemorySegment libbpf_find_vmlinux_btf_id$address() {
        return libbpf_find_vmlinux_btf_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_find_vmlinux_btf_id(const char *name, enum bpf_attach_type attach_type)
     * }
     */
    public static int libbpf_find_vmlinux_btf_id(MemorySegment name, int attach_type) {
        var mh$ = libbpf_find_vmlinux_btf_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_find_vmlinux_btf_id", name, attach_type);
            }
            return (int)mh$.invokeExact(name, attach_type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__next_program {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__next_program");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_object__next_program$descriptor() {
        return bpf_object__next_program.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_object__next_program$handle() {
        return bpf_object__next_program.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_object__next_program$address() {
        return bpf_object__next_program.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_object__next_program(MemorySegment obj, MemorySegment prog) {
        var mh$ = bpf_object__next_program.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__next_program", obj, prog);
            }
            return (MemorySegment)mh$.invokeExact(obj, prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__prev_program {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__prev_program");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_object__prev_program$descriptor() {
        return bpf_object__prev_program.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_object__prev_program$handle() {
        return bpf_object__prev_program.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_object__prev_program$address() {
        return bpf_object__prev_program.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_program *bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_object__prev_program(MemorySegment obj, MemorySegment prog) {
        var mh$ = bpf_object__prev_program.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__prev_program", obj, prog);
            }
            return (MemorySegment)mh$.invokeExact(obj, prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_ifindex {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_ifindex");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
     * }
     */
    public static FunctionDescriptor bpf_program__set_ifindex$descriptor() {
        return bpf_program__set_ifindex.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
     * }
     */
    public static MethodHandle bpf_program__set_ifindex$handle() {
        return bpf_program__set_ifindex.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
     * }
     */
    public static MemorySegment bpf_program__set_ifindex$address() {
        return bpf_program__set_ifindex.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex)
     * }
     */
    public static void bpf_program__set_ifindex(MemorySegment prog, int ifindex) {
        var mh$ = bpf_program__set_ifindex.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_ifindex", prog, ifindex);
            }
            mh$.invokeExact(prog, ifindex);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_program__name(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__name$descriptor() {
        return bpf_program__name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_program__name(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__name$handle() {
        return bpf_program__name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_program__name(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__name$address() {
        return bpf_program__name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_program__name(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__name(MemorySegment prog) {
        var mh$ = bpf_program__name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__name", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__section_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__section_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_program__section_name(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__section_name$descriptor() {
        return bpf_program__section_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_program__section_name(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__section_name$handle() {
        return bpf_program__section_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_program__section_name(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__section_name$address() {
        return bpf_program__section_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_program__section_name(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__section_name(MemorySegment prog) {
        var mh$ = bpf_program__section_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__section_name", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__autoload {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__autoload");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * bool bpf_program__autoload(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__autoload$descriptor() {
        return bpf_program__autoload.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * bool bpf_program__autoload(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__autoload$handle() {
        return bpf_program__autoload.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * bool bpf_program__autoload(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__autoload$address() {
        return bpf_program__autoload.ADDR;
    }

    /**
     * {@snippet lang=c :
     * bool bpf_program__autoload(const struct bpf_program *prog)
     * }
     */
    public static boolean bpf_program__autoload(MemorySegment prog) {
        var mh$ = bpf_program__autoload.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__autoload", prog);
            }
            return (boolean)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_autoload {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_BOOL
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_autoload");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_autoload(struct bpf_program *prog, bool autoload)
     * }
     */
    public static FunctionDescriptor bpf_program__set_autoload$descriptor() {
        return bpf_program__set_autoload.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_autoload(struct bpf_program *prog, bool autoload)
     * }
     */
    public static MethodHandle bpf_program__set_autoload$handle() {
        return bpf_program__set_autoload.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_autoload(struct bpf_program *prog, bool autoload)
     * }
     */
    public static MemorySegment bpf_program__set_autoload$address() {
        return bpf_program__set_autoload.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_autoload(struct bpf_program *prog, bool autoload)
     * }
     */
    public static int bpf_program__set_autoload(MemorySegment prog, boolean autoload) {
        var mh$ = bpf_program__set_autoload.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_autoload", prog, autoload);
            }
            return (int)mh$.invokeExact(prog, autoload);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__autoattach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__autoattach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * bool bpf_program__autoattach(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__autoattach$descriptor() {
        return bpf_program__autoattach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * bool bpf_program__autoattach(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__autoattach$handle() {
        return bpf_program__autoattach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * bool bpf_program__autoattach(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__autoattach$address() {
        return bpf_program__autoattach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * bool bpf_program__autoattach(const struct bpf_program *prog)
     * }
     */
    public static boolean bpf_program__autoattach(MemorySegment prog) {
        var mh$ = bpf_program__autoattach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__autoattach", prog);
            }
            return (boolean)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_autoattach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_BOOL
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_autoattach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_program__set_autoattach(struct bpf_program *prog, bool autoattach)
     * }
     */
    public static FunctionDescriptor bpf_program__set_autoattach$descriptor() {
        return bpf_program__set_autoattach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_program__set_autoattach(struct bpf_program *prog, bool autoattach)
     * }
     */
    public static MethodHandle bpf_program__set_autoattach$handle() {
        return bpf_program__set_autoattach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_program__set_autoattach(struct bpf_program *prog, bool autoattach)
     * }
     */
    public static MemorySegment bpf_program__set_autoattach$address() {
        return bpf_program__set_autoattach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_program__set_autoattach(struct bpf_program *prog, bool autoattach)
     * }
     */
    public static void bpf_program__set_autoattach(MemorySegment prog, boolean autoattach) {
        var mh$ = bpf_program__set_autoattach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_autoattach", prog, autoattach);
            }
            mh$.invokeExact(prog, autoattach);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__insns {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__insns");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const struct bpf_insn *bpf_program__insns(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__insns$descriptor() {
        return bpf_program__insns.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const struct bpf_insn *bpf_program__insns(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__insns$handle() {
        return bpf_program__insns.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const struct bpf_insn *bpf_program__insns(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__insns$address() {
        return bpf_program__insns.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const struct bpf_insn *bpf_program__insns(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__insns(MemorySegment prog) {
        var mh$ = bpf_program__insns.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__insns", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_insns {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_insns");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_insns(struct bpf_program *prog, struct bpf_insn *new_insns, size_t new_insn_cnt)
     * }
     */
    public static FunctionDescriptor bpf_program__set_insns$descriptor() {
        return bpf_program__set_insns.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_insns(struct bpf_program *prog, struct bpf_insn *new_insns, size_t new_insn_cnt)
     * }
     */
    public static MethodHandle bpf_program__set_insns$handle() {
        return bpf_program__set_insns.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_insns(struct bpf_program *prog, struct bpf_insn *new_insns, size_t new_insn_cnt)
     * }
     */
    public static MemorySegment bpf_program__set_insns$address() {
        return bpf_program__set_insns.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_insns(struct bpf_program *prog, struct bpf_insn *new_insns, size_t new_insn_cnt)
     * }
     */
    public static int bpf_program__set_insns(MemorySegment prog, MemorySegment new_insns, long new_insn_cnt) {
        var mh$ = bpf_program__set_insns.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_insns", prog, new_insns, new_insn_cnt);
            }
            return (int)mh$.invokeExact(prog, new_insns, new_insn_cnt);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__insn_cnt {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__insn_cnt");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * size_t bpf_program__insn_cnt(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__insn_cnt$descriptor() {
        return bpf_program__insn_cnt.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * size_t bpf_program__insn_cnt(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__insn_cnt$handle() {
        return bpf_program__insn_cnt.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * size_t bpf_program__insn_cnt(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__insn_cnt$address() {
        return bpf_program__insn_cnt.ADDR;
    }

    /**
     * {@snippet lang=c :
     * size_t bpf_program__insn_cnt(const struct bpf_program *prog)
     * }
     */
    public static long bpf_program__insn_cnt(MemorySegment prog) {
        var mh$ = bpf_program__insn_cnt.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__insn_cnt", prog);
            }
            return (long)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__fd(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__fd$descriptor() {
        return bpf_program__fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__fd(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__fd$handle() {
        return bpf_program__fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__fd(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__fd$address() {
        return bpf_program__fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__fd(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__fd(MemorySegment prog) {
        var mh$ = bpf_program__fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__fd", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__pin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__pin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__pin(struct bpf_program *prog, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_program__pin$descriptor() {
        return bpf_program__pin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__pin(struct bpf_program *prog, const char *path)
     * }
     */
    public static MethodHandle bpf_program__pin$handle() {
        return bpf_program__pin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__pin(struct bpf_program *prog, const char *path)
     * }
     */
    public static MemorySegment bpf_program__pin$address() {
        return bpf_program__pin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__pin(struct bpf_program *prog, const char *path)
     * }
     */
    public static int bpf_program__pin(MemorySegment prog, MemorySegment path) {
        var mh$ = bpf_program__pin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__pin", prog, path);
            }
            return (int)mh$.invokeExact(prog, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__unpin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__unpin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__unpin(struct bpf_program *prog, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_program__unpin$descriptor() {
        return bpf_program__unpin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__unpin(struct bpf_program *prog, const char *path)
     * }
     */
    public static MethodHandle bpf_program__unpin$handle() {
        return bpf_program__unpin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__unpin(struct bpf_program *prog, const char *path)
     * }
     */
    public static MemorySegment bpf_program__unpin$address() {
        return bpf_program__unpin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__unpin(struct bpf_program *prog, const char *path)
     * }
     */
    public static int bpf_program__unpin(MemorySegment prog, MemorySegment path) {
        var mh$ = bpf_program__unpin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__unpin", prog, path);
            }
            return (int)mh$.invokeExact(prog, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__unload {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__unload");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_program__unload(struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__unload$descriptor() {
        return bpf_program__unload.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_program__unload(struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__unload$handle() {
        return bpf_program__unload.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_program__unload(struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__unload$address() {
        return bpf_program__unload.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_program__unload(struct bpf_program *prog)
     * }
     */
    public static void bpf_program__unload(MemorySegment prog) {
        var mh$ = bpf_program__unload.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__unload", prog);
            }
            mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__open {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__open");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_link__open(const char *path)
     * }
     */
    public static FunctionDescriptor bpf_link__open$descriptor() {
        return bpf_link__open.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_link__open(const char *path)
     * }
     */
    public static MethodHandle bpf_link__open$handle() {
        return bpf_link__open.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_link__open(const char *path)
     * }
     */
    public static MemorySegment bpf_link__open$address() {
        return bpf_link__open.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_link__open(const char *path)
     * }
     */
    public static MemorySegment bpf_link__open(MemorySegment path) {
        var mh$ = bpf_link__open.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__open", path);
            }
            return (MemorySegment)mh$.invokeExact(path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__fd(const struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__fd$descriptor() {
        return bpf_link__fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__fd(const struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__fd$handle() {
        return bpf_link__fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__fd(const struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__fd$address() {
        return bpf_link__fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__fd(const struct bpf_link *link)
     * }
     */
    public static int bpf_link__fd(MemorySegment link) {
        var mh$ = bpf_link__fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__fd", link);
            }
            return (int)mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__pin_path {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__pin_path");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_link__pin_path(const struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__pin_path$descriptor() {
        return bpf_link__pin_path.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_link__pin_path(const struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__pin_path$handle() {
        return bpf_link__pin_path.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_link__pin_path(const struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__pin_path$address() {
        return bpf_link__pin_path.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_link__pin_path(const struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__pin_path(MemorySegment link) {
        var mh$ = bpf_link__pin_path.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__pin_path", link);
            }
            return (MemorySegment)mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__pin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__pin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__pin(struct bpf_link *link, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_link__pin$descriptor() {
        return bpf_link__pin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__pin(struct bpf_link *link, const char *path)
     * }
     */
    public static MethodHandle bpf_link__pin$handle() {
        return bpf_link__pin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__pin(struct bpf_link *link, const char *path)
     * }
     */
    public static MemorySegment bpf_link__pin$address() {
        return bpf_link__pin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__pin(struct bpf_link *link, const char *path)
     * }
     */
    public static int bpf_link__pin(MemorySegment link, MemorySegment path) {
        var mh$ = bpf_link__pin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__pin", link, path);
            }
            return (int)mh$.invokeExact(link, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__unpin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__unpin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__unpin(struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__unpin$descriptor() {
        return bpf_link__unpin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__unpin(struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__unpin$handle() {
        return bpf_link__unpin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__unpin(struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__unpin$address() {
        return bpf_link__unpin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__unpin(struct bpf_link *link)
     * }
     */
    public static int bpf_link__unpin(MemorySegment link) {
        var mh$ = bpf_link__unpin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__unpin", link);
            }
            return (int)mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__update_program {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__update_program");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__update_program(struct bpf_link *link, struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_link__update_program$descriptor() {
        return bpf_link__update_program.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__update_program(struct bpf_link *link, struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_link__update_program$handle() {
        return bpf_link__update_program.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__update_program(struct bpf_link *link, struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_link__update_program$address() {
        return bpf_link__update_program.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__update_program(struct bpf_link *link, struct bpf_program *prog)
     * }
     */
    public static int bpf_link__update_program(MemorySegment link, MemorySegment prog) {
        var mh$ = bpf_link__update_program.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__update_program", link, prog);
            }
            return (int)mh$.invokeExact(link, prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__disconnect {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__disconnect");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_link__disconnect(struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__disconnect$descriptor() {
        return bpf_link__disconnect.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_link__disconnect(struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__disconnect$handle() {
        return bpf_link__disconnect.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_link__disconnect(struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__disconnect$address() {
        return bpf_link__disconnect.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_link__disconnect(struct bpf_link *link)
     * }
     */
    public static void bpf_link__disconnect(MemorySegment link) {
        var mh$ = bpf_link__disconnect.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__disconnect", link);
            }
            mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__detach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__detach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__detach(struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__detach$descriptor() {
        return bpf_link__detach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__detach(struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__detach$handle() {
        return bpf_link__detach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__detach(struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__detach$address() {
        return bpf_link__detach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__detach(struct bpf_link *link)
     * }
     */
    public static int bpf_link__detach(MemorySegment link) {
        var mh$ = bpf_link__detach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__detach", link);
            }
            return (int)mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__destroy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__destroy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__destroy(struct bpf_link *link)
     * }
     */
    public static FunctionDescriptor bpf_link__destroy$descriptor() {
        return bpf_link__destroy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__destroy(struct bpf_link *link)
     * }
     */
    public static MethodHandle bpf_link__destroy$handle() {
        return bpf_link__destroy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__destroy(struct bpf_link *link)
     * }
     */
    public static MemorySegment bpf_link__destroy$address() {
        return bpf_link__destroy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__destroy(struct bpf_link *link)
     * }
     */
    public static int bpf_link__destroy(MemorySegment link) {
        var mh$ = bpf_link__destroy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__destroy", link);
            }
            return (int)mh$.invokeExact(link);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__attach$descriptor() {
        return bpf_program__attach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__attach$handle() {
        return bpf_program__attach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach$address() {
        return bpf_program__attach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach(MemorySegment prog) {
        var mh$ = bpf_program__attach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_perf_event {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_perf_event");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event(const struct bpf_program *prog, int pfd)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_perf_event$descriptor() {
        return bpf_program__attach_perf_event.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event(const struct bpf_program *prog, int pfd)
     * }
     */
    public static MethodHandle bpf_program__attach_perf_event$handle() {
        return bpf_program__attach_perf_event.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event(const struct bpf_program *prog, int pfd)
     * }
     */
    public static MemorySegment bpf_program__attach_perf_event$address() {
        return bpf_program__attach_perf_event.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event(const struct bpf_program *prog, int pfd)
     * }
     */
    public static MemorySegment bpf_program__attach_perf_event(MemorySegment prog, int pfd) {
        var mh$ = bpf_program__attach_perf_event.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_perf_event", prog, pfd);
            }
            return (MemorySegment)mh$.invokeExact(prog, pfd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_perf_event_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_perf_event_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event_opts(const struct bpf_program *prog, int pfd, const struct bpf_perf_event_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_perf_event_opts$descriptor() {
        return bpf_program__attach_perf_event_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event_opts(const struct bpf_program *prog, int pfd, const struct bpf_perf_event_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_perf_event_opts$handle() {
        return bpf_program__attach_perf_event_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event_opts(const struct bpf_program *prog, int pfd, const struct bpf_perf_event_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_perf_event_opts$address() {
        return bpf_program__attach_perf_event_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_perf_event_opts(const struct bpf_program *prog, int pfd, const struct bpf_perf_event_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_perf_event_opts(MemorySegment prog, int pfd, MemorySegment opts) {
        var mh$ = bpf_program__attach_perf_event_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_perf_event_opts", prog, pfd, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, pfd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int PROBE_ATTACH_MODE_DEFAULT = (int)0L;
    /**
     * {@snippet lang=c :
     * enum probe_attach_mode.PROBE_ATTACH_MODE_DEFAULT = 0
     * }
     */
    public static int PROBE_ATTACH_MODE_DEFAULT() {
        return PROBE_ATTACH_MODE_DEFAULT;
    }
    private static final int PROBE_ATTACH_MODE_LEGACY = (int)1L;
    /**
     * {@snippet lang=c :
     * enum probe_attach_mode.PROBE_ATTACH_MODE_LEGACY = 1
     * }
     */
    public static int PROBE_ATTACH_MODE_LEGACY() {
        return PROBE_ATTACH_MODE_LEGACY;
    }
    private static final int PROBE_ATTACH_MODE_PERF = (int)2L;
    /**
     * {@snippet lang=c :
     * enum probe_attach_mode.PROBE_ATTACH_MODE_PERF = 2
     * }
     */
    public static int PROBE_ATTACH_MODE_PERF() {
        return PROBE_ATTACH_MODE_PERF;
    }
    private static final int PROBE_ATTACH_MODE_LINK = (int)3L;
    /**
     * {@snippet lang=c :
     * enum probe_attach_mode.PROBE_ATTACH_MODE_LINK = 3
     * }
     */
    public static int PROBE_ATTACH_MODE_LINK() {
        return PROBE_ATTACH_MODE_LINK;
    }

    private static class bpf_program__attach_kprobe {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_kprobe");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe(const struct bpf_program *prog, bool retprobe, const char *func_name)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_kprobe$descriptor() {
        return bpf_program__attach_kprobe.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe(const struct bpf_program *prog, bool retprobe, const char *func_name)
     * }
     */
    public static MethodHandle bpf_program__attach_kprobe$handle() {
        return bpf_program__attach_kprobe.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe(const struct bpf_program *prog, bool retprobe, const char *func_name)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe$address() {
        return bpf_program__attach_kprobe.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe(const struct bpf_program *prog, bool retprobe, const char *func_name)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe(MemorySegment prog, boolean retprobe, MemorySegment func_name) {
        var mh$ = bpf_program__attach_kprobe.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_kprobe", prog, retprobe, func_name);
            }
            return (MemorySegment)mh$.invokeExact(prog, retprobe, func_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_kprobe_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_kprobe_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_opts(const struct bpf_program *prog, const char *func_name, const struct bpf_kprobe_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_kprobe_opts$descriptor() {
        return bpf_program__attach_kprobe_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_opts(const struct bpf_program *prog, const char *func_name, const struct bpf_kprobe_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_kprobe_opts$handle() {
        return bpf_program__attach_kprobe_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_opts(const struct bpf_program *prog, const char *func_name, const struct bpf_kprobe_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe_opts$address() {
        return bpf_program__attach_kprobe_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_opts(const struct bpf_program *prog, const char *func_name, const struct bpf_kprobe_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe_opts(MemorySegment prog, MemorySegment func_name, MemorySegment opts) {
        var mh$ = bpf_program__attach_kprobe_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_kprobe_opts", prog, func_name, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, func_name, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_kprobe_multi_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_kprobe_multi_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_multi_opts(const struct bpf_program *prog, const char *pattern, const struct bpf_kprobe_multi_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_kprobe_multi_opts$descriptor() {
        return bpf_program__attach_kprobe_multi_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_multi_opts(const struct bpf_program *prog, const char *pattern, const struct bpf_kprobe_multi_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_kprobe_multi_opts$handle() {
        return bpf_program__attach_kprobe_multi_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_multi_opts(const struct bpf_program *prog, const char *pattern, const struct bpf_kprobe_multi_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe_multi_opts$address() {
        return bpf_program__attach_kprobe_multi_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_kprobe_multi_opts(const struct bpf_program *prog, const char *pattern, const struct bpf_kprobe_multi_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_kprobe_multi_opts(MemorySegment prog, MemorySegment pattern, MemorySegment opts) {
        var mh$ = bpf_program__attach_kprobe_multi_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_kprobe_multi_opts", prog, pattern, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, pattern, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_uprobe_multi {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_uprobe_multi");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_multi(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *func_pattern, const struct bpf_uprobe_multi_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_uprobe_multi$descriptor() {
        return bpf_program__attach_uprobe_multi.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_multi(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *func_pattern, const struct bpf_uprobe_multi_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_uprobe_multi$handle() {
        return bpf_program__attach_uprobe_multi.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_multi(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *func_pattern, const struct bpf_uprobe_multi_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe_multi$address() {
        return bpf_program__attach_uprobe_multi.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_multi(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *func_pattern, const struct bpf_uprobe_multi_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe_multi(MemorySegment prog, int pid, MemorySegment binary_path, MemorySegment func_pattern, MemorySegment opts) {
        var mh$ = bpf_program__attach_uprobe_multi.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_uprobe_multi", prog, pid, binary_path, func_pattern, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, pid, binary_path, func_pattern, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_ksyscall {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_ksyscall");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_ksyscall(const struct bpf_program *prog, const char *syscall_name, const struct bpf_ksyscall_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_ksyscall$descriptor() {
        return bpf_program__attach_ksyscall.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_ksyscall(const struct bpf_program *prog, const char *syscall_name, const struct bpf_ksyscall_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_ksyscall$handle() {
        return bpf_program__attach_ksyscall.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_ksyscall(const struct bpf_program *prog, const char *syscall_name, const struct bpf_ksyscall_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_ksyscall$address() {
        return bpf_program__attach_ksyscall.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_ksyscall(const struct bpf_program *prog, const char *syscall_name, const struct bpf_ksyscall_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_ksyscall(MemorySegment prog, MemorySegment syscall_name, MemorySegment opts) {
        var mh$ = bpf_program__attach_ksyscall.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_ksyscall", prog, syscall_name, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, syscall_name, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_uprobe {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_BOOL,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_uprobe");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe(const struct bpf_program *prog, bool retprobe, pid_t pid, const char *binary_path, size_t func_offset)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_uprobe$descriptor() {
        return bpf_program__attach_uprobe.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe(const struct bpf_program *prog, bool retprobe, pid_t pid, const char *binary_path, size_t func_offset)
     * }
     */
    public static MethodHandle bpf_program__attach_uprobe$handle() {
        return bpf_program__attach_uprobe.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe(const struct bpf_program *prog, bool retprobe, pid_t pid, const char *binary_path, size_t func_offset)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe$address() {
        return bpf_program__attach_uprobe.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe(const struct bpf_program *prog, bool retprobe, pid_t pid, const char *binary_path, size_t func_offset)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe(MemorySegment prog, boolean retprobe, int pid, MemorySegment binary_path, long func_offset) {
        var mh$ = bpf_program__attach_uprobe.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_uprobe", prog, retprobe, pid, binary_path, func_offset);
            }
            return (MemorySegment)mh$.invokeExact(prog, retprobe, pid, binary_path, func_offset);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_uprobe_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_uprobe_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid, const char *binary_path, size_t func_offset, const struct bpf_uprobe_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_uprobe_opts$descriptor() {
        return bpf_program__attach_uprobe_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid, const char *binary_path, size_t func_offset, const struct bpf_uprobe_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_uprobe_opts$handle() {
        return bpf_program__attach_uprobe_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid, const char *binary_path, size_t func_offset, const struct bpf_uprobe_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe_opts$address() {
        return bpf_program__attach_uprobe_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid, const char *binary_path, size_t func_offset, const struct bpf_uprobe_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_uprobe_opts(MemorySegment prog, int pid, MemorySegment binary_path, long func_offset, MemorySegment opts) {
        var mh$ = bpf_program__attach_uprobe_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_uprobe_opts", prog, pid, binary_path, func_offset, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, pid, binary_path, func_offset, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_usdt {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_usdt");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_usdt(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *usdt_provider, const char *usdt_name, const struct bpf_usdt_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_usdt$descriptor() {
        return bpf_program__attach_usdt.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_usdt(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *usdt_provider, const char *usdt_name, const struct bpf_usdt_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_usdt$handle() {
        return bpf_program__attach_usdt.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_usdt(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *usdt_provider, const char *usdt_name, const struct bpf_usdt_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_usdt$address() {
        return bpf_program__attach_usdt.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_usdt(const struct bpf_program *prog, pid_t pid, const char *binary_path, const char *usdt_provider, const char *usdt_name, const struct bpf_usdt_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_usdt(MemorySegment prog, int pid, MemorySegment binary_path, MemorySegment usdt_provider, MemorySegment usdt_name, MemorySegment opts) {
        var mh$ = bpf_program__attach_usdt.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_usdt", prog, pid, binary_path, usdt_provider, usdt_name, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, pid, binary_path, usdt_provider, usdt_name, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_tracepoint {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_tracepoint");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint(const struct bpf_program *prog, const char *tp_category, const char *tp_name)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_tracepoint$descriptor() {
        return bpf_program__attach_tracepoint.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint(const struct bpf_program *prog, const char *tp_category, const char *tp_name)
     * }
     */
    public static MethodHandle bpf_program__attach_tracepoint$handle() {
        return bpf_program__attach_tracepoint.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint(const struct bpf_program *prog, const char *tp_category, const char *tp_name)
     * }
     */
    public static MemorySegment bpf_program__attach_tracepoint$address() {
        return bpf_program__attach_tracepoint.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint(const struct bpf_program *prog, const char *tp_category, const char *tp_name)
     * }
     */
    public static MemorySegment bpf_program__attach_tracepoint(MemorySegment prog, MemorySegment tp_category, MemorySegment tp_name) {
        var mh$ = bpf_program__attach_tracepoint.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_tracepoint", prog, tp_category, tp_name);
            }
            return (MemorySegment)mh$.invokeExact(prog, tp_category, tp_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_tracepoint_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_tracepoint_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint_opts(const struct bpf_program *prog, const char *tp_category, const char *tp_name, const struct bpf_tracepoint_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_tracepoint_opts$descriptor() {
        return bpf_program__attach_tracepoint_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint_opts(const struct bpf_program *prog, const char *tp_category, const char *tp_name, const struct bpf_tracepoint_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_tracepoint_opts$handle() {
        return bpf_program__attach_tracepoint_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint_opts(const struct bpf_program *prog, const char *tp_category, const char *tp_name, const struct bpf_tracepoint_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_tracepoint_opts$address() {
        return bpf_program__attach_tracepoint_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tracepoint_opts(const struct bpf_program *prog, const char *tp_category, const char *tp_name, const struct bpf_tracepoint_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_tracepoint_opts(MemorySegment prog, MemorySegment tp_category, MemorySegment tp_name, MemorySegment opts) {
        var mh$ = bpf_program__attach_tracepoint_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_tracepoint_opts", prog, tp_category, tp_name, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, tp_category, tp_name, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_raw_tracepoint {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_raw_tracepoint");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint(const struct bpf_program *prog, const char *tp_name)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_raw_tracepoint$descriptor() {
        return bpf_program__attach_raw_tracepoint.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint(const struct bpf_program *prog, const char *tp_name)
     * }
     */
    public static MethodHandle bpf_program__attach_raw_tracepoint$handle() {
        return bpf_program__attach_raw_tracepoint.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint(const struct bpf_program *prog, const char *tp_name)
     * }
     */
    public static MemorySegment bpf_program__attach_raw_tracepoint$address() {
        return bpf_program__attach_raw_tracepoint.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint(const struct bpf_program *prog, const char *tp_name)
     * }
     */
    public static MemorySegment bpf_program__attach_raw_tracepoint(MemorySegment prog, MemorySegment tp_name) {
        var mh$ = bpf_program__attach_raw_tracepoint.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_raw_tracepoint", prog, tp_name);
            }
            return (MemorySegment)mh$.invokeExact(prog, tp_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_raw_tracepoint_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_raw_tracepoint_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint_opts(const struct bpf_program *prog, const char *tp_name, struct bpf_raw_tracepoint_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_raw_tracepoint_opts$descriptor() {
        return bpf_program__attach_raw_tracepoint_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint_opts(const struct bpf_program *prog, const char *tp_name, struct bpf_raw_tracepoint_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_raw_tracepoint_opts$handle() {
        return bpf_program__attach_raw_tracepoint_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint_opts(const struct bpf_program *prog, const char *tp_name, struct bpf_raw_tracepoint_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_raw_tracepoint_opts$address() {
        return bpf_program__attach_raw_tracepoint_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_raw_tracepoint_opts(const struct bpf_program *prog, const char *tp_name, struct bpf_raw_tracepoint_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_raw_tracepoint_opts(MemorySegment prog, MemorySegment tp_name, MemorySegment opts) {
        var mh$ = bpf_program__attach_raw_tracepoint_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_raw_tracepoint_opts", prog, tp_name, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, tp_name, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_trace {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_trace");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_trace$descriptor() {
        return bpf_program__attach_trace.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__attach_trace$handle() {
        return bpf_program__attach_trace.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach_trace$address() {
        return bpf_program__attach_trace.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach_trace(MemorySegment prog) {
        var mh$ = bpf_program__attach_trace.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_trace", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_trace_opts {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_trace_opts");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace_opts(const struct bpf_program *prog, const struct bpf_trace_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_trace_opts$descriptor() {
        return bpf_program__attach_trace_opts.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace_opts(const struct bpf_program *prog, const struct bpf_trace_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_trace_opts$handle() {
        return bpf_program__attach_trace_opts.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace_opts(const struct bpf_program *prog, const struct bpf_trace_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_trace_opts$address() {
        return bpf_program__attach_trace_opts.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_trace_opts(const struct bpf_program *prog, const struct bpf_trace_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_trace_opts(MemorySegment prog, MemorySegment opts) {
        var mh$ = bpf_program__attach_trace_opts.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_trace_opts", prog, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_lsm {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_lsm");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_lsm(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_lsm$descriptor() {
        return bpf_program__attach_lsm.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_lsm(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__attach_lsm$handle() {
        return bpf_program__attach_lsm.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_lsm(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach_lsm$address() {
        return bpf_program__attach_lsm.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_lsm(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__attach_lsm(MemorySegment prog) {
        var mh$ = bpf_program__attach_lsm.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_lsm", prog);
            }
            return (MemorySegment)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_cgroup {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_cgroup");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_cgroup$descriptor() {
        return bpf_program__attach_cgroup.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd)
     * }
     */
    public static MethodHandle bpf_program__attach_cgroup$handle() {
        return bpf_program__attach_cgroup.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd)
     * }
     */
    public static MemorySegment bpf_program__attach_cgroup$address() {
        return bpf_program__attach_cgroup.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd)
     * }
     */
    public static MemorySegment bpf_program__attach_cgroup(MemorySegment prog, int cgroup_fd) {
        var mh$ = bpf_program__attach_cgroup.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_cgroup", prog, cgroup_fd);
            }
            return (MemorySegment)mh$.invokeExact(prog, cgroup_fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_netns {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_netns");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_netns$descriptor() {
        return bpf_program__attach_netns.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd)
     * }
     */
    public static MethodHandle bpf_program__attach_netns$handle() {
        return bpf_program__attach_netns.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd)
     * }
     */
    public static MemorySegment bpf_program__attach_netns$address() {
        return bpf_program__attach_netns.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd)
     * }
     */
    public static MemorySegment bpf_program__attach_netns(MemorySegment prog, int netns_fd) {
        var mh$ = bpf_program__attach_netns.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_netns", prog, netns_fd);
            }
            return (MemorySegment)mh$.invokeExact(prog, netns_fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_xdp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_xdp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_xdp(const struct bpf_program *prog, int ifindex)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_xdp$descriptor() {
        return bpf_program__attach_xdp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_xdp(const struct bpf_program *prog, int ifindex)
     * }
     */
    public static MethodHandle bpf_program__attach_xdp$handle() {
        return bpf_program__attach_xdp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_xdp(const struct bpf_program *prog, int ifindex)
     * }
     */
    public static MemorySegment bpf_program__attach_xdp$address() {
        return bpf_program__attach_xdp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_xdp(const struct bpf_program *prog, int ifindex)
     * }
     */
    public static MemorySegment bpf_program__attach_xdp(MemorySegment prog, int ifindex) {
        var mh$ = bpf_program__attach_xdp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_xdp", prog, ifindex);
            }
            return (MemorySegment)mh$.invokeExact(prog, ifindex);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_freplace {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_freplace");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_freplace(const struct bpf_program *prog, int target_fd, const char *attach_func_name)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_freplace$descriptor() {
        return bpf_program__attach_freplace.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_freplace(const struct bpf_program *prog, int target_fd, const char *attach_func_name)
     * }
     */
    public static MethodHandle bpf_program__attach_freplace$handle() {
        return bpf_program__attach_freplace.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_freplace(const struct bpf_program *prog, int target_fd, const char *attach_func_name)
     * }
     */
    public static MemorySegment bpf_program__attach_freplace$address() {
        return bpf_program__attach_freplace.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_freplace(const struct bpf_program *prog, int target_fd, const char *attach_func_name)
     * }
     */
    public static MemorySegment bpf_program__attach_freplace(MemorySegment prog, int target_fd, MemorySegment attach_func_name) {
        var mh$ = bpf_program__attach_freplace.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_freplace", prog, target_fd, attach_func_name);
            }
            return (MemorySegment)mh$.invokeExact(prog, target_fd, attach_func_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_netfilter {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_netfilter");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netfilter(const struct bpf_program *prog, const struct bpf_netfilter_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_netfilter$descriptor() {
        return bpf_program__attach_netfilter.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netfilter(const struct bpf_program *prog, const struct bpf_netfilter_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_netfilter$handle() {
        return bpf_program__attach_netfilter.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netfilter(const struct bpf_program *prog, const struct bpf_netfilter_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_netfilter$address() {
        return bpf_program__attach_netfilter.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netfilter(const struct bpf_program *prog, const struct bpf_netfilter_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_netfilter(MemorySegment prog, MemorySegment opts) {
        var mh$ = bpf_program__attach_netfilter.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_netfilter", prog, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_tcx {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_tcx");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tcx(const struct bpf_program *prog, int ifindex, const struct bpf_tcx_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_tcx$descriptor() {
        return bpf_program__attach_tcx.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tcx(const struct bpf_program *prog, int ifindex, const struct bpf_tcx_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_tcx$handle() {
        return bpf_program__attach_tcx.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tcx(const struct bpf_program *prog, int ifindex, const struct bpf_tcx_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_tcx$address() {
        return bpf_program__attach_tcx.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_tcx(const struct bpf_program *prog, int ifindex, const struct bpf_tcx_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_tcx(MemorySegment prog, int ifindex, MemorySegment opts) {
        var mh$ = bpf_program__attach_tcx.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_tcx", prog, ifindex, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, ifindex, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_netkit {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_netkit");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netkit(const struct bpf_program *prog, int ifindex, const struct bpf_netkit_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_netkit$descriptor() {
        return bpf_program__attach_netkit.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netkit(const struct bpf_program *prog, int ifindex, const struct bpf_netkit_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_netkit$handle() {
        return bpf_program__attach_netkit.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netkit(const struct bpf_program *prog, int ifindex, const struct bpf_netkit_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_netkit$address() {
        return bpf_program__attach_netkit.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_netkit(const struct bpf_program *prog, int ifindex, const struct bpf_netkit_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_netkit(MemorySegment prog, int ifindex, MemorySegment opts) {
        var mh$ = bpf_program__attach_netkit.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_netkit", prog, ifindex, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, ifindex, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__attach_struct_ops {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__attach_struct_ops");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__attach_struct_ops$descriptor() {
        return bpf_map__attach_struct_ops.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__attach_struct_ops$handle() {
        return bpf_map__attach_struct_ops.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__attach_struct_ops$address() {
        return bpf_map__attach_struct_ops.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__attach_struct_ops(MemorySegment map) {
        var mh$ = bpf_map__attach_struct_ops.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__attach_struct_ops", map);
            }
            return (MemorySegment)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_link__update_map {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_link__update_map");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_link__update_map(struct bpf_link *link, const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_link__update_map$descriptor() {
        return bpf_link__update_map.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_link__update_map(struct bpf_link *link, const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_link__update_map$handle() {
        return bpf_link__update_map.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_link__update_map(struct bpf_link *link, const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_link__update_map$address() {
        return bpf_link__update_map.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_link__update_map(struct bpf_link *link, const struct bpf_map *map)
     * }
     */
    public static int bpf_link__update_map(MemorySegment link, MemorySegment map) {
        var mh$ = bpf_link__update_map.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_link__update_map", link, map);
            }
            return (int)mh$.invokeExact(link, map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__attach_iter {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__attach_iter");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_iter(const struct bpf_program *prog, const struct bpf_iter_attach_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_program__attach_iter$descriptor() {
        return bpf_program__attach_iter.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_iter(const struct bpf_program *prog, const struct bpf_iter_attach_opts *opts)
     * }
     */
    public static MethodHandle bpf_program__attach_iter$handle() {
        return bpf_program__attach_iter.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_iter(const struct bpf_program *prog, const struct bpf_iter_attach_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_iter$address() {
        return bpf_program__attach_iter.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_link *bpf_program__attach_iter(const struct bpf_program *prog, const struct bpf_iter_attach_opts *opts)
     * }
     */
    public static MemorySegment bpf_program__attach_iter(MemorySegment prog, MemorySegment opts) {
        var mh$ = bpf_program__attach_iter.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__attach_iter", prog, opts);
            }
            return (MemorySegment)mh$.invokeExact(prog, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__type(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__type$descriptor() {
        return bpf_program__type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__type(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__type$handle() {
        return bpf_program__type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__type(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__type$address() {
        return bpf_program__type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum bpf_prog_type bpf_program__type(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__type(MemorySegment prog) {
        var mh$ = bpf_program__type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__type", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type)
     * }
     */
    public static FunctionDescriptor bpf_program__set_type$descriptor() {
        return bpf_program__set_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type)
     * }
     */
    public static MethodHandle bpf_program__set_type$handle() {
        return bpf_program__set_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type)
     * }
     */
    public static MemorySegment bpf_program__set_type$address() {
        return bpf_program__set_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_type(struct bpf_program *prog, enum bpf_prog_type type)
     * }
     */
    public static int bpf_program__set_type(MemorySegment prog, int type) {
        var mh$ = bpf_program__set_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_type", prog, type);
            }
            return (int)mh$.invokeExact(prog, type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__expected_attach_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__expected_attach_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__expected_attach_type$descriptor() {
        return bpf_program__expected_attach_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__expected_attach_type$handle() {
        return bpf_program__expected_attach_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__expected_attach_type$address() {
        return bpf_program__expected_attach_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum bpf_attach_type bpf_program__expected_attach_type(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__expected_attach_type(MemorySegment prog) {
        var mh$ = bpf_program__expected_attach_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__expected_attach_type", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_expected_attach_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_expected_attach_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_expected_attach_type(struct bpf_program *prog, enum bpf_attach_type type)
     * }
     */
    public static FunctionDescriptor bpf_program__set_expected_attach_type$descriptor() {
        return bpf_program__set_expected_attach_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_expected_attach_type(struct bpf_program *prog, enum bpf_attach_type type)
     * }
     */
    public static MethodHandle bpf_program__set_expected_attach_type$handle() {
        return bpf_program__set_expected_attach_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_expected_attach_type(struct bpf_program *prog, enum bpf_attach_type type)
     * }
     */
    public static MemorySegment bpf_program__set_expected_attach_type$address() {
        return bpf_program__set_expected_attach_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_expected_attach_type(struct bpf_program *prog, enum bpf_attach_type type)
     * }
     */
    public static int bpf_program__set_expected_attach_type(MemorySegment prog, int type) {
        var mh$ = bpf_program__set_expected_attach_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_expected_attach_type", prog, type);
            }
            return (int)mh$.invokeExact(prog, type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_program__flags(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__flags$descriptor() {
        return bpf_program__flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_program__flags(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__flags$handle() {
        return bpf_program__flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_program__flags(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__flags$address() {
        return bpf_program__flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_program__flags(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__flags(MemorySegment prog) {
        var mh$ = bpf_program__flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__flags", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_flags(struct bpf_program *prog, __u32 flags)
     * }
     */
    public static FunctionDescriptor bpf_program__set_flags$descriptor() {
        return bpf_program__set_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_flags(struct bpf_program *prog, __u32 flags)
     * }
     */
    public static MethodHandle bpf_program__set_flags$handle() {
        return bpf_program__set_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_flags(struct bpf_program *prog, __u32 flags)
     * }
     */
    public static MemorySegment bpf_program__set_flags$address() {
        return bpf_program__set_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_flags(struct bpf_program *prog, __u32 flags)
     * }
     */
    public static int bpf_program__set_flags(MemorySegment prog, int flags) {
        var mh$ = bpf_program__set_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_flags", prog, flags);
            }
            return (int)mh$.invokeExact(prog, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__log_level {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__log_level");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_program__log_level(const struct bpf_program *prog)
     * }
     */
    public static FunctionDescriptor bpf_program__log_level$descriptor() {
        return bpf_program__log_level.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_program__log_level(const struct bpf_program *prog)
     * }
     */
    public static MethodHandle bpf_program__log_level$handle() {
        return bpf_program__log_level.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_program__log_level(const struct bpf_program *prog)
     * }
     */
    public static MemorySegment bpf_program__log_level$address() {
        return bpf_program__log_level.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_program__log_level(const struct bpf_program *prog)
     * }
     */
    public static int bpf_program__log_level(MemorySegment prog) {
        var mh$ = bpf_program__log_level.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__log_level", prog);
            }
            return (int)mh$.invokeExact(prog);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_log_level {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_log_level");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level)
     * }
     */
    public static FunctionDescriptor bpf_program__set_log_level$descriptor() {
        return bpf_program__set_log_level.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level)
     * }
     */
    public static MethodHandle bpf_program__set_log_level$handle() {
        return bpf_program__set_log_level.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level)
     * }
     */
    public static MemorySegment bpf_program__set_log_level$address() {
        return bpf_program__set_log_level.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level)
     * }
     */
    public static int bpf_program__set_log_level(MemorySegment prog, int log_level) {
        var mh$ = bpf_program__set_log_level.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_log_level", prog, log_level);
            }
            return (int)mh$.invokeExact(prog, log_level);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__log_buf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__log_buf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size)
     * }
     */
    public static FunctionDescriptor bpf_program__log_buf$descriptor() {
        return bpf_program__log_buf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size)
     * }
     */
    public static MethodHandle bpf_program__log_buf$handle() {
        return bpf_program__log_buf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size)
     * }
     */
    public static MemorySegment bpf_program__log_buf$address() {
        return bpf_program__log_buf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size)
     * }
     */
    public static MemorySegment bpf_program__log_buf(MemorySegment prog, MemorySegment log_size) {
        var mh$ = bpf_program__log_buf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__log_buf", prog, log_size);
            }
            return (MemorySegment)mh$.invokeExact(prog, log_size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_log_buf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_log_buf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size)
     * }
     */
    public static FunctionDescriptor bpf_program__set_log_buf$descriptor() {
        return bpf_program__set_log_buf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size)
     * }
     */
    public static MethodHandle bpf_program__set_log_buf$handle() {
        return bpf_program__set_log_buf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size)
     * }
     */
    public static MemorySegment bpf_program__set_log_buf$address() {
        return bpf_program__set_log_buf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size)
     * }
     */
    public static int bpf_program__set_log_buf(MemorySegment prog, MemorySegment log_buf, long log_size) {
        var mh$ = bpf_program__set_log_buf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_log_buf", prog, log_buf, log_size);
            }
            return (int)mh$.invokeExact(prog, log_buf, log_size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_program__set_attach_target {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_program__set_attach_target");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, const char *attach_func_name)
     * }
     */
    public static FunctionDescriptor bpf_program__set_attach_target$descriptor() {
        return bpf_program__set_attach_target.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, const char *attach_func_name)
     * }
     */
    public static MethodHandle bpf_program__set_attach_target$handle() {
        return bpf_program__set_attach_target.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, const char *attach_func_name)
     * }
     */
    public static MemorySegment bpf_program__set_attach_target$address() {
        return bpf_program__set_attach_target.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, const char *attach_func_name)
     * }
     */
    public static int bpf_program__set_attach_target(MemorySegment prog, int attach_prog_fd, MemorySegment attach_func_name) {
        var mh$ = bpf_program__set_attach_target.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_program__set_attach_target", prog, attach_prog_fd, attach_func_name);
            }
            return (int)mh$.invokeExact(prog, attach_prog_fd, attach_func_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__find_map_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__find_map_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static FunctionDescriptor bpf_object__find_map_by_name$descriptor() {
        return bpf_object__find_map_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MethodHandle bpf_object__find_map_by_name$handle() {
        return bpf_object__find_map_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MemorySegment bpf_object__find_map_by_name$address() {
        return bpf_object__find_map_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MemorySegment bpf_object__find_map_by_name(MemorySegment obj, MemorySegment name) {
        var mh$ = bpf_object__find_map_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__find_map_by_name", obj, name);
            }
            return (MemorySegment)mh$.invokeExact(obj, name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__find_map_fd_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__find_map_fd_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static FunctionDescriptor bpf_object__find_map_fd_by_name$descriptor() {
        return bpf_object__find_map_fd_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MethodHandle bpf_object__find_map_fd_by_name$handle() {
        return bpf_object__find_map_fd_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static MemorySegment bpf_object__find_map_fd_by_name$address() {
        return bpf_object__find_map_fd_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name)
     * }
     */
    public static int bpf_object__find_map_fd_by_name(MemorySegment obj, MemorySegment name) {
        var mh$ = bpf_object__find_map_fd_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__find_map_fd_by_name", obj, name);
            }
            return (int)mh$.invokeExact(obj, name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__next_map {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__next_map");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_object__next_map$descriptor() {
        return bpf_object__next_map.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_object__next_map$handle() {
        return bpf_object__next_map.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_object__next_map$address() {
        return bpf_object__next_map.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_object__next_map(MemorySegment obj, MemorySegment map) {
        var mh$ = bpf_object__next_map.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__next_map", obj, map);
            }
            return (MemorySegment)mh$.invokeExact(obj, map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__prev_map {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__prev_map");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_object__prev_map$descriptor() {
        return bpf_object__prev_map.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_object__prev_map$handle() {
        return bpf_object__prev_map.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_object__prev_map$address() {
        return bpf_object__prev_map.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_map *bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_object__prev_map(MemorySegment obj, MemorySegment map) {
        var mh$ = bpf_object__prev_map.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__prev_map", obj, map);
            }
            return (MemorySegment)mh$.invokeExact(obj, map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_autocreate {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_BOOL
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_autocreate");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate)
     * }
     */
    public static FunctionDescriptor bpf_map__set_autocreate$descriptor() {
        return bpf_map__set_autocreate.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate)
     * }
     */
    public static MethodHandle bpf_map__set_autocreate$handle() {
        return bpf_map__set_autocreate.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate)
     * }
     */
    public static MemorySegment bpf_map__set_autocreate$address() {
        return bpf_map__set_autocreate.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate)
     * }
     */
    public static int bpf_map__set_autocreate(MemorySegment map, boolean autocreate) {
        var mh$ = bpf_map__set_autocreate.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_autocreate", map, autocreate);
            }
            return (int)mh$.invokeExact(map, autocreate);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__autocreate {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__autocreate");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * bool bpf_map__autocreate(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__autocreate$descriptor() {
        return bpf_map__autocreate.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * bool bpf_map__autocreate(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__autocreate$handle() {
        return bpf_map__autocreate.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * bool bpf_map__autocreate(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__autocreate$address() {
        return bpf_map__autocreate.ADDR;
    }

    /**
     * {@snippet lang=c :
     * bool bpf_map__autocreate(const struct bpf_map *map)
     * }
     */
    public static boolean bpf_map__autocreate(MemorySegment map) {
        var mh$ = bpf_map__autocreate.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__autocreate", map);
            }
            return (boolean)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__fd(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__fd$descriptor() {
        return bpf_map__fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__fd(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__fd$handle() {
        return bpf_map__fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__fd(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__fd$address() {
        return bpf_map__fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__fd(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__fd(MemorySegment map) {
        var mh$ = bpf_map__fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__fd", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__reuse_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__reuse_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__reuse_fd(struct bpf_map *map, int fd)
     * }
     */
    public static FunctionDescriptor bpf_map__reuse_fd$descriptor() {
        return bpf_map__reuse_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__reuse_fd(struct bpf_map *map, int fd)
     * }
     */
    public static MethodHandle bpf_map__reuse_fd$handle() {
        return bpf_map__reuse_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__reuse_fd(struct bpf_map *map, int fd)
     * }
     */
    public static MemorySegment bpf_map__reuse_fd$address() {
        return bpf_map__reuse_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__reuse_fd(struct bpf_map *map, int fd)
     * }
     */
    public static int bpf_map__reuse_fd(MemorySegment map, int fd) {
        var mh$ = bpf_map__reuse_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__reuse_fd", map, fd);
            }
            return (int)mh$.invokeExact(map, fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_map__name(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__name$descriptor() {
        return bpf_map__name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_map__name(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__name$handle() {
        return bpf_map__name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_map__name(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__name$address() {
        return bpf_map__name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_map__name(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__name(MemorySegment map) {
        var mh$ = bpf_map__name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__name", map);
            }
            return (MemorySegment)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum bpf_map_type bpf_map__type(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__type$descriptor() {
        return bpf_map__type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum bpf_map_type bpf_map__type(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__type$handle() {
        return bpf_map__type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum bpf_map_type bpf_map__type(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__type$address() {
        return bpf_map__type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum bpf_map_type bpf_map__type(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__type(MemorySegment map) {
        var mh$ = bpf_map__type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__type", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type)
     * }
     */
    public static FunctionDescriptor bpf_map__set_type$descriptor() {
        return bpf_map__set_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type)
     * }
     */
    public static MethodHandle bpf_map__set_type$handle() {
        return bpf_map__set_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type)
     * }
     */
    public static MemorySegment bpf_map__set_type$address() {
        return bpf_map__set_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type)
     * }
     */
    public static int bpf_map__set_type(MemorySegment map, int type) {
        var mh$ = bpf_map__set_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_type", map, type);
            }
            return (int)mh$.invokeExact(map, type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__max_entries {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__max_entries");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__max_entries(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__max_entries$descriptor() {
        return bpf_map__max_entries.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__max_entries(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__max_entries$handle() {
        return bpf_map__max_entries.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__max_entries(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__max_entries$address() {
        return bpf_map__max_entries.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__max_entries(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__max_entries(MemorySegment map) {
        var mh$ = bpf_map__max_entries.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__max_entries", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_max_entries {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_max_entries");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries)
     * }
     */
    public static FunctionDescriptor bpf_map__set_max_entries$descriptor() {
        return bpf_map__set_max_entries.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries)
     * }
     */
    public static MethodHandle bpf_map__set_max_entries$handle() {
        return bpf_map__set_max_entries.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries)
     * }
     */
    public static MemorySegment bpf_map__set_max_entries$address() {
        return bpf_map__set_max_entries.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries)
     * }
     */
    public static int bpf_map__set_max_entries(MemorySegment map, int max_entries) {
        var mh$ = bpf_map__set_max_entries.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_max_entries", map, max_entries);
            }
            return (int)mh$.invokeExact(map, max_entries);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__map_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__map_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__map_flags(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__map_flags$descriptor() {
        return bpf_map__map_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__map_flags(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__map_flags$handle() {
        return bpf_map__map_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__map_flags(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__map_flags$address() {
        return bpf_map__map_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__map_flags(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__map_flags(MemorySegment map) {
        var mh$ = bpf_map__map_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__map_flags", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_map_flags {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_map_flags");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags)
     * }
     */
    public static FunctionDescriptor bpf_map__set_map_flags$descriptor() {
        return bpf_map__set_map_flags.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags)
     * }
     */
    public static MethodHandle bpf_map__set_map_flags$handle() {
        return bpf_map__set_map_flags.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags)
     * }
     */
    public static MemorySegment bpf_map__set_map_flags$address() {
        return bpf_map__set_map_flags.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags)
     * }
     */
    public static int bpf_map__set_map_flags(MemorySegment map, int flags) {
        var mh$ = bpf_map__set_map_flags.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_map_flags", map, flags);
            }
            return (int)mh$.invokeExact(map, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__numa_node {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__numa_node");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__numa_node(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__numa_node$descriptor() {
        return bpf_map__numa_node.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__numa_node(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__numa_node$handle() {
        return bpf_map__numa_node.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__numa_node(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__numa_node$address() {
        return bpf_map__numa_node.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__numa_node(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__numa_node(MemorySegment map) {
        var mh$ = bpf_map__numa_node.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__numa_node", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_numa_node {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_numa_node");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node)
     * }
     */
    public static FunctionDescriptor bpf_map__set_numa_node$descriptor() {
        return bpf_map__set_numa_node.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node)
     * }
     */
    public static MethodHandle bpf_map__set_numa_node$handle() {
        return bpf_map__set_numa_node.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node)
     * }
     */
    public static MemorySegment bpf_map__set_numa_node$address() {
        return bpf_map__set_numa_node.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node)
     * }
     */
    public static int bpf_map__set_numa_node(MemorySegment map, int numa_node) {
        var mh$ = bpf_map__set_numa_node.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_numa_node", map, numa_node);
            }
            return (int)mh$.invokeExact(map, numa_node);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__key_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__key_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__key_size(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__key_size$descriptor() {
        return bpf_map__key_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__key_size(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__key_size$handle() {
        return bpf_map__key_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__key_size(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__key_size$address() {
        return bpf_map__key_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__key_size(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__key_size(MemorySegment map) {
        var mh$ = bpf_map__key_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__key_size", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_key_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_key_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_key_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static FunctionDescriptor bpf_map__set_key_size$descriptor() {
        return bpf_map__set_key_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_key_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static MethodHandle bpf_map__set_key_size$handle() {
        return bpf_map__set_key_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_key_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static MemorySegment bpf_map__set_key_size$address() {
        return bpf_map__set_key_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_key_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static int bpf_map__set_key_size(MemorySegment map, int size) {
        var mh$ = bpf_map__set_key_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_key_size", map, size);
            }
            return (int)mh$.invokeExact(map, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__value_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__value_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__value_size(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__value_size$descriptor() {
        return bpf_map__value_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__value_size(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__value_size$handle() {
        return bpf_map__value_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__value_size(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__value_size$address() {
        return bpf_map__value_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__value_size(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__value_size(MemorySegment map) {
        var mh$ = bpf_map__value_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__value_size", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_value_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_value_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_value_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static FunctionDescriptor bpf_map__set_value_size$descriptor() {
        return bpf_map__set_value_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_value_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static MethodHandle bpf_map__set_value_size$handle() {
        return bpf_map__set_value_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_value_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static MemorySegment bpf_map__set_value_size$address() {
        return bpf_map__set_value_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_value_size(struct bpf_map *map, __u32 size)
     * }
     */
    public static int bpf_map__set_value_size(MemorySegment map, int size) {
        var mh$ = bpf_map__set_value_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_value_size", map, size);
            }
            return (int)mh$.invokeExact(map, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__btf_key_type_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__btf_key_type_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__btf_key_type_id$descriptor() {
        return bpf_map__btf_key_type_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__btf_key_type_id$handle() {
        return bpf_map__btf_key_type_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__btf_key_type_id$address() {
        return bpf_map__btf_key_type_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__btf_key_type_id(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__btf_key_type_id(MemorySegment map) {
        var mh$ = bpf_map__btf_key_type_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__btf_key_type_id", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__btf_value_type_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__btf_value_type_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__btf_value_type_id$descriptor() {
        return bpf_map__btf_value_type_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__btf_value_type_id$handle() {
        return bpf_map__btf_value_type_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__btf_value_type_id$address() {
        return bpf_map__btf_value_type_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__btf_value_type_id(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__btf_value_type_id(MemorySegment map) {
        var mh$ = bpf_map__btf_value_type_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__btf_value_type_id", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__ifindex {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__ifindex");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 bpf_map__ifindex(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__ifindex$descriptor() {
        return bpf_map__ifindex.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 bpf_map__ifindex(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__ifindex$handle() {
        return bpf_map__ifindex.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 bpf_map__ifindex(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__ifindex$address() {
        return bpf_map__ifindex.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 bpf_map__ifindex(const struct bpf_map *map)
     * }
     */
    public static int bpf_map__ifindex(MemorySegment map) {
        var mh$ = bpf_map__ifindex.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__ifindex", map);
            }
            return (int)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_ifindex {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_ifindex");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex)
     * }
     */
    public static FunctionDescriptor bpf_map__set_ifindex$descriptor() {
        return bpf_map__set_ifindex.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex)
     * }
     */
    public static MethodHandle bpf_map__set_ifindex$handle() {
        return bpf_map__set_ifindex.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex)
     * }
     */
    public static MemorySegment bpf_map__set_ifindex$address() {
        return bpf_map__set_ifindex.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex)
     * }
     */
    public static int bpf_map__set_ifindex(MemorySegment map, int ifindex) {
        var mh$ = bpf_map__set_ifindex.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_ifindex", map, ifindex);
            }
            return (int)mh$.invokeExact(map, ifindex);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__map_extra {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__map_extra");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u64 bpf_map__map_extra(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__map_extra$descriptor() {
        return bpf_map__map_extra.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u64 bpf_map__map_extra(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__map_extra$handle() {
        return bpf_map__map_extra.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u64 bpf_map__map_extra(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__map_extra$address() {
        return bpf_map__map_extra.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u64 bpf_map__map_extra(const struct bpf_map *map)
     * }
     */
    public static long bpf_map__map_extra(MemorySegment map) {
        var mh$ = bpf_map__map_extra.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__map_extra", map);
            }
            return (long)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_map_extra {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_map_extra");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra)
     * }
     */
    public static FunctionDescriptor bpf_map__set_map_extra$descriptor() {
        return bpf_map__set_map_extra.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra)
     * }
     */
    public static MethodHandle bpf_map__set_map_extra$handle() {
        return bpf_map__set_map_extra.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra)
     * }
     */
    public static MemorySegment bpf_map__set_map_extra$address() {
        return bpf_map__set_map_extra.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra)
     * }
     */
    public static int bpf_map__set_map_extra(MemorySegment map, long map_extra) {
        var mh$ = bpf_map__set_map_extra.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_map_extra", map, map_extra);
            }
            return (int)mh$.invokeExact(map, map_extra);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_initial_value {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_initial_value");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_initial_value(struct bpf_map *map, const void *data, size_t size)
     * }
     */
    public static FunctionDescriptor bpf_map__set_initial_value$descriptor() {
        return bpf_map__set_initial_value.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_initial_value(struct bpf_map *map, const void *data, size_t size)
     * }
     */
    public static MethodHandle bpf_map__set_initial_value$handle() {
        return bpf_map__set_initial_value.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_initial_value(struct bpf_map *map, const void *data, size_t size)
     * }
     */
    public static MemorySegment bpf_map__set_initial_value$address() {
        return bpf_map__set_initial_value.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_initial_value(struct bpf_map *map, const void *data, size_t size)
     * }
     */
    public static int bpf_map__set_initial_value(MemorySegment map, MemorySegment data, long size) {
        var mh$ = bpf_map__set_initial_value.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_initial_value", map, data, size);
            }
            return (int)mh$.invokeExact(map, data, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__initial_value {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__initial_value");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void *bpf_map__initial_value(const struct bpf_map *map, size_t *psize)
     * }
     */
    public static FunctionDescriptor bpf_map__initial_value$descriptor() {
        return bpf_map__initial_value.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void *bpf_map__initial_value(const struct bpf_map *map, size_t *psize)
     * }
     */
    public static MethodHandle bpf_map__initial_value$handle() {
        return bpf_map__initial_value.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void *bpf_map__initial_value(const struct bpf_map *map, size_t *psize)
     * }
     */
    public static MemorySegment bpf_map__initial_value$address() {
        return bpf_map__initial_value.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void *bpf_map__initial_value(const struct bpf_map *map, size_t *psize)
     * }
     */
    public static MemorySegment bpf_map__initial_value(MemorySegment map, MemorySegment psize) {
        var mh$ = bpf_map__initial_value.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__initial_value", map, psize);
            }
            return (MemorySegment)mh$.invokeExact(map, psize);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__is_internal {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__is_internal");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * bool bpf_map__is_internal(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__is_internal$descriptor() {
        return bpf_map__is_internal.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * bool bpf_map__is_internal(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__is_internal$handle() {
        return bpf_map__is_internal.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * bool bpf_map__is_internal(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__is_internal$address() {
        return bpf_map__is_internal.ADDR;
    }

    /**
     * {@snippet lang=c :
     * bool bpf_map__is_internal(const struct bpf_map *map)
     * }
     */
    public static boolean bpf_map__is_internal(MemorySegment map) {
        var mh$ = bpf_map__is_internal.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__is_internal", map);
            }
            return (boolean)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_pin_path {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_pin_path");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_map__set_pin_path$descriptor() {
        return bpf_map__set_pin_path.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
     * }
     */
    public static MethodHandle bpf_map__set_pin_path$handle() {
        return bpf_map__set_pin_path.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
     * }
     */
    public static MemorySegment bpf_map__set_pin_path$address() {
        return bpf_map__set_pin_path.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_pin_path(struct bpf_map *map, const char *path)
     * }
     */
    public static int bpf_map__set_pin_path(MemorySegment map, MemorySegment path) {
        var mh$ = bpf_map__set_pin_path.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_pin_path", map, path);
            }
            return (int)mh$.invokeExact(map, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__pin_path {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__pin_path");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *bpf_map__pin_path(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__pin_path$descriptor() {
        return bpf_map__pin_path.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *bpf_map__pin_path(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__pin_path$handle() {
        return bpf_map__pin_path.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *bpf_map__pin_path(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__pin_path$address() {
        return bpf_map__pin_path.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *bpf_map__pin_path(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__pin_path(MemorySegment map) {
        var mh$ = bpf_map__pin_path.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__pin_path", map);
            }
            return (MemorySegment)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__is_pinned {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_BOOL,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__is_pinned");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * bool bpf_map__is_pinned(const struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__is_pinned$descriptor() {
        return bpf_map__is_pinned.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * bool bpf_map__is_pinned(const struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__is_pinned$handle() {
        return bpf_map__is_pinned.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * bool bpf_map__is_pinned(const struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__is_pinned$address() {
        return bpf_map__is_pinned.ADDR;
    }

    /**
     * {@snippet lang=c :
     * bool bpf_map__is_pinned(const struct bpf_map *map)
     * }
     */
    public static boolean bpf_map__is_pinned(MemorySegment map) {
        var mh$ = bpf_map__is_pinned.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__is_pinned", map);
            }
            return (boolean)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__pin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__pin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__pin(struct bpf_map *map, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_map__pin$descriptor() {
        return bpf_map__pin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__pin(struct bpf_map *map, const char *path)
     * }
     */
    public static MethodHandle bpf_map__pin$handle() {
        return bpf_map__pin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__pin(struct bpf_map *map, const char *path)
     * }
     */
    public static MemorySegment bpf_map__pin$address() {
        return bpf_map__pin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__pin(struct bpf_map *map, const char *path)
     * }
     */
    public static int bpf_map__pin(MemorySegment map, MemorySegment path) {
        var mh$ = bpf_map__pin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__pin", map, path);
            }
            return (int)mh$.invokeExact(map, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__unpin {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__unpin");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__unpin(struct bpf_map *map, const char *path)
     * }
     */
    public static FunctionDescriptor bpf_map__unpin$descriptor() {
        return bpf_map__unpin.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__unpin(struct bpf_map *map, const char *path)
     * }
     */
    public static MethodHandle bpf_map__unpin$handle() {
        return bpf_map__unpin.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__unpin(struct bpf_map *map, const char *path)
     * }
     */
    public static MemorySegment bpf_map__unpin$address() {
        return bpf_map__unpin.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__unpin(struct bpf_map *map, const char *path)
     * }
     */
    public static int bpf_map__unpin(MemorySegment map, MemorySegment path) {
        var mh$ = bpf_map__unpin.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__unpin", map, path);
            }
            return (int)mh$.invokeExact(map, path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__set_inner_map_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__set_inner_map_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
     * }
     */
    public static FunctionDescriptor bpf_map__set_inner_map_fd$descriptor() {
        return bpf_map__set_inner_map_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
     * }
     */
    public static MethodHandle bpf_map__set_inner_map_fd$handle() {
        return bpf_map__set_inner_map_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
     * }
     */
    public static MemorySegment bpf_map__set_inner_map_fd$address() {
        return bpf_map__set_inner_map_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd)
     * }
     */
    public static int bpf_map__set_inner_map_fd(MemorySegment map, int fd) {
        var mh$ = bpf_map__set_inner_map_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__set_inner_map_fd", map, fd);
            }
            return (int)mh$.invokeExact(map, fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__inner_map {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__inner_map");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_map__inner_map(struct bpf_map *map)
     * }
     */
    public static FunctionDescriptor bpf_map__inner_map$descriptor() {
        return bpf_map__inner_map.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_map__inner_map(struct bpf_map *map)
     * }
     */
    public static MethodHandle bpf_map__inner_map$handle() {
        return bpf_map__inner_map.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_map *bpf_map__inner_map(struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__inner_map$address() {
        return bpf_map__inner_map.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_map *bpf_map__inner_map(struct bpf_map *map)
     * }
     */
    public static MemorySegment bpf_map__inner_map(MemorySegment map) {
        var mh$ = bpf_map__inner_map.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__inner_map", map);
            }
            return (MemorySegment)mh$.invokeExact(map);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__lookup_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__lookup_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__lookup_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map__lookup_elem$descriptor() {
        return bpf_map__lookup_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__lookup_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map__lookup_elem$handle() {
        return bpf_map__lookup_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__lookup_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map__lookup_elem$address() {
        return bpf_map__lookup_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__lookup_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static int bpf_map__lookup_elem(MemorySegment map, MemorySegment key, long key_sz, MemorySegment value, long value_sz, long flags) {
        var mh$ = bpf_map__lookup_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__lookup_elem", map, key, key_sz, value, value_sz, flags);
            }
            return (int)mh$.invokeExact(map, key, key_sz, value, value_sz, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__update_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__update_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__update_elem(const struct bpf_map *map, const void *key, size_t key_sz, const void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map__update_elem$descriptor() {
        return bpf_map__update_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__update_elem(const struct bpf_map *map, const void *key, size_t key_sz, const void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map__update_elem$handle() {
        return bpf_map__update_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__update_elem(const struct bpf_map *map, const void *key, size_t key_sz, const void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map__update_elem$address() {
        return bpf_map__update_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__update_elem(const struct bpf_map *map, const void *key, size_t key_sz, const void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static int bpf_map__update_elem(MemorySegment map, MemorySegment key, long key_sz, MemorySegment value, long value_sz, long flags) {
        var mh$ = bpf_map__update_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__update_elem", map, key, key_sz, value, value_sz, flags);
            }
            return (int)mh$.invokeExact(map, key, key_sz, value, value_sz, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__delete_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__delete_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map__delete_elem$descriptor() {
        return bpf_map__delete_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map__delete_elem$handle() {
        return bpf_map__delete_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map__delete_elem$address() {
        return bpf_map__delete_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, __u64 flags)
     * }
     */
    public static int bpf_map__delete_elem(MemorySegment map, MemorySegment key, long key_sz, long flags) {
        var mh$ = bpf_map__delete_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__delete_elem", map, key, key_sz, flags);
            }
            return (int)mh$.invokeExact(map, key, key_sz, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__lookup_and_delete_elem {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__lookup_and_delete_elem");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__lookup_and_delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static FunctionDescriptor bpf_map__lookup_and_delete_elem$descriptor() {
        return bpf_map__lookup_and_delete_elem.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__lookup_and_delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MethodHandle bpf_map__lookup_and_delete_elem$handle() {
        return bpf_map__lookup_and_delete_elem.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__lookup_and_delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static MemorySegment bpf_map__lookup_and_delete_elem$address() {
        return bpf_map__lookup_and_delete_elem.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__lookup_and_delete_elem(const struct bpf_map *map, const void *key, size_t key_sz, void *value, size_t value_sz, __u64 flags)
     * }
     */
    public static int bpf_map__lookup_and_delete_elem(MemorySegment map, MemorySegment key, long key_sz, MemorySegment value, long value_sz, long flags) {
        var mh$ = bpf_map__lookup_and_delete_elem.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__lookup_and_delete_elem", map, key, key_sz, value, value_sz, flags);
            }
            return (int)mh$.invokeExact(map, key, key_sz, value, value_sz, flags);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_map__get_next_key {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_map__get_next_key");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_map__get_next_key(const struct bpf_map *map, const void *cur_key, void *next_key, size_t key_sz)
     * }
     */
    public static FunctionDescriptor bpf_map__get_next_key$descriptor() {
        return bpf_map__get_next_key.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_map__get_next_key(const struct bpf_map *map, const void *cur_key, void *next_key, size_t key_sz)
     * }
     */
    public static MethodHandle bpf_map__get_next_key$handle() {
        return bpf_map__get_next_key.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_map__get_next_key(const struct bpf_map *map, const void *cur_key, void *next_key, size_t key_sz)
     * }
     */
    public static MemorySegment bpf_map__get_next_key$address() {
        return bpf_map__get_next_key.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_map__get_next_key(const struct bpf_map *map, const void *cur_key, void *next_key, size_t key_sz)
     * }
     */
    public static int bpf_map__get_next_key(MemorySegment map, MemorySegment cur_key, MemorySegment next_key, long key_sz) {
        var mh$ = bpf_map__get_next_key.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_map__get_next_key", map, cur_key, next_key, key_sz);
            }
            return (int)mh$.invokeExact(map, cur_key, next_key, key_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_xdp_attach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_xdp_attach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_xdp_attach$descriptor() {
        return bpf_xdp_attach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static MethodHandle bpf_xdp_attach$handle() {
        return bpf_xdp_attach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static MemorySegment bpf_xdp_attach$address() {
        return bpf_xdp_attach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static int bpf_xdp_attach(int ifindex, int prog_fd, int flags, MemorySegment opts) {
        var mh$ = bpf_xdp_attach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_xdp_attach", ifindex, prog_fd, flags, opts);
            }
            return (int)mh$.invokeExact(ifindex, prog_fd, flags, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_xdp_detach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_xdp_detach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_xdp_detach$descriptor() {
        return bpf_xdp_detach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static MethodHandle bpf_xdp_detach$handle() {
        return bpf_xdp_detach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static MemorySegment bpf_xdp_detach$address() {
        return bpf_xdp_detach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_xdp_detach(int ifindex, __u32 flags, const struct bpf_xdp_attach_opts *opts)
     * }
     */
    public static int bpf_xdp_detach(int ifindex, int flags, MemorySegment opts) {
        var mh$ = bpf_xdp_detach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_xdp_detach", ifindex, flags, opts);
            }
            return (int)mh$.invokeExact(ifindex, flags, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_xdp_query {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_xdp_query");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_xdp_query(int ifindex, int flags, struct bpf_xdp_query_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_xdp_query$descriptor() {
        return bpf_xdp_query.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_xdp_query(int ifindex, int flags, struct bpf_xdp_query_opts *opts)
     * }
     */
    public static MethodHandle bpf_xdp_query$handle() {
        return bpf_xdp_query.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_xdp_query(int ifindex, int flags, struct bpf_xdp_query_opts *opts)
     * }
     */
    public static MemorySegment bpf_xdp_query$address() {
        return bpf_xdp_query.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_xdp_query(int ifindex, int flags, struct bpf_xdp_query_opts *opts)
     * }
     */
    public static int bpf_xdp_query(int ifindex, int flags, MemorySegment opts) {
        var mh$ = bpf_xdp_query.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_xdp_query", ifindex, flags, opts);
            }
            return (int)mh$.invokeExact(ifindex, flags, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_xdp_query_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_xdp_query_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)
     * }
     */
    public static FunctionDescriptor bpf_xdp_query_id$descriptor() {
        return bpf_xdp_query_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)
     * }
     */
    public static MethodHandle bpf_xdp_query_id$handle() {
        return bpf_xdp_query_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)
     * }
     */
    public static MemorySegment bpf_xdp_query_id$address() {
        return bpf_xdp_query_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id)
     * }
     */
    public static int bpf_xdp_query_id(int ifindex, int flags, MemorySegment prog_id) {
        var mh$ = bpf_xdp_query_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_xdp_query_id", ifindex, flags, prog_id);
            }
            return (int)mh$.invokeExact(ifindex, flags, prog_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int BPF_TC_INGRESS = (int)1L;
    /**
     * {@snippet lang=c :
     * enum bpf_tc_attach_point.BPF_TC_INGRESS = 1
     * }
     */
    public static int BPF_TC_INGRESS() {
        return BPF_TC_INGRESS;
    }
    private static final int BPF_TC_EGRESS = (int)2L;
    /**
     * {@snippet lang=c :
     * enum bpf_tc_attach_point.BPF_TC_EGRESS = 2
     * }
     */
    public static int BPF_TC_EGRESS() {
        return BPF_TC_EGRESS;
    }
    private static final int BPF_TC_CUSTOM = (int)4L;
    /**
     * {@snippet lang=c :
     * enum bpf_tc_attach_point.BPF_TC_CUSTOM = 4
     * }
     */
    public static int BPF_TC_CUSTOM() {
        return BPF_TC_CUSTOM;
    }
    private static final int BPF_TC_F_REPLACE = (int)1L;
    /**
     * {@snippet lang=c :
     * enum bpf_tc_flags.BPF_TC_F_REPLACE = 1
     * }
     */
    public static int BPF_TC_F_REPLACE() {
        return BPF_TC_F_REPLACE;
    }

    private static class bpf_tc_hook_create {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_tc_hook_create");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_tc_hook_create(struct bpf_tc_hook *hook)
     * }
     */
    public static FunctionDescriptor bpf_tc_hook_create$descriptor() {
        return bpf_tc_hook_create.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_tc_hook_create(struct bpf_tc_hook *hook)
     * }
     */
    public static MethodHandle bpf_tc_hook_create$handle() {
        return bpf_tc_hook_create.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_tc_hook_create(struct bpf_tc_hook *hook)
     * }
     */
    public static MemorySegment bpf_tc_hook_create$address() {
        return bpf_tc_hook_create.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_tc_hook_create(struct bpf_tc_hook *hook)
     * }
     */
    public static int bpf_tc_hook_create(MemorySegment hook) {
        var mh$ = bpf_tc_hook_create.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_tc_hook_create", hook);
            }
            return (int)mh$.invokeExact(hook);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_tc_hook_destroy {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_tc_hook_destroy");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_tc_hook_destroy(struct bpf_tc_hook *hook)
     * }
     */
    public static FunctionDescriptor bpf_tc_hook_destroy$descriptor() {
        return bpf_tc_hook_destroy.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_tc_hook_destroy(struct bpf_tc_hook *hook)
     * }
     */
    public static MethodHandle bpf_tc_hook_destroy$handle() {
        return bpf_tc_hook_destroy.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_tc_hook_destroy(struct bpf_tc_hook *hook)
     * }
     */
    public static MemorySegment bpf_tc_hook_destroy$address() {
        return bpf_tc_hook_destroy.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_tc_hook_destroy(struct bpf_tc_hook *hook)
     * }
     */
    public static int bpf_tc_hook_destroy(MemorySegment hook) {
        var mh$ = bpf_tc_hook_destroy.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_tc_hook_destroy", hook);
            }
            return (int)mh$.invokeExact(hook);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_tc_attach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_tc_attach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_tc_attach(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_tc_attach$descriptor() {
        return bpf_tc_attach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_tc_attach(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static MethodHandle bpf_tc_attach$handle() {
        return bpf_tc_attach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_tc_attach(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static MemorySegment bpf_tc_attach$address() {
        return bpf_tc_attach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_tc_attach(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static int bpf_tc_attach(MemorySegment hook, MemorySegment opts) {
        var mh$ = bpf_tc_attach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_tc_attach", hook, opts);
            }
            return (int)mh$.invokeExact(hook, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_tc_detach {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_tc_detach");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_tc_detach(const struct bpf_tc_hook *hook, const struct bpf_tc_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_tc_detach$descriptor() {
        return bpf_tc_detach.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_tc_detach(const struct bpf_tc_hook *hook, const struct bpf_tc_opts *opts)
     * }
     */
    public static MethodHandle bpf_tc_detach$handle() {
        return bpf_tc_detach.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_tc_detach(const struct bpf_tc_hook *hook, const struct bpf_tc_opts *opts)
     * }
     */
    public static MemorySegment bpf_tc_detach$address() {
        return bpf_tc_detach.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_tc_detach(const struct bpf_tc_hook *hook, const struct bpf_tc_opts *opts)
     * }
     */
    public static int bpf_tc_detach(MemorySegment hook, MemorySegment opts) {
        var mh$ = bpf_tc_detach.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_tc_detach", hook, opts);
            }
            return (int)mh$.invokeExact(hook, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_tc_query {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_tc_query");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_tc_query(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_tc_query$descriptor() {
        return bpf_tc_query.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_tc_query(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static MethodHandle bpf_tc_query$handle() {
        return bpf_tc_query.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_tc_query(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static MemorySegment bpf_tc_query$address() {
        return bpf_tc_query.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_tc_query(const struct bpf_tc_hook *hook, struct bpf_tc_opts *opts)
     * }
     */
    public static int bpf_tc_query(MemorySegment hook, MemorySegment opts) {
        var mh$ = bpf_tc_query.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_tc_query", hook, opts);
            }
            return (int)mh$.invokeExact(hook, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct ring_buffer *ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, const struct ring_buffer_opts *opts)
     * }
     */
    public static FunctionDescriptor ring_buffer__new$descriptor() {
        return ring_buffer__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct ring_buffer *ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, const struct ring_buffer_opts *opts)
     * }
     */
    public static MethodHandle ring_buffer__new$handle() {
        return ring_buffer__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct ring_buffer *ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, const struct ring_buffer_opts *opts)
     * }
     */
    public static MemorySegment ring_buffer__new$address() {
        return ring_buffer__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct ring_buffer *ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, const struct ring_buffer_opts *opts)
     * }
     */
    public static MemorySegment ring_buffer__new(int map_fd, MemorySegment sample_cb, MemorySegment ctx, MemorySegment opts) {
        var mh$ = ring_buffer__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__new", map_fd, sample_cb, ctx, opts);
            }
            return (MemorySegment)mh$.invokeExact(map_fd, sample_cb, ctx, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void ring_buffer__free(struct ring_buffer *rb)
     * }
     */
    public static FunctionDescriptor ring_buffer__free$descriptor() {
        return ring_buffer__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void ring_buffer__free(struct ring_buffer *rb)
     * }
     */
    public static MethodHandle ring_buffer__free$handle() {
        return ring_buffer__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void ring_buffer__free(struct ring_buffer *rb)
     * }
     */
    public static MemorySegment ring_buffer__free$address() {
        return ring_buffer__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void ring_buffer__free(struct ring_buffer *rb)
     * }
     */
    public static void ring_buffer__free(MemorySegment rb) {
        var mh$ = ring_buffer__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__free", rb);
            }
            mh$.invokeExact(rb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__add {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__add");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring_buffer__add(struct ring_buffer *rb, int map_fd, ring_buffer_sample_fn sample_cb, void *ctx)
     * }
     */
    public static FunctionDescriptor ring_buffer__add$descriptor() {
        return ring_buffer__add.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring_buffer__add(struct ring_buffer *rb, int map_fd, ring_buffer_sample_fn sample_cb, void *ctx)
     * }
     */
    public static MethodHandle ring_buffer__add$handle() {
        return ring_buffer__add.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring_buffer__add(struct ring_buffer *rb, int map_fd, ring_buffer_sample_fn sample_cb, void *ctx)
     * }
     */
    public static MemorySegment ring_buffer__add$address() {
        return ring_buffer__add.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring_buffer__add(struct ring_buffer *rb, int map_fd, ring_buffer_sample_fn sample_cb, void *ctx)
     * }
     */
    public static int ring_buffer__add(MemorySegment rb, int map_fd, MemorySegment sample_cb, MemorySegment ctx) {
        var mh$ = ring_buffer__add.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__add", rb, map_fd, sample_cb, ctx);
            }
            return (int)mh$.invokeExact(rb, map_fd, sample_cb, ctx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__poll {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__poll");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms)
     * }
     */
    public static FunctionDescriptor ring_buffer__poll$descriptor() {
        return ring_buffer__poll.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms)
     * }
     */
    public static MethodHandle ring_buffer__poll$handle() {
        return ring_buffer__poll.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms)
     * }
     */
    public static MemorySegment ring_buffer__poll$address() {
        return ring_buffer__poll.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms)
     * }
     */
    public static int ring_buffer__poll(MemorySegment rb, int timeout_ms) {
        var mh$ = ring_buffer__poll.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__poll", rb, timeout_ms);
            }
            return (int)mh$.invokeExact(rb, timeout_ms);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__consume {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__consume");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring_buffer__consume(struct ring_buffer *rb)
     * }
     */
    public static FunctionDescriptor ring_buffer__consume$descriptor() {
        return ring_buffer__consume.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring_buffer__consume(struct ring_buffer *rb)
     * }
     */
    public static MethodHandle ring_buffer__consume$handle() {
        return ring_buffer__consume.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring_buffer__consume(struct ring_buffer *rb)
     * }
     */
    public static MemorySegment ring_buffer__consume$address() {
        return ring_buffer__consume.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring_buffer__consume(struct ring_buffer *rb)
     * }
     */
    public static int ring_buffer__consume(MemorySegment rb) {
        var mh$ = ring_buffer__consume.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__consume", rb);
            }
            return (int)mh$.invokeExact(rb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__epoll_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__epoll_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring_buffer__epoll_fd(const struct ring_buffer *rb)
     * }
     */
    public static FunctionDescriptor ring_buffer__epoll_fd$descriptor() {
        return ring_buffer__epoll_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring_buffer__epoll_fd(const struct ring_buffer *rb)
     * }
     */
    public static MethodHandle ring_buffer__epoll_fd$handle() {
        return ring_buffer__epoll_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring_buffer__epoll_fd(const struct ring_buffer *rb)
     * }
     */
    public static MemorySegment ring_buffer__epoll_fd$address() {
        return ring_buffer__epoll_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring_buffer__epoll_fd(const struct ring_buffer *rb)
     * }
     */
    public static int ring_buffer__epoll_fd(MemorySegment rb) {
        var mh$ = ring_buffer__epoll_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__epoll_fd", rb);
            }
            return (int)mh$.invokeExact(rb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring_buffer__ring {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring_buffer__ring");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int idx)
     * }
     */
    public static FunctionDescriptor ring_buffer__ring$descriptor() {
        return ring_buffer__ring.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int idx)
     * }
     */
    public static MethodHandle ring_buffer__ring$handle() {
        return ring_buffer__ring.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int idx)
     * }
     */
    public static MemorySegment ring_buffer__ring$address() {
        return ring_buffer__ring.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct ring *ring_buffer__ring(struct ring_buffer *rb, unsigned int idx)
     * }
     */
    public static MemorySegment ring_buffer__ring(MemorySegment rb, int idx) {
        var mh$ = ring_buffer__ring.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring_buffer__ring", rb, idx);
            }
            return (MemorySegment)mh$.invokeExact(rb, idx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__consumer_pos {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__consumer_pos");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * unsigned long ring__consumer_pos(const struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__consumer_pos$descriptor() {
        return ring__consumer_pos.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * unsigned long ring__consumer_pos(const struct ring *r)
     * }
     */
    public static MethodHandle ring__consumer_pos$handle() {
        return ring__consumer_pos.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * unsigned long ring__consumer_pos(const struct ring *r)
     * }
     */
    public static MemorySegment ring__consumer_pos$address() {
        return ring__consumer_pos.ADDR;
    }

    /**
     * {@snippet lang=c :
     * unsigned long ring__consumer_pos(const struct ring *r)
     * }
     */
    public static long ring__consumer_pos(MemorySegment r) {
        var mh$ = ring__consumer_pos.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__consumer_pos", r);
            }
            return (long)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__producer_pos {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__producer_pos");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * unsigned long ring__producer_pos(const struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__producer_pos$descriptor() {
        return ring__producer_pos.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * unsigned long ring__producer_pos(const struct ring *r)
     * }
     */
    public static MethodHandle ring__producer_pos$handle() {
        return ring__producer_pos.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * unsigned long ring__producer_pos(const struct ring *r)
     * }
     */
    public static MemorySegment ring__producer_pos$address() {
        return ring__producer_pos.ADDR;
    }

    /**
     * {@snippet lang=c :
     * unsigned long ring__producer_pos(const struct ring *r)
     * }
     */
    public static long ring__producer_pos(MemorySegment r) {
        var mh$ = ring__producer_pos.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__producer_pos", r);
            }
            return (long)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__avail_data_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__avail_data_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * size_t ring__avail_data_size(const struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__avail_data_size$descriptor() {
        return ring__avail_data_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * size_t ring__avail_data_size(const struct ring *r)
     * }
     */
    public static MethodHandle ring__avail_data_size$handle() {
        return ring__avail_data_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * size_t ring__avail_data_size(const struct ring *r)
     * }
     */
    public static MemorySegment ring__avail_data_size$address() {
        return ring__avail_data_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * size_t ring__avail_data_size(const struct ring *r)
     * }
     */
    public static long ring__avail_data_size(MemorySegment r) {
        var mh$ = ring__avail_data_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__avail_data_size", r);
            }
            return (long)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * size_t ring__size(const struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__size$descriptor() {
        return ring__size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * size_t ring__size(const struct ring *r)
     * }
     */
    public static MethodHandle ring__size$handle() {
        return ring__size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * size_t ring__size(const struct ring *r)
     * }
     */
    public static MemorySegment ring__size$address() {
        return ring__size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * size_t ring__size(const struct ring *r)
     * }
     */
    public static long ring__size(MemorySegment r) {
        var mh$ = ring__size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__size", r);
            }
            return (long)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__map_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__map_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring__map_fd(const struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__map_fd$descriptor() {
        return ring__map_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring__map_fd(const struct ring *r)
     * }
     */
    public static MethodHandle ring__map_fd$handle() {
        return ring__map_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring__map_fd(const struct ring *r)
     * }
     */
    public static MemorySegment ring__map_fd$address() {
        return ring__map_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring__map_fd(const struct ring *r)
     * }
     */
    public static int ring__map_fd(MemorySegment r) {
        var mh$ = ring__map_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__map_fd", r);
            }
            return (int)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ring__consume {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ring__consume");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int ring__consume(struct ring *r)
     * }
     */
    public static FunctionDescriptor ring__consume$descriptor() {
        return ring__consume.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int ring__consume(struct ring *r)
     * }
     */
    public static MethodHandle ring__consume$handle() {
        return ring__consume.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int ring__consume(struct ring *r)
     * }
     */
    public static MemorySegment ring__consume$address() {
        return ring__consume.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int ring__consume(struct ring *r)
     * }
     */
    public static int ring__consume(MemorySegment r) {
        var mh$ = ring__consume.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ring__consume", r);
            }
            return (int)mh$.invokeExact(r);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct user_ring_buffer *user_ring_buffer__new(int map_fd, const struct user_ring_buffer_opts *opts)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__new$descriptor() {
        return user_ring_buffer__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct user_ring_buffer *user_ring_buffer__new(int map_fd, const struct user_ring_buffer_opts *opts)
     * }
     */
    public static MethodHandle user_ring_buffer__new$handle() {
        return user_ring_buffer__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct user_ring_buffer *user_ring_buffer__new(int map_fd, const struct user_ring_buffer_opts *opts)
     * }
     */
    public static MemorySegment user_ring_buffer__new$address() {
        return user_ring_buffer__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct user_ring_buffer *user_ring_buffer__new(int map_fd, const struct user_ring_buffer_opts *opts)
     * }
     */
    public static MemorySegment user_ring_buffer__new(int map_fd, MemorySegment opts) {
        var mh$ = user_ring_buffer__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__new", map_fd, opts);
            }
            return (MemorySegment)mh$.invokeExact(map_fd, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__reserve {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__reserve");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve(struct user_ring_buffer *rb, __u32 size)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__reserve$descriptor() {
        return user_ring_buffer__reserve.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve(struct user_ring_buffer *rb, __u32 size)
     * }
     */
    public static MethodHandle user_ring_buffer__reserve$handle() {
        return user_ring_buffer__reserve.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve(struct user_ring_buffer *rb, __u32 size)
     * }
     */
    public static MemorySegment user_ring_buffer__reserve$address() {
        return user_ring_buffer__reserve.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve(struct user_ring_buffer *rb, __u32 size)
     * }
     */
    public static MemorySegment user_ring_buffer__reserve(MemorySegment rb, int size) {
        var mh$ = user_ring_buffer__reserve.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__reserve", rb, size);
            }
            return (MemorySegment)mh$.invokeExact(rb, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__reserve_blocking {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__reserve_blocking");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve_blocking(struct user_ring_buffer *rb, __u32 size, int timeout_ms)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__reserve_blocking$descriptor() {
        return user_ring_buffer__reserve_blocking.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve_blocking(struct user_ring_buffer *rb, __u32 size, int timeout_ms)
     * }
     */
    public static MethodHandle user_ring_buffer__reserve_blocking$handle() {
        return user_ring_buffer__reserve_blocking.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve_blocking(struct user_ring_buffer *rb, __u32 size, int timeout_ms)
     * }
     */
    public static MemorySegment user_ring_buffer__reserve_blocking$address() {
        return user_ring_buffer__reserve_blocking.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void *user_ring_buffer__reserve_blocking(struct user_ring_buffer *rb, __u32 size, int timeout_ms)
     * }
     */
    public static MemorySegment user_ring_buffer__reserve_blocking(MemorySegment rb, int size, int timeout_ms) {
        var mh$ = user_ring_buffer__reserve_blocking.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__reserve_blocking", rb, size, timeout_ms);
            }
            return (MemorySegment)mh$.invokeExact(rb, size, timeout_ms);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__submit {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__submit");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void user_ring_buffer__submit(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__submit$descriptor() {
        return user_ring_buffer__submit.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void user_ring_buffer__submit(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static MethodHandle user_ring_buffer__submit$handle() {
        return user_ring_buffer__submit.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void user_ring_buffer__submit(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static MemorySegment user_ring_buffer__submit$address() {
        return user_ring_buffer__submit.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void user_ring_buffer__submit(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static void user_ring_buffer__submit(MemorySegment rb, MemorySegment sample) {
        var mh$ = user_ring_buffer__submit.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__submit", rb, sample);
            }
            mh$.invokeExact(rb, sample);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__discard {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__discard");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void user_ring_buffer__discard(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__discard$descriptor() {
        return user_ring_buffer__discard.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void user_ring_buffer__discard(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static MethodHandle user_ring_buffer__discard$handle() {
        return user_ring_buffer__discard.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void user_ring_buffer__discard(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static MemorySegment user_ring_buffer__discard$address() {
        return user_ring_buffer__discard.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void user_ring_buffer__discard(struct user_ring_buffer *rb, void *sample)
     * }
     */
    public static void user_ring_buffer__discard(MemorySegment rb, MemorySegment sample) {
        var mh$ = user_ring_buffer__discard.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__discard", rb, sample);
            }
            mh$.invokeExact(rb, sample);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class user_ring_buffer__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("user_ring_buffer__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void user_ring_buffer__free(struct user_ring_buffer *rb)
     * }
     */
    public static FunctionDescriptor user_ring_buffer__free$descriptor() {
        return user_ring_buffer__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void user_ring_buffer__free(struct user_ring_buffer *rb)
     * }
     */
    public static MethodHandle user_ring_buffer__free$handle() {
        return user_ring_buffer__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void user_ring_buffer__free(struct user_ring_buffer *rb)
     * }
     */
    public static MemorySegment user_ring_buffer__free$address() {
        return user_ring_buffer__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void user_ring_buffer__free(struct user_ring_buffer *rb)
     * }
     */
    public static void user_ring_buffer__free(MemorySegment rb) {
        var mh$ = user_ring_buffer__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("user_ring_buffer__free", rb);
            }
            mh$.invokeExact(rb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new(int map_fd, size_t page_cnt, perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, const struct perf_buffer_opts *opts)
     * }
     */
    public static FunctionDescriptor perf_buffer__new$descriptor() {
        return perf_buffer__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new(int map_fd, size_t page_cnt, perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, const struct perf_buffer_opts *opts)
     * }
     */
    public static MethodHandle perf_buffer__new$handle() {
        return perf_buffer__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new(int map_fd, size_t page_cnt, perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, const struct perf_buffer_opts *opts)
     * }
     */
    public static MemorySegment perf_buffer__new$address() {
        return perf_buffer__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new(int map_fd, size_t page_cnt, perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, const struct perf_buffer_opts *opts)
     * }
     */
    public static MemorySegment perf_buffer__new(int map_fd, long page_cnt, MemorySegment sample_cb, MemorySegment lost_cb, MemorySegment ctx, MemorySegment opts) {
        var mh$ = perf_buffer__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__new", map_fd, page_cnt, sample_cb, lost_cb, ctx, opts);
            }
            return (MemorySegment)mh$.invokeExact(map_fd, page_cnt, sample_cb, lost_cb, ctx, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int LIBBPF_PERF_EVENT_DONE = (int)0L;
    /**
     * {@snippet lang=c :
     * enum bpf_perf_event_ret.LIBBPF_PERF_EVENT_DONE = 0
     * }
     */
    public static int LIBBPF_PERF_EVENT_DONE() {
        return LIBBPF_PERF_EVENT_DONE;
    }
    private static final int LIBBPF_PERF_EVENT_ERROR = (int)-1L;
    /**
     * {@snippet lang=c :
     * enum bpf_perf_event_ret.LIBBPF_PERF_EVENT_ERROR = -1
     * }
     */
    public static int LIBBPF_PERF_EVENT_ERROR() {
        return LIBBPF_PERF_EVENT_ERROR;
    }
    private static final int LIBBPF_PERF_EVENT_CONT = (int)-2L;
    /**
     * {@snippet lang=c :
     * enum bpf_perf_event_ret.LIBBPF_PERF_EVENT_CONT = -2
     * }
     */
    public static int LIBBPF_PERF_EVENT_CONT() {
        return LIBBPF_PERF_EVENT_CONT;
    }

    private static class perf_buffer__new_raw {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__new_raw");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new_raw(int map_fd, size_t page_cnt, struct perf_event_attr *attr, perf_buffer_event_fn event_cb, void *ctx, const struct perf_buffer_raw_opts *opts)
     * }
     */
    public static FunctionDescriptor perf_buffer__new_raw$descriptor() {
        return perf_buffer__new_raw.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new_raw(int map_fd, size_t page_cnt, struct perf_event_attr *attr, perf_buffer_event_fn event_cb, void *ctx, const struct perf_buffer_raw_opts *opts)
     * }
     */
    public static MethodHandle perf_buffer__new_raw$handle() {
        return perf_buffer__new_raw.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new_raw(int map_fd, size_t page_cnt, struct perf_event_attr *attr, perf_buffer_event_fn event_cb, void *ctx, const struct perf_buffer_raw_opts *opts)
     * }
     */
    public static MemorySegment perf_buffer__new_raw$address() {
        return perf_buffer__new_raw.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct perf_buffer *perf_buffer__new_raw(int map_fd, size_t page_cnt, struct perf_event_attr *attr, perf_buffer_event_fn event_cb, void *ctx, const struct perf_buffer_raw_opts *opts)
     * }
     */
    public static MemorySegment perf_buffer__new_raw(int map_fd, long page_cnt, MemorySegment attr, MemorySegment event_cb, MemorySegment ctx, MemorySegment opts) {
        var mh$ = perf_buffer__new_raw.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__new_raw", map_fd, page_cnt, attr, event_cb, ctx, opts);
            }
            return (MemorySegment)mh$.invokeExact(map_fd, page_cnt, attr, event_cb, ctx, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void perf_buffer__free(struct perf_buffer *pb)
     * }
     */
    public static FunctionDescriptor perf_buffer__free$descriptor() {
        return perf_buffer__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void perf_buffer__free(struct perf_buffer *pb)
     * }
     */
    public static MethodHandle perf_buffer__free$handle() {
        return perf_buffer__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void perf_buffer__free(struct perf_buffer *pb)
     * }
     */
    public static MemorySegment perf_buffer__free$address() {
        return perf_buffer__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void perf_buffer__free(struct perf_buffer *pb)
     * }
     */
    public static void perf_buffer__free(MemorySegment pb) {
        var mh$ = perf_buffer__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__free", pb);
            }
            mh$.invokeExact(pb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__epoll_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__epoll_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__epoll_fd(const struct perf_buffer *pb)
     * }
     */
    public static FunctionDescriptor perf_buffer__epoll_fd$descriptor() {
        return perf_buffer__epoll_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__epoll_fd(const struct perf_buffer *pb)
     * }
     */
    public static MethodHandle perf_buffer__epoll_fd$handle() {
        return perf_buffer__epoll_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__epoll_fd(const struct perf_buffer *pb)
     * }
     */
    public static MemorySegment perf_buffer__epoll_fd$address() {
        return perf_buffer__epoll_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__epoll_fd(const struct perf_buffer *pb)
     * }
     */
    public static int perf_buffer__epoll_fd(MemorySegment pb) {
        var mh$ = perf_buffer__epoll_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__epoll_fd", pb);
            }
            return (int)mh$.invokeExact(pb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__poll {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__poll");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms)
     * }
     */
    public static FunctionDescriptor perf_buffer__poll$descriptor() {
        return perf_buffer__poll.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms)
     * }
     */
    public static MethodHandle perf_buffer__poll$handle() {
        return perf_buffer__poll.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms)
     * }
     */
    public static MemorySegment perf_buffer__poll$address() {
        return perf_buffer__poll.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms)
     * }
     */
    public static int perf_buffer__poll(MemorySegment pb, int timeout_ms) {
        var mh$ = perf_buffer__poll.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__poll", pb, timeout_ms);
            }
            return (int)mh$.invokeExact(pb, timeout_ms);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__consume {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__consume");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__consume(struct perf_buffer *pb)
     * }
     */
    public static FunctionDescriptor perf_buffer__consume$descriptor() {
        return perf_buffer__consume.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__consume(struct perf_buffer *pb)
     * }
     */
    public static MethodHandle perf_buffer__consume$handle() {
        return perf_buffer__consume.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__consume(struct perf_buffer *pb)
     * }
     */
    public static MemorySegment perf_buffer__consume$address() {
        return perf_buffer__consume.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__consume(struct perf_buffer *pb)
     * }
     */
    public static int perf_buffer__consume(MemorySegment pb) {
        var mh$ = perf_buffer__consume.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__consume", pb);
            }
            return (int)mh$.invokeExact(pb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__consume_buffer {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__consume_buffer");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static FunctionDescriptor perf_buffer__consume_buffer$descriptor() {
        return perf_buffer__consume_buffer.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static MethodHandle perf_buffer__consume_buffer$handle() {
        return perf_buffer__consume_buffer.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static MemorySegment perf_buffer__consume_buffer$address() {
        return perf_buffer__consume_buffer.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static int perf_buffer__consume_buffer(MemorySegment pb, long buf_idx) {
        var mh$ = perf_buffer__consume_buffer.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__consume_buffer", pb, buf_idx);
            }
            return (int)mh$.invokeExact(pb, buf_idx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__buffer_cnt {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__buffer_cnt");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb)
     * }
     */
    public static FunctionDescriptor perf_buffer__buffer_cnt$descriptor() {
        return perf_buffer__buffer_cnt.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb)
     * }
     */
    public static MethodHandle perf_buffer__buffer_cnt$handle() {
        return perf_buffer__buffer_cnt.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb)
     * }
     */
    public static MemorySegment perf_buffer__buffer_cnt$address() {
        return perf_buffer__buffer_cnt.ADDR;
    }

    /**
     * {@snippet lang=c :
     * size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb)
     * }
     */
    public static long perf_buffer__buffer_cnt(MemorySegment pb) {
        var mh$ = perf_buffer__buffer_cnt.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__buffer_cnt", pb);
            }
            return (long)mh$.invokeExact(pb);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__buffer_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__buffer_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static FunctionDescriptor perf_buffer__buffer_fd$descriptor() {
        return perf_buffer__buffer_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static MethodHandle perf_buffer__buffer_fd$handle() {
        return perf_buffer__buffer_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static MemorySegment perf_buffer__buffer_fd$address() {
        return perf_buffer__buffer_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx)
     * }
     */
    public static int perf_buffer__buffer_fd(MemorySegment pb, long buf_idx) {
        var mh$ = perf_buffer__buffer_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__buffer_fd", pb, buf_idx);
            }
            return (int)mh$.invokeExact(pb, buf_idx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class perf_buffer__buffer {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("perf_buffer__buffer");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int perf_buffer__buffer(struct perf_buffer *pb, int buf_idx, void **buf, size_t *buf_size)
     * }
     */
    public static FunctionDescriptor perf_buffer__buffer$descriptor() {
        return perf_buffer__buffer.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int perf_buffer__buffer(struct perf_buffer *pb, int buf_idx, void **buf, size_t *buf_size)
     * }
     */
    public static MethodHandle perf_buffer__buffer$handle() {
        return perf_buffer__buffer.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int perf_buffer__buffer(struct perf_buffer *pb, int buf_idx, void **buf, size_t *buf_size)
     * }
     */
    public static MemorySegment perf_buffer__buffer$address() {
        return perf_buffer__buffer.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int perf_buffer__buffer(struct perf_buffer *pb, int buf_idx, void **buf, size_t *buf_size)
     * }
     */
    public static int perf_buffer__buffer(MemorySegment pb, int buf_idx, MemorySegment buf, MemorySegment buf_size) {
        var mh$ = perf_buffer__buffer.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("perf_buffer__buffer", pb, buf_idx, buf, buf_size);
            }
            return (int)mh$.invokeExact(pb, buf_idx, buf, buf_size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_linfo__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_linfo__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo)
     * }
     */
    public static FunctionDescriptor bpf_prog_linfo__free$descriptor() {
        return bpf_prog_linfo__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo)
     * }
     */
    public static MethodHandle bpf_prog_linfo__free$handle() {
        return bpf_prog_linfo__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo)
     * }
     */
    public static MemorySegment bpf_prog_linfo__free$address() {
        return bpf_prog_linfo__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo)
     * }
     */
    public static void bpf_prog_linfo__free(MemorySegment prog_linfo) {
        var mh$ = bpf_prog_linfo__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_linfo__free", prog_linfo);
            }
            mh$.invokeExact(prog_linfo);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_linfo__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_linfo__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
     * }
     */
    public static FunctionDescriptor bpf_prog_linfo__new$descriptor() {
        return bpf_prog_linfo__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
     * }
     */
    public static MethodHandle bpf_prog_linfo__new$handle() {
        return bpf_prog_linfo__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
     * }
     */
    public static MemorySegment bpf_prog_linfo__new$address() {
        return bpf_prog_linfo__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_prog_linfo *bpf_prog_linfo__new(const struct bpf_prog_info *info)
     * }
     */
    public static MemorySegment bpf_prog_linfo__new(MemorySegment info) {
        var mh$ = bpf_prog_linfo__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_linfo__new", info);
            }
            return (MemorySegment)mh$.invokeExact(info);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_linfo__lfind_addr_func {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_linfo__lfind_addr_func");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, __u64 addr, __u32 func_idx, __u32 nr_skip)
     * }
     */
    public static FunctionDescriptor bpf_prog_linfo__lfind_addr_func$descriptor() {
        return bpf_prog_linfo__lfind_addr_func.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, __u64 addr, __u32 func_idx, __u32 nr_skip)
     * }
     */
    public static MethodHandle bpf_prog_linfo__lfind_addr_func$handle() {
        return bpf_prog_linfo__lfind_addr_func.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, __u64 addr, __u32 func_idx, __u32 nr_skip)
     * }
     */
    public static MemorySegment bpf_prog_linfo__lfind_addr_func$address() {
        return bpf_prog_linfo__lfind_addr_func.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, __u64 addr, __u32 func_idx, __u32 nr_skip)
     * }
     */
    public static MemorySegment bpf_prog_linfo__lfind_addr_func(MemorySegment prog_linfo, long addr, int func_idx, int nr_skip) {
        var mh$ = bpf_prog_linfo__lfind_addr_func.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_linfo__lfind_addr_func", prog_linfo, addr, func_idx, nr_skip);
            }
            return (MemorySegment)mh$.invokeExact(prog_linfo, addr, func_idx, nr_skip);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_prog_linfo__lfind {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_prog_linfo__lfind");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, __u32 insn_off, __u32 nr_skip)
     * }
     */
    public static FunctionDescriptor bpf_prog_linfo__lfind$descriptor() {
        return bpf_prog_linfo__lfind.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, __u32 insn_off, __u32 nr_skip)
     * }
     */
    public static MethodHandle bpf_prog_linfo__lfind$handle() {
        return bpf_prog_linfo__lfind.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, __u32 insn_off, __u32 nr_skip)
     * }
     */
    public static MemorySegment bpf_prog_linfo__lfind$address() {
        return bpf_prog_linfo__lfind.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const struct bpf_line_info *bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, __u32 insn_off, __u32 nr_skip)
     * }
     */
    public static MemorySegment bpf_prog_linfo__lfind(MemorySegment prog_linfo, int insn_off, int nr_skip) {
        var mh$ = bpf_prog_linfo__lfind.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_prog_linfo__lfind", prog_linfo, insn_off, nr_skip);
            }
            return (MemorySegment)mh$.invokeExact(prog_linfo, insn_off, nr_skip);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_probe_bpf_prog_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_probe_bpf_prog_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts)
     * }
     */
    public static FunctionDescriptor libbpf_probe_bpf_prog_type$descriptor() {
        return libbpf_probe_bpf_prog_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts)
     * }
     */
    public static MethodHandle libbpf_probe_bpf_prog_type$handle() {
        return libbpf_probe_bpf_prog_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts)
     * }
     */
    public static MemorySegment libbpf_probe_bpf_prog_type$address() {
        return libbpf_probe_bpf_prog_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts)
     * }
     */
    public static int libbpf_probe_bpf_prog_type(int prog_type, MemorySegment opts) {
        var mh$ = libbpf_probe_bpf_prog_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_probe_bpf_prog_type", prog_type, opts);
            }
            return (int)mh$.invokeExact(prog_type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_probe_bpf_map_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_probe_bpf_map_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void *opts)
     * }
     */
    public static FunctionDescriptor libbpf_probe_bpf_map_type$descriptor() {
        return libbpf_probe_bpf_map_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void *opts)
     * }
     */
    public static MethodHandle libbpf_probe_bpf_map_type$handle() {
        return libbpf_probe_bpf_map_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void *opts)
     * }
     */
    public static MemorySegment libbpf_probe_bpf_map_type$address() {
        return libbpf_probe_bpf_map_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void *opts)
     * }
     */
    public static int libbpf_probe_bpf_map_type(int map_type, MemorySegment opts) {
        var mh$ = libbpf_probe_bpf_map_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_probe_bpf_map_type", map_type, opts);
            }
            return (int)mh$.invokeExact(map_type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_probe_bpf_helper {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_probe_bpf_helper");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id helper_id, const void *opts)
     * }
     */
    public static FunctionDescriptor libbpf_probe_bpf_helper$descriptor() {
        return libbpf_probe_bpf_helper.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id helper_id, const void *opts)
     * }
     */
    public static MethodHandle libbpf_probe_bpf_helper$handle() {
        return libbpf_probe_bpf_helper.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id helper_id, const void *opts)
     * }
     */
    public static MemorySegment libbpf_probe_bpf_helper$address() {
        return libbpf_probe_bpf_helper.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, enum bpf_func_id helper_id, const void *opts)
     * }
     */
    public static int libbpf_probe_bpf_helper(int prog_type, int helper_id, MemorySegment opts) {
        var mh$ = libbpf_probe_bpf_helper.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_probe_bpf_helper", prog_type, helper_id, opts);
            }
            return (int)mh$.invokeExact(prog_type, helper_id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_num_possible_cpus {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_num_possible_cpus");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_num_possible_cpus()
     * }
     */
    public static FunctionDescriptor libbpf_num_possible_cpus$descriptor() {
        return libbpf_num_possible_cpus.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_num_possible_cpus()
     * }
     */
    public static MethodHandle libbpf_num_possible_cpus$handle() {
        return libbpf_num_possible_cpus.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_num_possible_cpus()
     * }
     */
    public static MemorySegment libbpf_num_possible_cpus$address() {
        return libbpf_num_possible_cpus.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_num_possible_cpus()
     * }
     */
    public static int libbpf_num_possible_cpus() {
        var mh$ = libbpf_num_possible_cpus.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_num_possible_cpus");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__open_skeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__open_skeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__open_skeleton(struct bpf_object_skeleton *s, const struct bpf_object_open_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_object__open_skeleton$descriptor() {
        return bpf_object__open_skeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__open_skeleton(struct bpf_object_skeleton *s, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MethodHandle bpf_object__open_skeleton$handle() {
        return bpf_object__open_skeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__open_skeleton(struct bpf_object_skeleton *s, const struct bpf_object_open_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__open_skeleton$address() {
        return bpf_object__open_skeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__open_skeleton(struct bpf_object_skeleton *s, const struct bpf_object_open_opts *opts)
     * }
     */
    public static int bpf_object__open_skeleton(MemorySegment s, MemorySegment opts) {
        var mh$ = bpf_object__open_skeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__open_skeleton", s, opts);
            }
            return (int)mh$.invokeExact(s, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__load_skeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__load_skeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__load_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__load_skeleton$descriptor() {
        return bpf_object__load_skeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__load_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MethodHandle bpf_object__load_skeleton$handle() {
        return bpf_object__load_skeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__load_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MemorySegment bpf_object__load_skeleton$address() {
        return bpf_object__load_skeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__load_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static int bpf_object__load_skeleton(MemorySegment s) {
        var mh$ = bpf_object__load_skeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__load_skeleton", s);
            }
            return (int)mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__attach_skeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__attach_skeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__attach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__attach_skeleton$descriptor() {
        return bpf_object__attach_skeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__attach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MethodHandle bpf_object__attach_skeleton$handle() {
        return bpf_object__attach_skeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__attach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MemorySegment bpf_object__attach_skeleton$address() {
        return bpf_object__attach_skeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__attach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static int bpf_object__attach_skeleton(MemorySegment s) {
        var mh$ = bpf_object__attach_skeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__attach_skeleton", s);
            }
            return (int)mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__detach_skeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__detach_skeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_object__detach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__detach_skeleton$descriptor() {
        return bpf_object__detach_skeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_object__detach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MethodHandle bpf_object__detach_skeleton$handle() {
        return bpf_object__detach_skeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_object__detach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MemorySegment bpf_object__detach_skeleton$address() {
        return bpf_object__detach_skeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_object__detach_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static void bpf_object__detach_skeleton(MemorySegment s) {
        var mh$ = bpf_object__detach_skeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__detach_skeleton", s);
            }
            mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__destroy_skeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__destroy_skeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__destroy_skeleton$descriptor() {
        return bpf_object__destroy_skeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MethodHandle bpf_object__destroy_skeleton$handle() {
        return bpf_object__destroy_skeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static MemorySegment bpf_object__destroy_skeleton$address() {
        return bpf_object__destroy_skeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s)
     * }
     */
    public static void bpf_object__destroy_skeleton(MemorySegment s) {
        var mh$ = bpf_object__destroy_skeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__destroy_skeleton", s);
            }
            mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__open_subskeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__open_subskeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__open_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__open_subskeleton$descriptor() {
        return bpf_object__open_subskeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__open_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static MethodHandle bpf_object__open_subskeleton$handle() {
        return bpf_object__open_subskeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__open_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static MemorySegment bpf_object__open_subskeleton$address() {
        return bpf_object__open_subskeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__open_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static int bpf_object__open_subskeleton(MemorySegment s) {
        var mh$ = bpf_object__open_subskeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__open_subskeleton", s);
            }
            return (int)mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__destroy_subskeleton {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__destroy_subskeleton");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_object__destroy_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static FunctionDescriptor bpf_object__destroy_subskeleton$descriptor() {
        return bpf_object__destroy_subskeleton.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_object__destroy_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static MethodHandle bpf_object__destroy_subskeleton$handle() {
        return bpf_object__destroy_subskeleton.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_object__destroy_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static MemorySegment bpf_object__destroy_subskeleton$address() {
        return bpf_object__destroy_subskeleton.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_object__destroy_subskeleton(struct bpf_object_subskeleton *s)
     * }
     */
    public static void bpf_object__destroy_subskeleton(MemorySegment s) {
        var mh$ = bpf_object__destroy_subskeleton.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__destroy_subskeleton", s);
            }
            mh$.invokeExact(s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_object__gen_loader {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_object__gen_loader");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_object__gen_loader$descriptor() {
        return bpf_object__gen_loader.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts)
     * }
     */
    public static MethodHandle bpf_object__gen_loader$handle() {
        return bpf_object__gen_loader.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts)
     * }
     */
    public static MemorySegment bpf_object__gen_loader$address() {
        return bpf_object__gen_loader.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts)
     * }
     */
    public static int bpf_object__gen_loader(MemorySegment obj, MemorySegment opts) {
        var mh$ = bpf_object__gen_loader.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_object__gen_loader", obj, opts);
            }
            return (int)mh$.invokeExact(obj, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int TRI_NO = (int)0L;
    /**
     * {@snippet lang=c :
     * enum libbpf_tristate.TRI_NO = 0
     * }
     */
    public static int TRI_NO() {
        return TRI_NO;
    }
    private static final int TRI_YES = (int)1L;
    /**
     * {@snippet lang=c :
     * enum libbpf_tristate.TRI_YES = 1
     * }
     */
    public static int TRI_YES() {
        return TRI_YES;
    }
    private static final int TRI_MODULE = (int)2L;
    /**
     * {@snippet lang=c :
     * enum libbpf_tristate.TRI_MODULE = 2
     * }
     */
    public static int TRI_MODULE() {
        return TRI_MODULE;
    }

    private static class bpf_linker__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_linker__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_linker__new$descriptor() {
        return bpf_linker__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts *opts)
     * }
     */
    public static MethodHandle bpf_linker__new$handle() {
        return bpf_linker__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts *opts)
     * }
     */
    public static MemorySegment bpf_linker__new$address() {
        return bpf_linker__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts *opts)
     * }
     */
    public static MemorySegment bpf_linker__new(MemorySegment filename, MemorySegment opts) {
        var mh$ = bpf_linker__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_linker__new", filename, opts);
            }
            return (MemorySegment)mh$.invokeExact(filename, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_linker__add_file {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_linker__add_file");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_linker__add_file(struct bpf_linker *linker, const char *filename, const struct bpf_linker_file_opts *opts)
     * }
     */
    public static FunctionDescriptor bpf_linker__add_file$descriptor() {
        return bpf_linker__add_file.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_linker__add_file(struct bpf_linker *linker, const char *filename, const struct bpf_linker_file_opts *opts)
     * }
     */
    public static MethodHandle bpf_linker__add_file$handle() {
        return bpf_linker__add_file.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_linker__add_file(struct bpf_linker *linker, const char *filename, const struct bpf_linker_file_opts *opts)
     * }
     */
    public static MemorySegment bpf_linker__add_file$address() {
        return bpf_linker__add_file.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_linker__add_file(struct bpf_linker *linker, const char *filename, const struct bpf_linker_file_opts *opts)
     * }
     */
    public static int bpf_linker__add_file(MemorySegment linker, MemorySegment filename, MemorySegment opts) {
        var mh$ = bpf_linker__add_file.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_linker__add_file", linker, filename, opts);
            }
            return (int)mh$.invokeExact(linker, filename, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_linker__finalize {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_linker__finalize");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int bpf_linker__finalize(struct bpf_linker *linker)
     * }
     */
    public static FunctionDescriptor bpf_linker__finalize$descriptor() {
        return bpf_linker__finalize.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int bpf_linker__finalize(struct bpf_linker *linker)
     * }
     */
    public static MethodHandle bpf_linker__finalize$handle() {
        return bpf_linker__finalize.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int bpf_linker__finalize(struct bpf_linker *linker)
     * }
     */
    public static MemorySegment bpf_linker__finalize$address() {
        return bpf_linker__finalize.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int bpf_linker__finalize(struct bpf_linker *linker)
     * }
     */
    public static int bpf_linker__finalize(MemorySegment linker) {
        var mh$ = bpf_linker__finalize.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_linker__finalize", linker);
            }
            return (int)mh$.invokeExact(linker);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class bpf_linker__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("bpf_linker__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void bpf_linker__free(struct bpf_linker *linker)
     * }
     */
    public static FunctionDescriptor bpf_linker__free$descriptor() {
        return bpf_linker__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void bpf_linker__free(struct bpf_linker *linker)
     * }
     */
    public static MethodHandle bpf_linker__free$handle() {
        return bpf_linker__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void bpf_linker__free(struct bpf_linker *linker)
     * }
     */
    public static MemorySegment bpf_linker__free$address() {
        return bpf_linker__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void bpf_linker__free(struct bpf_linker *linker)
     * }
     */
    public static void bpf_linker__free(MemorySegment linker) {
        var mh$ = bpf_linker__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("bpf_linker__free", linker);
            }
            mh$.invokeExact(linker);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_register_prog_handler {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_register_prog_handler");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_register_prog_handler(const char *sec, enum bpf_prog_type prog_type, enum bpf_attach_type exp_attach_type, const struct libbpf_prog_handler_opts *opts)
     * }
     */
    public static FunctionDescriptor libbpf_register_prog_handler$descriptor() {
        return libbpf_register_prog_handler.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_register_prog_handler(const char *sec, enum bpf_prog_type prog_type, enum bpf_attach_type exp_attach_type, const struct libbpf_prog_handler_opts *opts)
     * }
     */
    public static MethodHandle libbpf_register_prog_handler$handle() {
        return libbpf_register_prog_handler.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_register_prog_handler(const char *sec, enum bpf_prog_type prog_type, enum bpf_attach_type exp_attach_type, const struct libbpf_prog_handler_opts *opts)
     * }
     */
    public static MemorySegment libbpf_register_prog_handler$address() {
        return libbpf_register_prog_handler.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_register_prog_handler(const char *sec, enum bpf_prog_type prog_type, enum bpf_attach_type exp_attach_type, const struct libbpf_prog_handler_opts *opts)
     * }
     */
    public static int libbpf_register_prog_handler(MemorySegment sec, int prog_type, int exp_attach_type, MemorySegment opts) {
        var mh$ = libbpf_register_prog_handler.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_register_prog_handler", sec, prog_type, exp_attach_type, opts);
            }
            return (int)mh$.invokeExact(sec, prog_type, exp_attach_type, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class libbpf_unregister_prog_handler {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("libbpf_unregister_prog_handler");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int libbpf_unregister_prog_handler(int handler_id)
     * }
     */
    public static FunctionDescriptor libbpf_unregister_prog_handler$descriptor() {
        return libbpf_unregister_prog_handler.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int libbpf_unregister_prog_handler(int handler_id)
     * }
     */
    public static MethodHandle libbpf_unregister_prog_handler$handle() {
        return libbpf_unregister_prog_handler.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int libbpf_unregister_prog_handler(int handler_id)
     * }
     */
    public static MemorySegment libbpf_unregister_prog_handler$address() {
        return libbpf_unregister_prog_handler.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int libbpf_unregister_prog_handler(int handler_id)
     * }
     */
    public static int libbpf_unregister_prog_handler(int handler_id) {
        var mh$ = libbpf_unregister_prog_handler.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("libbpf_unregister_prog_handler", handler_id);
            }
            return (int)mh$.invokeExact(handler_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int BTF_KIND_UNKN = (int)0L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_UNKN = 0
     * }
     */
    public static int BTF_KIND_UNKN() {
        return BTF_KIND_UNKN;
    }
    private static final int BTF_KIND_INT = (int)1L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_INT = 1
     * }
     */
    public static int BTF_KIND_INT() {
        return BTF_KIND_INT;
    }
    private static final int BTF_KIND_PTR = (int)2L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_PTR = 2
     * }
     */
    public static int BTF_KIND_PTR() {
        return BTF_KIND_PTR;
    }
    private static final int BTF_KIND_ARRAY = (int)3L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_ARRAY = 3
     * }
     */
    public static int BTF_KIND_ARRAY() {
        return BTF_KIND_ARRAY;
    }
    private static final int BTF_KIND_STRUCT = (int)4L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_STRUCT = 4
     * }
     */
    public static int BTF_KIND_STRUCT() {
        return BTF_KIND_STRUCT;
    }
    private static final int BTF_KIND_UNION = (int)5L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_UNION = 5
     * }
     */
    public static int BTF_KIND_UNION() {
        return BTF_KIND_UNION;
    }
    private static final int BTF_KIND_ENUM = (int)6L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_ENUM = 6
     * }
     */
    public static int BTF_KIND_ENUM() {
        return BTF_KIND_ENUM;
    }
    private static final int BTF_KIND_FWD = (int)7L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_FWD = 7
     * }
     */
    public static int BTF_KIND_FWD() {
        return BTF_KIND_FWD;
    }
    private static final int BTF_KIND_TYPEDEF = (int)8L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_TYPEDEF = 8
     * }
     */
    public static int BTF_KIND_TYPEDEF() {
        return BTF_KIND_TYPEDEF;
    }
    private static final int BTF_KIND_VOLATILE = (int)9L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_VOLATILE = 9
     * }
     */
    public static int BTF_KIND_VOLATILE() {
        return BTF_KIND_VOLATILE;
    }
    private static final int BTF_KIND_CONST = (int)10L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_CONST = 10
     * }
     */
    public static int BTF_KIND_CONST() {
        return BTF_KIND_CONST;
    }
    private static final int BTF_KIND_RESTRICT = (int)11L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_RESTRICT = 11
     * }
     */
    public static int BTF_KIND_RESTRICT() {
        return BTF_KIND_RESTRICT;
    }
    private static final int NR_BTF_KINDS = (int)20L;
    /**
     * {@snippet lang=c :
     * enum .NR_BTF_KINDS = 20
     * }
     */
    public static int NR_BTF_KINDS() {
        return NR_BTF_KINDS;
    }
    private static final int BTF_KIND_MAX = (int)19L;
    /**
     * {@snippet lang=c :
     * enum .BTF_KIND_MAX = 19
     * }
     */
    public static int BTF_KIND_MAX() {
        return BTF_KIND_MAX;
    }
    private static final int BTF_VAR_STATIC = (int)0L;
    /**
     * {@snippet lang=c :
     * enum .BTF_VAR_STATIC = 0
     * }
     */
    public static int BTF_VAR_STATIC() {
        return BTF_VAR_STATIC;
    }
    private static final int BTF_VAR_GLOBAL_ALLOCATED = (int)1L;
    /**
     * {@snippet lang=c :
     * enum .BTF_VAR_GLOBAL_ALLOCATED = 1
     * }
     */
    public static int BTF_VAR_GLOBAL_ALLOCATED() {
        return BTF_VAR_GLOBAL_ALLOCATED;
    }
    private static final int BTF_VAR_GLOBAL_EXTERN = (int)2L;
    /**
     * {@snippet lang=c :
     * enum .BTF_VAR_GLOBAL_EXTERN = 2
     * }
     */
    public static int BTF_VAR_GLOBAL_EXTERN() {
        return BTF_VAR_GLOBAL_EXTERN;
    }
    private static final int BTF_FUNC_STATIC = (int)0L;
    /**
     * {@snippet lang=c :
     * enum btf_func_linkage.BTF_FUNC_STATIC = 0
     * }
     */
    public static int BTF_FUNC_STATIC() {
        return BTF_FUNC_STATIC;
    }
    private static final int BTF_FUNC_GLOBAL = (int)1L;
    /**
     * {@snippet lang=c :
     * enum btf_func_linkage.BTF_FUNC_GLOBAL = 1
     * }
     */
    public static int BTF_FUNC_GLOBAL() {
        return BTF_FUNC_GLOBAL;
    }
    private static final int BTF_FUNC_EXTERN = (int)2L;
    /**
     * {@snippet lang=c :
     * enum btf_func_linkage.BTF_FUNC_EXTERN = 2
     * }
     */
    public static int BTF_FUNC_EXTERN() {
        return BTF_FUNC_EXTERN;
    }
    private static final int BTF_LITTLE_ENDIAN = (int)0L;
    /**
     * {@snippet lang=c :
     * enum btf_endianness.BTF_LITTLE_ENDIAN = 0
     * }
     */
    public static int BTF_LITTLE_ENDIAN() {
        return BTF_LITTLE_ENDIAN;
    }
    private static final int BTF_BIG_ENDIAN = (int)1L;
    /**
     * {@snippet lang=c :
     * enum btf_endianness.BTF_BIG_ENDIAN = 1
     * }
     */
    public static int BTF_BIG_ENDIAN() {
        return BTF_BIG_ENDIAN;
    }

    private static class btf__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void btf__free(struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__free$descriptor() {
        return btf__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void btf__free(struct btf *btf)
     * }
     */
    public static MethodHandle btf__free$handle() {
        return btf__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void btf__free(struct btf *btf)
     * }
     */
    public static MemorySegment btf__free$address() {
        return btf__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void btf__free(struct btf *btf)
     * }
     */
    public static void btf__free(MemorySegment btf) {
        var mh$ = btf__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__free", btf);
            }
            mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__new(const void *data, __u32 size)
     * }
     */
    public static FunctionDescriptor btf__new$descriptor() {
        return btf__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__new(const void *data, __u32 size)
     * }
     */
    public static MethodHandle btf__new$handle() {
        return btf__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__new(const void *data, __u32 size)
     * }
     */
    public static MemorySegment btf__new$address() {
        return btf__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__new(const void *data, __u32 size)
     * }
     */
    public static MemorySegment btf__new(MemorySegment data, int size) {
        var mh$ = btf__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__new", data, size);
            }
            return (MemorySegment)mh$.invokeExact(data, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__new_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__new_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__new_split$descriptor() {
        return btf__new_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__new_split$handle() {
        return btf__new_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__new_split$address() {
        return btf__new_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__new_split(MemorySegment data, int size, MemorySegment base_btf) {
        var mh$ = btf__new_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__new_split", data, size, base_btf);
            }
            return (MemorySegment)mh$.invokeExact(data, size, base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__new_empty {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__new_empty");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty()
     * }
     */
    public static FunctionDescriptor btf__new_empty$descriptor() {
        return btf__new_empty.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty()
     * }
     */
    public static MethodHandle btf__new_empty$handle() {
        return btf__new_empty.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty()
     * }
     */
    public static MemorySegment btf__new_empty$address() {
        return btf__new_empty.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__new_empty()
     * }
     */
    public static MemorySegment btf__new_empty() {
        var mh$ = btf__new_empty.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__new_empty");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__new_empty_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__new_empty_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty_split(struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__new_empty_split$descriptor() {
        return btf__new_empty_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty_split(struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__new_empty_split$handle() {
        return btf__new_empty_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__new_empty_split(struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__new_empty_split$address() {
        return btf__new_empty_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__new_empty_split(struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__new_empty_split(MemorySegment base_btf) {
        var mh$ = btf__new_empty_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__new_empty_split", base_btf);
            }
            return (MemorySegment)mh$.invokeExact(base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static FunctionDescriptor btf__parse$descriptor() {
        return btf__parse.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MethodHandle btf__parse$handle() {
        return btf__parse.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MemorySegment btf__parse$address() {
        return btf__parse.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MemorySegment btf__parse(MemorySegment path, MemorySegment btf_ext) {
        var mh$ = btf__parse.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse", path, btf_ext);
            }
            return (MemorySegment)mh$.invokeExact(path, btf_ext);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse_split(const char *path, struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__parse_split$descriptor() {
        return btf__parse_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__parse_split$handle() {
        return btf__parse_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_split$address() {
        return btf__parse_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_split(MemorySegment path, MemorySegment base_btf) {
        var mh$ = btf__parse_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse_split", path, base_btf);
            }
            return (MemorySegment)mh$.invokeExact(path, base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse_elf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse_elf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static FunctionDescriptor btf__parse_elf$descriptor() {
        return btf__parse_elf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MethodHandle btf__parse_elf$handle() {
        return btf__parse_elf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MemorySegment btf__parse_elf$address() {
        return btf__parse_elf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
     * }
     */
    public static MemorySegment btf__parse_elf(MemorySegment path, MemorySegment btf_ext) {
        var mh$ = btf__parse_elf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse_elf", path, btf_ext);
            }
            return (MemorySegment)mh$.invokeExact(path, btf_ext);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse_elf_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse_elf_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__parse_elf_split$descriptor() {
        return btf__parse_elf_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__parse_elf_split$handle() {
        return btf__parse_elf_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_elf_split$address() {
        return btf__parse_elf_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_elf_split(MemorySegment path, MemorySegment base_btf) {
        var mh$ = btf__parse_elf_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse_elf_split", path, base_btf);
            }
            return (MemorySegment)mh$.invokeExact(path, base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse_raw {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse_raw");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw(const char *path)
     * }
     */
    public static FunctionDescriptor btf__parse_raw$descriptor() {
        return btf__parse_raw.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw(const char *path)
     * }
     */
    public static MethodHandle btf__parse_raw$handle() {
        return btf__parse_raw.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw(const char *path)
     * }
     */
    public static MemorySegment btf__parse_raw$address() {
        return btf__parse_raw.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse_raw(const char *path)
     * }
     */
    public static MemorySegment btf__parse_raw(MemorySegment path) {
        var mh$ = btf__parse_raw.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse_raw", path);
            }
            return (MemorySegment)mh$.invokeExact(path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__parse_raw_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__parse_raw_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__parse_raw_split$descriptor() {
        return btf__parse_raw_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__parse_raw_split$handle() {
        return btf__parse_raw_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_raw_split$address() {
        return btf__parse_raw_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__parse_raw_split(MemorySegment path, MemorySegment base_btf) {
        var mh$ = btf__parse_raw_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__parse_raw_split", path, base_btf);
            }
            return (MemorySegment)mh$.invokeExact(path, base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__load_vmlinux_btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__load_vmlinux_btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__load_vmlinux_btf()
     * }
     */
    public static FunctionDescriptor btf__load_vmlinux_btf$descriptor() {
        return btf__load_vmlinux_btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__load_vmlinux_btf()
     * }
     */
    public static MethodHandle btf__load_vmlinux_btf$handle() {
        return btf__load_vmlinux_btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__load_vmlinux_btf()
     * }
     */
    public static MemorySegment btf__load_vmlinux_btf$address() {
        return btf__load_vmlinux_btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__load_vmlinux_btf()
     * }
     */
    public static MemorySegment btf__load_vmlinux_btf() {
        var mh$ = btf__load_vmlinux_btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__load_vmlinux_btf");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__load_module_btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__load_module_btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__load_module_btf(const char *module_name, struct btf *vmlinux_btf)
     * }
     */
    public static FunctionDescriptor btf__load_module_btf$descriptor() {
        return btf__load_module_btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__load_module_btf(const char *module_name, struct btf *vmlinux_btf)
     * }
     */
    public static MethodHandle btf__load_module_btf$handle() {
        return btf__load_module_btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__load_module_btf(const char *module_name, struct btf *vmlinux_btf)
     * }
     */
    public static MemorySegment btf__load_module_btf$address() {
        return btf__load_module_btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__load_module_btf(const char *module_name, struct btf *vmlinux_btf)
     * }
     */
    public static MemorySegment btf__load_module_btf(MemorySegment module_name, MemorySegment vmlinux_btf) {
        var mh$ = btf__load_module_btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__load_module_btf", module_name, vmlinux_btf);
            }
            return (MemorySegment)mh$.invokeExact(module_name, vmlinux_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__load_from_kernel_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__load_from_kernel_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id(__u32 id)
     * }
     */
    public static FunctionDescriptor btf__load_from_kernel_by_id$descriptor() {
        return btf__load_from_kernel_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id(__u32 id)
     * }
     */
    public static MethodHandle btf__load_from_kernel_by_id$handle() {
        return btf__load_from_kernel_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id(__u32 id)
     * }
     */
    public static MemorySegment btf__load_from_kernel_by_id$address() {
        return btf__load_from_kernel_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id(__u32 id)
     * }
     */
    public static MemorySegment btf__load_from_kernel_by_id(int id) {
        var mh$ = btf__load_from_kernel_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__load_from_kernel_by_id", id);
            }
            return (MemorySegment)mh$.invokeExact(id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__load_from_kernel_by_id_split {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__load_from_kernel_by_id_split");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf)
     * }
     */
    public static FunctionDescriptor btf__load_from_kernel_by_id_split$descriptor() {
        return btf__load_from_kernel_by_id_split.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf)
     * }
     */
    public static MethodHandle btf__load_from_kernel_by_id_split$handle() {
        return btf__load_from_kernel_by_id_split.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__load_from_kernel_by_id_split$address() {
        return btf__load_from_kernel_by_id_split.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf)
     * }
     */
    public static MemorySegment btf__load_from_kernel_by_id_split(int id, MemorySegment base_btf) {
        var mh$ = btf__load_from_kernel_by_id_split.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__load_from_kernel_by_id_split", id, base_btf);
            }
            return (MemorySegment)mh$.invokeExact(id, base_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__load_into_kernel {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__load_into_kernel");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__load_into_kernel(struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__load_into_kernel$descriptor() {
        return btf__load_into_kernel.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__load_into_kernel(struct btf *btf)
     * }
     */
    public static MethodHandle btf__load_into_kernel$handle() {
        return btf__load_into_kernel.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__load_into_kernel(struct btf *btf)
     * }
     */
    public static MemorySegment btf__load_into_kernel$address() {
        return btf__load_into_kernel.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__load_into_kernel(struct btf *btf)
     * }
     */
    public static int btf__load_into_kernel(MemorySegment btf) {
        var mh$ = btf__load_into_kernel.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__load_into_kernel", btf);
            }
            return (int)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__find_by_name {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__find_by_name");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
     * }
     */
    public static FunctionDescriptor btf__find_by_name$descriptor() {
        return btf__find_by_name.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
     * }
     */
    public static MethodHandle btf__find_by_name$handle() {
        return btf__find_by_name.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
     * }
     */
    public static MemorySegment btf__find_by_name$address() {
        return btf__find_by_name.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __s32 btf__find_by_name(const struct btf *btf, const char *type_name)
     * }
     */
    public static int btf__find_by_name(MemorySegment btf, MemorySegment type_name) {
        var mh$ = btf__find_by_name.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__find_by_name", btf, type_name);
            }
            return (int)mh$.invokeExact(btf, type_name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__find_by_name_kind {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__find_by_name_kind");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name_kind(const struct btf *btf, const char *type_name, __u32 kind)
     * }
     */
    public static FunctionDescriptor btf__find_by_name_kind$descriptor() {
        return btf__find_by_name_kind.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name_kind(const struct btf *btf, const char *type_name, __u32 kind)
     * }
     */
    public static MethodHandle btf__find_by_name_kind$handle() {
        return btf__find_by_name_kind.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __s32 btf__find_by_name_kind(const struct btf *btf, const char *type_name, __u32 kind)
     * }
     */
    public static MemorySegment btf__find_by_name_kind$address() {
        return btf__find_by_name_kind.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __s32 btf__find_by_name_kind(const struct btf *btf, const char *type_name, __u32 kind)
     * }
     */
    public static int btf__find_by_name_kind(MemorySegment btf, MemorySegment type_name, int kind) {
        var mh$ = btf__find_by_name_kind.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__find_by_name_kind", btf, type_name, kind);
            }
            return (int)mh$.invokeExact(btf, type_name, kind);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__type_cnt {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__type_cnt");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __u32 btf__type_cnt(const struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__type_cnt$descriptor() {
        return btf__type_cnt.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __u32 btf__type_cnt(const struct btf *btf)
     * }
     */
    public static MethodHandle btf__type_cnt$handle() {
        return btf__type_cnt.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __u32 btf__type_cnt(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__type_cnt$address() {
        return btf__type_cnt.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __u32 btf__type_cnt(const struct btf *btf)
     * }
     */
    public static int btf__type_cnt(MemorySegment btf) {
        var mh$ = btf__type_cnt.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__type_cnt", btf);
            }
            return (int)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__base_btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__base_btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const struct btf *btf__base_btf(const struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__base_btf$descriptor() {
        return btf__base_btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const struct btf *btf__base_btf(const struct btf *btf)
     * }
     */
    public static MethodHandle btf__base_btf$handle() {
        return btf__base_btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const struct btf *btf__base_btf(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__base_btf$address() {
        return btf__base_btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const struct btf *btf__base_btf(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__base_btf(MemorySegment btf) {
        var mh$ = btf__base_btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__base_btf", btf);
            }
            return (MemorySegment)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__type_by_id {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__type_by_id");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const struct btf_type *btf__type_by_id(const struct btf *btf, __u32 id)
     * }
     */
    public static FunctionDescriptor btf__type_by_id$descriptor() {
        return btf__type_by_id.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const struct btf_type *btf__type_by_id(const struct btf *btf, __u32 id)
     * }
     */
    public static MethodHandle btf__type_by_id$handle() {
        return btf__type_by_id.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const struct btf_type *btf__type_by_id(const struct btf *btf, __u32 id)
     * }
     */
    public static MemorySegment btf__type_by_id$address() {
        return btf__type_by_id.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const struct btf_type *btf__type_by_id(const struct btf *btf, __u32 id)
     * }
     */
    public static MemorySegment btf__type_by_id(MemorySegment btf, int id) {
        var mh$ = btf__type_by_id.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__type_by_id", btf, id);
            }
            return (MemorySegment)mh$.invokeExact(btf, id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__pointer_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__pointer_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * size_t btf__pointer_size(const struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__pointer_size$descriptor() {
        return btf__pointer_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * size_t btf__pointer_size(const struct btf *btf)
     * }
     */
    public static MethodHandle btf__pointer_size$handle() {
        return btf__pointer_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * size_t btf__pointer_size(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__pointer_size$address() {
        return btf__pointer_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * size_t btf__pointer_size(const struct btf *btf)
     * }
     */
    public static long btf__pointer_size(MemorySegment btf) {
        var mh$ = btf__pointer_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__pointer_size", btf);
            }
            return (long)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__set_pointer_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__set_pointer_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__set_pointer_size(struct btf *btf, size_t ptr_sz)
     * }
     */
    public static FunctionDescriptor btf__set_pointer_size$descriptor() {
        return btf__set_pointer_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__set_pointer_size(struct btf *btf, size_t ptr_sz)
     * }
     */
    public static MethodHandle btf__set_pointer_size$handle() {
        return btf__set_pointer_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__set_pointer_size(struct btf *btf, size_t ptr_sz)
     * }
     */
    public static MemorySegment btf__set_pointer_size$address() {
        return btf__set_pointer_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__set_pointer_size(struct btf *btf, size_t ptr_sz)
     * }
     */
    public static int btf__set_pointer_size(MemorySegment btf, long ptr_sz) {
        var mh$ = btf__set_pointer_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__set_pointer_size", btf, ptr_sz);
            }
            return (int)mh$.invokeExact(btf, ptr_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__endianness {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__endianness");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * enum btf_endianness btf__endianness(const struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__endianness$descriptor() {
        return btf__endianness.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * enum btf_endianness btf__endianness(const struct btf *btf)
     * }
     */
    public static MethodHandle btf__endianness$handle() {
        return btf__endianness.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * enum btf_endianness btf__endianness(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__endianness$address() {
        return btf__endianness.ADDR;
    }

    /**
     * {@snippet lang=c :
     * enum btf_endianness btf__endianness(const struct btf *btf)
     * }
     */
    public static int btf__endianness(MemorySegment btf) {
        var mh$ = btf__endianness.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__endianness", btf);
            }
            return (int)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__set_endianness {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__set_endianness");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__set_endianness(struct btf *btf, enum btf_endianness endian)
     * }
     */
    public static FunctionDescriptor btf__set_endianness$descriptor() {
        return btf__set_endianness.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__set_endianness(struct btf *btf, enum btf_endianness endian)
     * }
     */
    public static MethodHandle btf__set_endianness$handle() {
        return btf__set_endianness.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__set_endianness(struct btf *btf, enum btf_endianness endian)
     * }
     */
    public static MemorySegment btf__set_endianness$address() {
        return btf__set_endianness.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__set_endianness(struct btf *btf, enum btf_endianness endian)
     * }
     */
    public static int btf__set_endianness(MemorySegment btf, int endian) {
        var mh$ = btf__set_endianness.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__set_endianness", btf, endian);
            }
            return (int)mh$.invokeExact(btf, endian);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__resolve_size {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG_LONG,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__resolve_size");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
     * }
     */
    public static FunctionDescriptor btf__resolve_size$descriptor() {
        return btf__resolve_size.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
     * }
     */
    public static MethodHandle btf__resolve_size$handle() {
        return btf__resolve_size.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
     * }
     */
    public static MemorySegment btf__resolve_size$address() {
        return btf__resolve_size.ADDR;
    }

    /**
     * {@snippet lang=c :
     * __s64 btf__resolve_size(const struct btf *btf, __u32 type_id)
     * }
     */
    public static long btf__resolve_size(MemorySegment btf, int type_id) {
        var mh$ = btf__resolve_size.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__resolve_size", btf, type_id);
            }
            return (long)mh$.invokeExact(btf, type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__resolve_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__resolve_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__resolve_type(const struct btf *btf, __u32 type_id)
     * }
     */
    public static FunctionDescriptor btf__resolve_type$descriptor() {
        return btf__resolve_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__resolve_type(const struct btf *btf, __u32 type_id)
     * }
     */
    public static MethodHandle btf__resolve_type$handle() {
        return btf__resolve_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__resolve_type(const struct btf *btf, __u32 type_id)
     * }
     */
    public static MemorySegment btf__resolve_type$address() {
        return btf__resolve_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__resolve_type(const struct btf *btf, __u32 type_id)
     * }
     */
    public static int btf__resolve_type(MemorySegment btf, int type_id) {
        var mh$ = btf__resolve_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__resolve_type", btf, type_id);
            }
            return (int)mh$.invokeExact(btf, type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__align_of {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__align_of");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__align_of(const struct btf *btf, __u32 id)
     * }
     */
    public static FunctionDescriptor btf__align_of$descriptor() {
        return btf__align_of.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__align_of(const struct btf *btf, __u32 id)
     * }
     */
    public static MethodHandle btf__align_of$handle() {
        return btf__align_of.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__align_of(const struct btf *btf, __u32 id)
     * }
     */
    public static MemorySegment btf__align_of$address() {
        return btf__align_of.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__align_of(const struct btf *btf, __u32 id)
     * }
     */
    public static int btf__align_of(MemorySegment btf, int id) {
        var mh$ = btf__align_of.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__align_of", btf, id);
            }
            return (int)mh$.invokeExact(btf, id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__fd(const struct btf *btf)
     * }
     */
    public static FunctionDescriptor btf__fd$descriptor() {
        return btf__fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__fd(const struct btf *btf)
     * }
     */
    public static MethodHandle btf__fd$handle() {
        return btf__fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__fd(const struct btf *btf)
     * }
     */
    public static MemorySegment btf__fd$address() {
        return btf__fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__fd(const struct btf *btf)
     * }
     */
    public static int btf__fd(MemorySegment btf) {
        var mh$ = btf__fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__fd", btf);
            }
            return (int)mh$.invokeExact(btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__set_fd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__set_fd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void btf__set_fd(struct btf *btf, int fd)
     * }
     */
    public static FunctionDescriptor btf__set_fd$descriptor() {
        return btf__set_fd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void btf__set_fd(struct btf *btf, int fd)
     * }
     */
    public static MethodHandle btf__set_fd$handle() {
        return btf__set_fd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void btf__set_fd(struct btf *btf, int fd)
     * }
     */
    public static MemorySegment btf__set_fd$address() {
        return btf__set_fd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void btf__set_fd(struct btf *btf, int fd)
     * }
     */
    public static void btf__set_fd(MemorySegment btf, int fd) {
        var mh$ = btf__set_fd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__set_fd", btf, fd);
            }
            mh$.invokeExact(btf, fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__raw_data {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__raw_data");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const void *btf__raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static FunctionDescriptor btf__raw_data$descriptor() {
        return btf__raw_data.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const void *btf__raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MethodHandle btf__raw_data$handle() {
        return btf__raw_data.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const void *btf__raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MemorySegment btf__raw_data$address() {
        return btf__raw_data.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const void *btf__raw_data(const struct btf *btf, __u32 *size)
     * }
     */
    public static MemorySegment btf__raw_data(MemorySegment btf, MemorySegment size) {
        var mh$ = btf__raw_data.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__raw_data", btf, size);
            }
            return (MemorySegment)mh$.invokeExact(btf, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__name_by_offset {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__name_by_offset");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *btf__name_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static FunctionDescriptor btf__name_by_offset$descriptor() {
        return btf__name_by_offset.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *btf__name_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MethodHandle btf__name_by_offset$handle() {
        return btf__name_by_offset.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *btf__name_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MemorySegment btf__name_by_offset$address() {
        return btf__name_by_offset.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *btf__name_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MemorySegment btf__name_by_offset(MemorySegment btf, int offset) {
        var mh$ = btf__name_by_offset.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__name_by_offset", btf, offset);
            }
            return (MemorySegment)mh$.invokeExact(btf, offset);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__str_by_offset {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__str_by_offset");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const char *btf__str_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static FunctionDescriptor btf__str_by_offset$descriptor() {
        return btf__str_by_offset.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const char *btf__str_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MethodHandle btf__str_by_offset$handle() {
        return btf__str_by_offset.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const char *btf__str_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MemorySegment btf__str_by_offset$address() {
        return btf__str_by_offset.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const char *btf__str_by_offset(const struct btf *btf, __u32 offset)
     * }
     */
    public static MemorySegment btf__str_by_offset(MemorySegment btf, int offset) {
        var mh$ = btf__str_by_offset.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__str_by_offset", btf, offset);
            }
            return (MemorySegment)mh$.invokeExact(btf, offset);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_ext__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_ext__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf_ext *btf_ext__new(const __u8 *data, __u32 size)
     * }
     */
    public static FunctionDescriptor btf_ext__new$descriptor() {
        return btf_ext__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf_ext *btf_ext__new(const __u8 *data, __u32 size)
     * }
     */
    public static MethodHandle btf_ext__new$handle() {
        return btf_ext__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf_ext *btf_ext__new(const __u8 *data, __u32 size)
     * }
     */
    public static MemorySegment btf_ext__new$address() {
        return btf_ext__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf_ext *btf_ext__new(const __u8 *data, __u32 size)
     * }
     */
    public static MemorySegment btf_ext__new(MemorySegment data, int size) {
        var mh$ = btf_ext__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_ext__new", data, size);
            }
            return (MemorySegment)mh$.invokeExact(data, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_ext__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_ext__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void btf_ext__free(struct btf_ext *btf_ext)
     * }
     */
    public static FunctionDescriptor btf_ext__free$descriptor() {
        return btf_ext__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void btf_ext__free(struct btf_ext *btf_ext)
     * }
     */
    public static MethodHandle btf_ext__free$handle() {
        return btf_ext__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void btf_ext__free(struct btf_ext *btf_ext)
     * }
     */
    public static MemorySegment btf_ext__free$address() {
        return btf_ext__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void btf_ext__free(struct btf_ext *btf_ext)
     * }
     */
    public static void btf_ext__free(MemorySegment btf_ext) {
        var mh$ = btf_ext__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_ext__free", btf_ext);
            }
            mh$.invokeExact(btf_ext);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_ext__raw_data {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_ext__raw_data");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static FunctionDescriptor btf_ext__raw_data$descriptor() {
        return btf_ext__raw_data.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MethodHandle btf_ext__raw_data$handle() {
        return btf_ext__raw_data.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MemorySegment btf_ext__raw_data$address() {
        return btf_ext__raw_data.ADDR;
    }

    /**
     * {@snippet lang=c :
     * const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size)
     * }
     */
    public static MemorySegment btf_ext__raw_data(MemorySegment btf_ext, MemorySegment size) {
        var mh$ = btf_ext__raw_data.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_ext__raw_data", btf_ext, size);
            }
            return (MemorySegment)mh$.invokeExact(btf_ext, size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__find_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__find_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__find_str(struct btf *btf, const char *s)
     * }
     */
    public static FunctionDescriptor btf__find_str$descriptor() {
        return btf__find_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__find_str(struct btf *btf, const char *s)
     * }
     */
    public static MethodHandle btf__find_str$handle() {
        return btf__find_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__find_str(struct btf *btf, const char *s)
     * }
     */
    public static MemorySegment btf__find_str$address() {
        return btf__find_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__find_str(struct btf *btf, const char *s)
     * }
     */
    public static int btf__find_str(MemorySegment btf, MemorySegment s) {
        var mh$ = btf__find_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__find_str", btf, s);
            }
            return (int)mh$.invokeExact(btf, s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_str {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_str");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_str(struct btf *btf, const char *s)
     * }
     */
    public static FunctionDescriptor btf__add_str$descriptor() {
        return btf__add_str.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_str(struct btf *btf, const char *s)
     * }
     */
    public static MethodHandle btf__add_str$handle() {
        return btf__add_str.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_str(struct btf *btf, const char *s)
     * }
     */
    public static MemorySegment btf__add_str$address() {
        return btf__add_str.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_str(struct btf *btf, const char *s)
     * }
     */
    public static int btf__add_str(MemorySegment btf, MemorySegment s) {
        var mh$ = btf__add_str.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_str", btf, s);
            }
            return (int)mh$.invokeExact(btf, s);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_type(struct btf *btf, const struct btf *src_btf, const struct btf_type *src_type)
     * }
     */
    public static FunctionDescriptor btf__add_type$descriptor() {
        return btf__add_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_type(struct btf *btf, const struct btf *src_btf, const struct btf_type *src_type)
     * }
     */
    public static MethodHandle btf__add_type$handle() {
        return btf__add_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_type(struct btf *btf, const struct btf *src_btf, const struct btf_type *src_type)
     * }
     */
    public static MemorySegment btf__add_type$address() {
        return btf__add_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_type(struct btf *btf, const struct btf *src_btf, const struct btf_type *src_type)
     * }
     */
    public static int btf__add_type(MemorySegment btf, MemorySegment src_btf, MemorySegment src_type) {
        var mh$ = btf__add_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_type", btf, src_btf, src_type);
            }
            return (int)mh$.invokeExact(btf, src_btf, src_type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_btf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_btf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_btf(struct btf *btf, const struct btf *src_btf)
     * }
     */
    public static FunctionDescriptor btf__add_btf$descriptor() {
        return btf__add_btf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_btf(struct btf *btf, const struct btf *src_btf)
     * }
     */
    public static MethodHandle btf__add_btf$handle() {
        return btf__add_btf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_btf(struct btf *btf, const struct btf *src_btf)
     * }
     */
    public static MemorySegment btf__add_btf$address() {
        return btf__add_btf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_btf(struct btf *btf, const struct btf *src_btf)
     * }
     */
    public static int btf__add_btf(MemorySegment btf, MemorySegment src_btf) {
        var mh$ = btf__add_btf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_btf", btf, src_btf);
            }
            return (int)mh$.invokeExact(btf, src_btf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_int {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_int");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding)
     * }
     */
    public static FunctionDescriptor btf__add_int$descriptor() {
        return btf__add_int.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding)
     * }
     */
    public static MethodHandle btf__add_int$handle() {
        return btf__add_int.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding)
     * }
     */
    public static MemorySegment btf__add_int$address() {
        return btf__add_int.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding)
     * }
     */
    public static int btf__add_int(MemorySegment btf, MemorySegment name, long byte_sz, int encoding) {
        var mh$ = btf__add_int.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_int", btf, name, byte_sz, encoding);
            }
            return (int)mh$.invokeExact(btf, name, byte_sz, encoding);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_float {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_float");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_float(struct btf *btf, const char *name, size_t byte_sz)
     * }
     */
    public static FunctionDescriptor btf__add_float$descriptor() {
        return btf__add_float.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_float(struct btf *btf, const char *name, size_t byte_sz)
     * }
     */
    public static MethodHandle btf__add_float$handle() {
        return btf__add_float.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_float(struct btf *btf, const char *name, size_t byte_sz)
     * }
     */
    public static MemorySegment btf__add_float$address() {
        return btf__add_float.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_float(struct btf *btf, const char *name, size_t byte_sz)
     * }
     */
    public static int btf__add_float(MemorySegment btf, MemorySegment name, long byte_sz) {
        var mh$ = btf__add_float.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_float", btf, name, byte_sz);
            }
            return (int)mh$.invokeExact(btf, name, byte_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_ptr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_ptr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_ptr(struct btf *btf, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_ptr$descriptor() {
        return btf__add_ptr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_ptr(struct btf *btf, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_ptr$handle() {
        return btf__add_ptr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_ptr(struct btf *btf, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_ptr$address() {
        return btf__add_ptr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_ptr(struct btf *btf, int ref_type_id)
     * }
     */
    public static int btf__add_ptr(MemorySegment btf, int ref_type_id) {
        var mh$ = btf__add_ptr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_ptr", btf, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_array {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_array");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_array(struct btf *btf, int index_type_id, int elem_type_id, __u32 nr_elems)
     * }
     */
    public static FunctionDescriptor btf__add_array$descriptor() {
        return btf__add_array.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_array(struct btf *btf, int index_type_id, int elem_type_id, __u32 nr_elems)
     * }
     */
    public static MethodHandle btf__add_array$handle() {
        return btf__add_array.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_array(struct btf *btf, int index_type_id, int elem_type_id, __u32 nr_elems)
     * }
     */
    public static MemorySegment btf__add_array$address() {
        return btf__add_array.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_array(struct btf *btf, int index_type_id, int elem_type_id, __u32 nr_elems)
     * }
     */
    public static int btf__add_array(MemorySegment btf, int index_type_id, int elem_type_id, int nr_elems) {
        var mh$ = btf__add_array.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_array", btf, index_type_id, elem_type_id, nr_elems);
            }
            return (int)mh$.invokeExact(btf, index_type_id, elem_type_id, nr_elems);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_struct {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_struct");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_struct(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static FunctionDescriptor btf__add_struct$descriptor() {
        return btf__add_struct.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_struct(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static MethodHandle btf__add_struct$handle() {
        return btf__add_struct.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_struct(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static MemorySegment btf__add_struct$address() {
        return btf__add_struct.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_struct(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static int btf__add_struct(MemorySegment btf, MemorySegment name, int sz) {
        var mh$ = btf__add_struct.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_struct", btf, name, sz);
            }
            return (int)mh$.invokeExact(btf, name, sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_union {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_union");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_union(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static FunctionDescriptor btf__add_union$descriptor() {
        return btf__add_union.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_union(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static MethodHandle btf__add_union$handle() {
        return btf__add_union.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_union(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static MemorySegment btf__add_union$address() {
        return btf__add_union.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_union(struct btf *btf, const char *name, __u32 sz)
     * }
     */
    public static int btf__add_union(MemorySegment btf, MemorySegment name, int sz) {
        var mh$ = btf__add_union.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_union", btf, name, sz);
            }
            return (int)mh$.invokeExact(btf, name, sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_field {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_field");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_field(struct btf *btf, const char *name, int field_type_id, __u32 bit_offset, __u32 bit_size)
     * }
     */
    public static FunctionDescriptor btf__add_field$descriptor() {
        return btf__add_field.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_field(struct btf *btf, const char *name, int field_type_id, __u32 bit_offset, __u32 bit_size)
     * }
     */
    public static MethodHandle btf__add_field$handle() {
        return btf__add_field.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_field(struct btf *btf, const char *name, int field_type_id, __u32 bit_offset, __u32 bit_size)
     * }
     */
    public static MemorySegment btf__add_field$address() {
        return btf__add_field.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_field(struct btf *btf, const char *name, int field_type_id, __u32 bit_offset, __u32 bit_size)
     * }
     */
    public static int btf__add_field(MemorySegment btf, MemorySegment name, int field_type_id, int bit_offset, int bit_size) {
        var mh$ = btf__add_field.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_field", btf, name, field_type_id, bit_offset, bit_size);
            }
            return (int)mh$.invokeExact(btf, name, field_type_id, bit_offset, bit_size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_enum {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_enum");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz)
     * }
     */
    public static FunctionDescriptor btf__add_enum$descriptor() {
        return btf__add_enum.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz)
     * }
     */
    public static MethodHandle btf__add_enum$handle() {
        return btf__add_enum.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz)
     * }
     */
    public static MemorySegment btf__add_enum$address() {
        return btf__add_enum.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz)
     * }
     */
    public static int btf__add_enum(MemorySegment btf, MemorySegment name, int bytes_sz) {
        var mh$ = btf__add_enum.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_enum", btf, name, bytes_sz);
            }
            return (int)mh$.invokeExact(btf, name, bytes_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_enum_value {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_enum_value");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_enum_value(struct btf *btf, const char *name, __s64 value)
     * }
     */
    public static FunctionDescriptor btf__add_enum_value$descriptor() {
        return btf__add_enum_value.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_enum_value(struct btf *btf, const char *name, __s64 value)
     * }
     */
    public static MethodHandle btf__add_enum_value$handle() {
        return btf__add_enum_value.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_enum_value(struct btf *btf, const char *name, __s64 value)
     * }
     */
    public static MemorySegment btf__add_enum_value$address() {
        return btf__add_enum_value.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_enum_value(struct btf *btf, const char *name, __s64 value)
     * }
     */
    public static int btf__add_enum_value(MemorySegment btf, MemorySegment name, long value) {
        var mh$ = btf__add_enum_value.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_enum_value", btf, name, value);
            }
            return (int)mh$.invokeExact(btf, name, value);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_enum64 {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_BOOL
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_enum64");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_enum64(struct btf *btf, const char *name, __u32 bytes_sz, bool is_signed)
     * }
     */
    public static FunctionDescriptor btf__add_enum64$descriptor() {
        return btf__add_enum64.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_enum64(struct btf *btf, const char *name, __u32 bytes_sz, bool is_signed)
     * }
     */
    public static MethodHandle btf__add_enum64$handle() {
        return btf__add_enum64.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_enum64(struct btf *btf, const char *name, __u32 bytes_sz, bool is_signed)
     * }
     */
    public static MemorySegment btf__add_enum64$address() {
        return btf__add_enum64.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_enum64(struct btf *btf, const char *name, __u32 bytes_sz, bool is_signed)
     * }
     */
    public static int btf__add_enum64(MemorySegment btf, MemorySegment name, int bytes_sz, boolean is_signed) {
        var mh$ = btf__add_enum64.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_enum64", btf, name, bytes_sz, is_signed);
            }
            return (int)mh$.invokeExact(btf, name, bytes_sz, is_signed);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_enum64_value {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_enum64_value");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_enum64_value(struct btf *btf, const char *name, __u64 value)
     * }
     */
    public static FunctionDescriptor btf__add_enum64_value$descriptor() {
        return btf__add_enum64_value.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_enum64_value(struct btf *btf, const char *name, __u64 value)
     * }
     */
    public static MethodHandle btf__add_enum64_value$handle() {
        return btf__add_enum64_value.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_enum64_value(struct btf *btf, const char *name, __u64 value)
     * }
     */
    public static MemorySegment btf__add_enum64_value$address() {
        return btf__add_enum64_value.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_enum64_value(struct btf *btf, const char *name, __u64 value)
     * }
     */
    public static int btf__add_enum64_value(MemorySegment btf, MemorySegment name, long value) {
        var mh$ = btf__add_enum64_value.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_enum64_value", btf, name, value);
            }
            return (int)mh$.invokeExact(btf, name, value);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int BTF_FWD_STRUCT = (int)0L;
    /**
     * {@snippet lang=c :
     * enum btf_fwd_kind.BTF_FWD_STRUCT = 0
     * }
     */
    public static int BTF_FWD_STRUCT() {
        return BTF_FWD_STRUCT;
    }
    private static final int BTF_FWD_UNION = (int)1L;
    /**
     * {@snippet lang=c :
     * enum btf_fwd_kind.BTF_FWD_UNION = 1
     * }
     */
    public static int BTF_FWD_UNION() {
        return BTF_FWD_UNION;
    }
    private static final int BTF_FWD_ENUM = (int)2L;
    /**
     * {@snippet lang=c :
     * enum btf_fwd_kind.BTF_FWD_ENUM = 2
     * }
     */
    public static int BTF_FWD_ENUM() {
        return BTF_FWD_ENUM;
    }

    private static class btf__add_fwd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_fwd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind)
     * }
     */
    public static FunctionDescriptor btf__add_fwd$descriptor() {
        return btf__add_fwd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind)
     * }
     */
    public static MethodHandle btf__add_fwd$handle() {
        return btf__add_fwd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind)
     * }
     */
    public static MemorySegment btf__add_fwd$address() {
        return btf__add_fwd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind)
     * }
     */
    public static int btf__add_fwd(MemorySegment btf, MemorySegment name, int fwd_kind) {
        var mh$ = btf__add_fwd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_fwd", btf, name, fwd_kind);
            }
            return (int)mh$.invokeExact(btf, name, fwd_kind);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_typedef {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_typedef");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_typedef$descriptor() {
        return btf__add_typedef.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_typedef$handle() {
        return btf__add_typedef.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_typedef$address() {
        return btf__add_typedef.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id)
     * }
     */
    public static int btf__add_typedef(MemorySegment btf, MemorySegment name, int ref_type_id) {
        var mh$ = btf__add_typedef.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_typedef", btf, name, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, name, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_volatile {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_volatile");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_volatile(struct btf *btf, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_volatile$descriptor() {
        return btf__add_volatile.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_volatile(struct btf *btf, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_volatile$handle() {
        return btf__add_volatile.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_volatile(struct btf *btf, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_volatile$address() {
        return btf__add_volatile.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_volatile(struct btf *btf, int ref_type_id)
     * }
     */
    public static int btf__add_volatile(MemorySegment btf, int ref_type_id) {
        var mh$ = btf__add_volatile.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_volatile", btf, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_const {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_const");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_const(struct btf *btf, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_const$descriptor() {
        return btf__add_const.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_const(struct btf *btf, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_const$handle() {
        return btf__add_const.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_const(struct btf *btf, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_const$address() {
        return btf__add_const.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_const(struct btf *btf, int ref_type_id)
     * }
     */
    public static int btf__add_const(MemorySegment btf, int ref_type_id) {
        var mh$ = btf__add_const.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_const", btf, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_restrict {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_restrict");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_restrict(struct btf *btf, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_restrict$descriptor() {
        return btf__add_restrict.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_restrict(struct btf *btf, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_restrict$handle() {
        return btf__add_restrict.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_restrict(struct btf *btf, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_restrict$address() {
        return btf__add_restrict.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_restrict(struct btf *btf, int ref_type_id)
     * }
     */
    public static int btf__add_restrict(MemorySegment btf, int ref_type_id) {
        var mh$ = btf__add_restrict.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_restrict", btf, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_type_tag {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_type_tag");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_type_tag$descriptor() {
        return btf__add_type_tag.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id)
     * }
     */
    public static MethodHandle btf__add_type_tag$handle() {
        return btf__add_type_tag.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id)
     * }
     */
    public static MemorySegment btf__add_type_tag$address() {
        return btf__add_type_tag.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id)
     * }
     */
    public static int btf__add_type_tag(MemorySegment btf, MemorySegment value, int ref_type_id) {
        var mh$ = btf__add_type_tag.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_type_tag", btf, value, ref_type_id);
            }
            return (int)mh$.invokeExact(btf, value, ref_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_func {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_func");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_func(struct btf *btf, const char *name, enum btf_func_linkage linkage, int proto_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_func$descriptor() {
        return btf__add_func.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_func(struct btf *btf, const char *name, enum btf_func_linkage linkage, int proto_type_id)
     * }
     */
    public static MethodHandle btf__add_func$handle() {
        return btf__add_func.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_func(struct btf *btf, const char *name, enum btf_func_linkage linkage, int proto_type_id)
     * }
     */
    public static MemorySegment btf__add_func$address() {
        return btf__add_func.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_func(struct btf *btf, const char *name, enum btf_func_linkage linkage, int proto_type_id)
     * }
     */
    public static int btf__add_func(MemorySegment btf, MemorySegment name, int linkage, int proto_type_id) {
        var mh$ = btf__add_func.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_func", btf, name, linkage, proto_type_id);
            }
            return (int)mh$.invokeExact(btf, name, linkage, proto_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_func_proto {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_func_proto");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_func_proto(struct btf *btf, int ret_type_id)
     * }
     */
    public static FunctionDescriptor btf__add_func_proto$descriptor() {
        return btf__add_func_proto.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_func_proto(struct btf *btf, int ret_type_id)
     * }
     */
    public static MethodHandle btf__add_func_proto$handle() {
        return btf__add_func_proto.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_func_proto(struct btf *btf, int ret_type_id)
     * }
     */
    public static MemorySegment btf__add_func_proto$address() {
        return btf__add_func_proto.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_func_proto(struct btf *btf, int ret_type_id)
     * }
     */
    public static int btf__add_func_proto(MemorySegment btf, int ret_type_id) {
        var mh$ = btf__add_func_proto.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_func_proto", btf, ret_type_id);
            }
            return (int)mh$.invokeExact(btf, ret_type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_func_param {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_func_param");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_func_param(struct btf *btf, const char *name, int type_id)
     * }
     */
    public static FunctionDescriptor btf__add_func_param$descriptor() {
        return btf__add_func_param.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_func_param(struct btf *btf, const char *name, int type_id)
     * }
     */
    public static MethodHandle btf__add_func_param$handle() {
        return btf__add_func_param.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_func_param(struct btf *btf, const char *name, int type_id)
     * }
     */
    public static MemorySegment btf__add_func_param$address() {
        return btf__add_func_param.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_func_param(struct btf *btf, const char *name, int type_id)
     * }
     */
    public static int btf__add_func_param(MemorySegment btf, MemorySegment name, int type_id) {
        var mh$ = btf__add_func_param.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_func_param", btf, name, type_id);
            }
            return (int)mh$.invokeExact(btf, name, type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_var {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_var");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id)
     * }
     */
    public static FunctionDescriptor btf__add_var$descriptor() {
        return btf__add_var.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id)
     * }
     */
    public static MethodHandle btf__add_var$handle() {
        return btf__add_var.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id)
     * }
     */
    public static MemorySegment btf__add_var$address() {
        return btf__add_var.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id)
     * }
     */
    public static int btf__add_var(MemorySegment btf, MemorySegment name, int linkage, int type_id) {
        var mh$ = btf__add_var.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_var", btf, name, linkage, type_id);
            }
            return (int)mh$.invokeExact(btf, name, linkage, type_id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_datasec {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_datasec");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz)
     * }
     */
    public static FunctionDescriptor btf__add_datasec$descriptor() {
        return btf__add_datasec.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz)
     * }
     */
    public static MethodHandle btf__add_datasec$handle() {
        return btf__add_datasec.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz)
     * }
     */
    public static MemorySegment btf__add_datasec$address() {
        return btf__add_datasec.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz)
     * }
     */
    public static int btf__add_datasec(MemorySegment btf, MemorySegment name, int byte_sz) {
        var mh$ = btf__add_datasec.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_datasec", btf, name, byte_sz);
            }
            return (int)mh$.invokeExact(btf, name, byte_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_datasec_var_info {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_datasec_var_info");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_datasec_var_info(struct btf *btf, int var_type_id, __u32 offset, __u32 byte_sz)
     * }
     */
    public static FunctionDescriptor btf__add_datasec_var_info$descriptor() {
        return btf__add_datasec_var_info.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_datasec_var_info(struct btf *btf, int var_type_id, __u32 offset, __u32 byte_sz)
     * }
     */
    public static MethodHandle btf__add_datasec_var_info$handle() {
        return btf__add_datasec_var_info.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_datasec_var_info(struct btf *btf, int var_type_id, __u32 offset, __u32 byte_sz)
     * }
     */
    public static MemorySegment btf__add_datasec_var_info$address() {
        return btf__add_datasec_var_info.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_datasec_var_info(struct btf *btf, int var_type_id, __u32 offset, __u32 byte_sz)
     * }
     */
    public static int btf__add_datasec_var_info(MemorySegment btf, int var_type_id, int offset, int byte_sz) {
        var mh$ = btf__add_datasec_var_info.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_datasec_var_info", btf, var_type_id, offset, byte_sz);
            }
            return (int)mh$.invokeExact(btf, var_type_id, offset, byte_sz);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__add_decl_tag {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__add_decl_tag");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id, int component_idx)
     * }
     */
    public static FunctionDescriptor btf__add_decl_tag$descriptor() {
        return btf__add_decl_tag.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id, int component_idx)
     * }
     */
    public static MethodHandle btf__add_decl_tag$handle() {
        return btf__add_decl_tag.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id, int component_idx)
     * }
     */
    public static MemorySegment btf__add_decl_tag$address() {
        return btf__add_decl_tag.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id, int component_idx)
     * }
     */
    public static int btf__add_decl_tag(MemorySegment btf, MemorySegment value, int ref_type_id, int component_idx) {
        var mh$ = btf__add_decl_tag.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__add_decl_tag", btf, value, ref_type_id, component_idx);
            }
            return (int)mh$.invokeExact(btf, value, ref_type_id, component_idx);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf__dedup {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf__dedup");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts)
     * }
     */
    public static FunctionDescriptor btf__dedup$descriptor() {
        return btf__dedup.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts)
     * }
     */
    public static MethodHandle btf__dedup$handle() {
        return btf__dedup.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts)
     * }
     */
    public static MemorySegment btf__dedup$address() {
        return btf__dedup.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts)
     * }
     */
    public static int btf__dedup(MemorySegment btf, MemorySegment opts) {
        var mh$ = btf__dedup.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf__dedup", btf, opts);
            }
            return (int)mh$.invokeExact(btf, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_dump__new {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_dump__new");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * struct btf_dump *btf_dump__new(const struct btf *btf, btf_dump_printf_fn_t printf_fn, void *ctx, const struct btf_dump_opts *opts)
     * }
     */
    public static FunctionDescriptor btf_dump__new$descriptor() {
        return btf_dump__new.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * struct btf_dump *btf_dump__new(const struct btf *btf, btf_dump_printf_fn_t printf_fn, void *ctx, const struct btf_dump_opts *opts)
     * }
     */
    public static MethodHandle btf_dump__new$handle() {
        return btf_dump__new.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * struct btf_dump *btf_dump__new(const struct btf *btf, btf_dump_printf_fn_t printf_fn, void *ctx, const struct btf_dump_opts *opts)
     * }
     */
    public static MemorySegment btf_dump__new$address() {
        return btf_dump__new.ADDR;
    }

    /**
     * {@snippet lang=c :
     * struct btf_dump *btf_dump__new(const struct btf *btf, btf_dump_printf_fn_t printf_fn, void *ctx, const struct btf_dump_opts *opts)
     * }
     */
    public static MemorySegment btf_dump__new(MemorySegment btf, MemorySegment printf_fn, MemorySegment ctx, MemorySegment opts) {
        var mh$ = btf_dump__new.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_dump__new", btf, printf_fn, ctx, opts);
            }
            return (MemorySegment)mh$.invokeExact(btf, printf_fn, ctx, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_dump__free {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_dump__free");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * void btf_dump__free(struct btf_dump *d)
     * }
     */
    public static FunctionDescriptor btf_dump__free$descriptor() {
        return btf_dump__free.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * void btf_dump__free(struct btf_dump *d)
     * }
     */
    public static MethodHandle btf_dump__free$handle() {
        return btf_dump__free.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * void btf_dump__free(struct btf_dump *d)
     * }
     */
    public static MemorySegment btf_dump__free$address() {
        return btf_dump__free.ADDR;
    }

    /**
     * {@snippet lang=c :
     * void btf_dump__free(struct btf_dump *d)
     * }
     */
    public static void btf_dump__free(MemorySegment d) {
        var mh$ = btf_dump__free.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_dump__free", d);
            }
            mh$.invokeExact(d);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_dump__dump_type {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_dump__dump_type");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf_dump__dump_type(struct btf_dump *d, __u32 id)
     * }
     */
    public static FunctionDescriptor btf_dump__dump_type$descriptor() {
        return btf_dump__dump_type.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf_dump__dump_type(struct btf_dump *d, __u32 id)
     * }
     */
    public static MethodHandle btf_dump__dump_type$handle() {
        return btf_dump__dump_type.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf_dump__dump_type(struct btf_dump *d, __u32 id)
     * }
     */
    public static MemorySegment btf_dump__dump_type$address() {
        return btf_dump__dump_type.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf_dump__dump_type(struct btf_dump *d, __u32 id)
     * }
     */
    public static int btf_dump__dump_type(MemorySegment d, int id) {
        var mh$ = btf_dump__dump_type.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_dump__dump_type", d, id);
            }
            return (int)mh$.invokeExact(d, id);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_dump__emit_type_decl {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_dump__emit_type_decl");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, const struct btf_dump_emit_type_decl_opts *opts)
     * }
     */
    public static FunctionDescriptor btf_dump__emit_type_decl$descriptor() {
        return btf_dump__emit_type_decl.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, const struct btf_dump_emit_type_decl_opts *opts)
     * }
     */
    public static MethodHandle btf_dump__emit_type_decl$handle() {
        return btf_dump__emit_type_decl.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, const struct btf_dump_emit_type_decl_opts *opts)
     * }
     */
    public static MemorySegment btf_dump__emit_type_decl$address() {
        return btf_dump__emit_type_decl.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, const struct btf_dump_emit_type_decl_opts *opts)
     * }
     */
    public static int btf_dump__emit_type_decl(MemorySegment d, int id, MemorySegment opts) {
        var mh$ = btf_dump__emit_type_decl.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_dump__emit_type_decl", d, id, opts);
            }
            return (int)mh$.invokeExact(d, id, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class btf_dump__dump_type_data {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("btf_dump__dump_type_data");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * int btf_dump__dump_type_data(struct btf_dump *d, __u32 id, const void *data, size_t data_sz, const struct btf_dump_type_data_opts *opts)
     * }
     */
    public static FunctionDescriptor btf_dump__dump_type_data$descriptor() {
        return btf_dump__dump_type_data.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * int btf_dump__dump_type_data(struct btf_dump *d, __u32 id, const void *data, size_t data_sz, const struct btf_dump_type_data_opts *opts)
     * }
     */
    public static MethodHandle btf_dump__dump_type_data$handle() {
        return btf_dump__dump_type_data.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * int btf_dump__dump_type_data(struct btf_dump *d, __u32 id, const void *data, size_t data_sz, const struct btf_dump_type_data_opts *opts)
     * }
     */
    public static MemorySegment btf_dump__dump_type_data$address() {
        return btf_dump__dump_type_data.ADDR;
    }

    /**
     * {@snippet lang=c :
     * int btf_dump__dump_type_data(struct btf_dump *d, __u32 id, const void *data, size_t data_sz, const struct btf_dump_type_data_opts *opts)
     * }
     */
    public static int btf_dump__dump_type_data(MemorySegment d, int id, MemorySegment data, long data_sz, MemorySegment opts) {
        var mh$ = btf_dump__dump_type_data.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("btf_dump__dump_type_data", d, id, data, data_sz, opts);
            }
            return (int)mh$.invokeExact(d, id, data, data_sz, opts);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __errno_location {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER    );

        public static final MemorySegment ADDR = Lib.findOrThrow("__errno_location");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int *__errno_location()
     * }
     */
    public static FunctionDescriptor __errno_location$descriptor() {
        return __errno_location.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int *__errno_location()
     * }
     */
    public static MethodHandle __errno_location$handle() {
        return __errno_location.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int *__errno_location()
     * }
     */
    public static MemorySegment __errno_location$address() {
        return __errno_location.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int *__errno_location()
     * }
     */
    public static MemorySegment __errno_location() {
        var mh$ = __errno_location.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__errno_location");
            }
            return (MemorySegment)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    /**
     * {@snippet lang=c :
     * typedef __useconds_t useconds_t
     * }
     */
    public static final OfInt useconds_t = Lib.C_INT;
    /**
     * {@snippet lang=c :
     * typedef __socklen_t socklen_t
     * }
     */
    public static final OfInt socklen_t = Lib.C_INT;

    private static class access {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("access");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int access(const char *__name, int __type)
     * }
     */
    public static FunctionDescriptor access$descriptor() {
        return access.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int access(const char *__name, int __type)
     * }
     */
    public static MethodHandle access$handle() {
        return access.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int access(const char *__name, int __type)
     * }
     */
    public static MemorySegment access$address() {
        return access.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int access(const char *__name, int __type)
     * }
     */
    public static int access(MemorySegment __name, int __type) {
        var mh$ = access.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("access", __name, __type);
            }
            return (int)mh$.invokeExact(__name, __type);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class faccessat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("faccessat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int faccessat(int __fd, const char *__file, int __type, int __flag)
     * }
     */
    public static FunctionDescriptor faccessat$descriptor() {
        return faccessat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int faccessat(int __fd, const char *__file, int __type, int __flag)
     * }
     */
    public static MethodHandle faccessat$handle() {
        return faccessat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int faccessat(int __fd, const char *__file, int __type, int __flag)
     * }
     */
    public static MemorySegment faccessat$address() {
        return faccessat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int faccessat(int __fd, const char *__file, int __type, int __flag)
     * }
     */
    public static int faccessat(int __fd, MemorySegment __file, int __type, int __flag) {
        var mh$ = faccessat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("faccessat", __fd, __file, __type, __flag);
            }
            return (int)mh$.invokeExact(__fd, __file, __type, __flag);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class lseek {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_LONG,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("lseek");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __off_t lseek(int __fd, __off_t __offset, int __whence)
     * }
     */
    public static FunctionDescriptor lseek$descriptor() {
        return lseek.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __off_t lseek(int __fd, __off_t __offset, int __whence)
     * }
     */
    public static MethodHandle lseek$handle() {
        return lseek.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __off_t lseek(int __fd, __off_t __offset, int __whence)
     * }
     */
    public static MemorySegment lseek$address() {
        return lseek.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __off_t lseek(int __fd, __off_t __offset, int __whence)
     * }
     */
    public static long lseek(int __fd, long __offset, int __whence) {
        var mh$ = lseek.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("lseek", __fd, __offset, __whence);
            }
            return (long)mh$.invokeExact(__fd, __offset, __whence);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class close {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("close");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int close(int __fd)
     * }
     */
    public static FunctionDescriptor close$descriptor() {
        return close.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int close(int __fd)
     * }
     */
    public static MethodHandle close$handle() {
        return close.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int close(int __fd)
     * }
     */
    public static MemorySegment close$address() {
        return close.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int close(int __fd)
     * }
     */
    public static int close(int __fd) {
        var mh$ = close.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("close", __fd);
            }
            return (int)mh$.invokeExact(__fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class closefrom {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("closefrom");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void closefrom(int __lowfd)
     * }
     */
    public static FunctionDescriptor closefrom$descriptor() {
        return closefrom.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void closefrom(int __lowfd)
     * }
     */
    public static MethodHandle closefrom$handle() {
        return closefrom.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void closefrom(int __lowfd)
     * }
     */
    public static MemorySegment closefrom$address() {
        return closefrom.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void closefrom(int __lowfd)
     * }
     */
    public static void closefrom(int __lowfd) {
        var mh$ = closefrom.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("closefrom", __lowfd);
            }
            mh$.invokeExact(__lowfd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class read {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("read");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern ssize_t read(int __fd, void *__buf, size_t __nbytes)
     * }
     */
    public static FunctionDescriptor read$descriptor() {
        return read.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern ssize_t read(int __fd, void *__buf, size_t __nbytes)
     * }
     */
    public static MethodHandle read$handle() {
        return read.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern ssize_t read(int __fd, void *__buf, size_t __nbytes)
     * }
     */
    public static MemorySegment read$address() {
        return read.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern ssize_t read(int __fd, void *__buf, size_t __nbytes)
     * }
     */
    public static long read(int __fd, MemorySegment __buf, long __nbytes) {
        var mh$ = read.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("read", __fd, __buf, __nbytes);
            }
            return (long)mh$.invokeExact(__fd, __buf, __nbytes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class write {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("write");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern ssize_t write(int __fd, const void *__buf, size_t __n)
     * }
     */
    public static FunctionDescriptor write$descriptor() {
        return write.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern ssize_t write(int __fd, const void *__buf, size_t __n)
     * }
     */
    public static MethodHandle write$handle() {
        return write.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern ssize_t write(int __fd, const void *__buf, size_t __n)
     * }
     */
    public static MemorySegment write$address() {
        return write.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern ssize_t write(int __fd, const void *__buf, size_t __n)
     * }
     */
    public static long write(int __fd, MemorySegment __buf, long __n) {
        var mh$ = write.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("write", __fd, __buf, __n);
            }
            return (long)mh$.invokeExact(__fd, __buf, __n);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pread {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pread");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, __off_t __offset)
     * }
     */
    public static FunctionDescriptor pread$descriptor() {
        return pread.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, __off_t __offset)
     * }
     */
    public static MethodHandle pread$handle() {
        return pread.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, __off_t __offset)
     * }
     */
    public static MemorySegment pread$address() {
        return pread.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern ssize_t pread(int __fd, void *__buf, size_t __nbytes, __off_t __offset)
     * }
     */
    public static long pread(int __fd, MemorySegment __buf, long __nbytes, long __offset) {
        var mh$ = pread.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pread", __fd, __buf, __nbytes, __offset);
            }
            return (long)mh$.invokeExact(__fd, __buf, __nbytes, __offset);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pwrite {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pwrite");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, __off_t __offset)
     * }
     */
    public static FunctionDescriptor pwrite$descriptor() {
        return pwrite.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, __off_t __offset)
     * }
     */
    public static MethodHandle pwrite$handle() {
        return pwrite.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, __off_t __offset)
     * }
     */
    public static MemorySegment pwrite$address() {
        return pwrite.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern ssize_t pwrite(int __fd, const void *__buf, size_t __n, __off_t __offset)
     * }
     */
    public static long pwrite(int __fd, MemorySegment __buf, long __n, long __offset) {
        var mh$ = pwrite.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pwrite", __fd, __buf, __n, __offset);
            }
            return (long)mh$.invokeExact(__fd, __buf, __n, __offset);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pipe {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pipe");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int pipe(int __pipedes[2])
     * }
     */
    public static FunctionDescriptor pipe$descriptor() {
        return pipe.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int pipe(int __pipedes[2])
     * }
     */
    public static MethodHandle pipe$handle() {
        return pipe.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int pipe(int __pipedes[2])
     * }
     */
    public static MemorySegment pipe$address() {
        return pipe.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int pipe(int __pipedes[2])
     * }
     */
    public static int pipe(MemorySegment __pipedes) {
        var mh$ = pipe.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pipe", __pipedes);
            }
            return (int)mh$.invokeExact(__pipedes);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class alarm {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("alarm");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned int alarm(unsigned int __seconds)
     * }
     */
    public static FunctionDescriptor alarm$descriptor() {
        return alarm.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned int alarm(unsigned int __seconds)
     * }
     */
    public static MethodHandle alarm$handle() {
        return alarm.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned int alarm(unsigned int __seconds)
     * }
     */
    public static MemorySegment alarm$address() {
        return alarm.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned int alarm(unsigned int __seconds)
     * }
     */
    public static int alarm(int __seconds) {
        var mh$ = alarm.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("alarm", __seconds);
            }
            return (int)mh$.invokeExact(__seconds);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class sleep {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("sleep");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern unsigned int sleep(unsigned int __seconds)
     * }
     */
    public static FunctionDescriptor sleep$descriptor() {
        return sleep.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern unsigned int sleep(unsigned int __seconds)
     * }
     */
    public static MethodHandle sleep$handle() {
        return sleep.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern unsigned int sleep(unsigned int __seconds)
     * }
     */
    public static MemorySegment sleep$address() {
        return sleep.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern unsigned int sleep(unsigned int __seconds)
     * }
     */
    public static int sleep(int __seconds) {
        var mh$ = sleep.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("sleep", __seconds);
            }
            return (int)mh$.invokeExact(__seconds);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class ualarm {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("ualarm");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __useconds_t ualarm(__useconds_t __value, __useconds_t __interval)
     * }
     */
    public static FunctionDescriptor ualarm$descriptor() {
        return ualarm.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __useconds_t ualarm(__useconds_t __value, __useconds_t __interval)
     * }
     */
    public static MethodHandle ualarm$handle() {
        return ualarm.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __useconds_t ualarm(__useconds_t __value, __useconds_t __interval)
     * }
     */
    public static MemorySegment ualarm$address() {
        return ualarm.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __useconds_t ualarm(__useconds_t __value, __useconds_t __interval)
     * }
     */
    public static int ualarm(int __value, int __interval) {
        var mh$ = ualarm.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("ualarm", __value, __interval);
            }
            return (int)mh$.invokeExact(__value, __interval);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class usleep {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("usleep");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int usleep(__useconds_t __useconds)
     * }
     */
    public static FunctionDescriptor usleep$descriptor() {
        return usleep.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int usleep(__useconds_t __useconds)
     * }
     */
    public static MethodHandle usleep$handle() {
        return usleep.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int usleep(__useconds_t __useconds)
     * }
     */
    public static MemorySegment usleep$address() {
        return usleep.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int usleep(__useconds_t __useconds)
     * }
     */
    public static int usleep(int __useconds) {
        var mh$ = usleep.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("usleep", __useconds);
            }
            return (int)mh$.invokeExact(__useconds);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class pause {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("pause");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int pause()
     * }
     */
    public static FunctionDescriptor pause$descriptor() {
        return pause.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int pause()
     * }
     */
    public static MethodHandle pause$handle() {
        return pause.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int pause()
     * }
     */
    public static MemorySegment pause$address() {
        return pause.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int pause()
     * }
     */
    public static int pause() {
        var mh$ = pause.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pause");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class chown {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("chown");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int chown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static FunctionDescriptor chown$descriptor() {
        return chown.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int chown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MethodHandle chown$handle() {
        return chown.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int chown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MemorySegment chown$address() {
        return chown.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int chown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static int chown(MemorySegment __file, int __owner, int __group) {
        var mh$ = chown.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("chown", __file, __owner, __group);
            }
            return (int)mh$.invokeExact(__file, __owner, __group);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fchown {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fchown");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fchown(int __fd, __uid_t __owner, __gid_t __group)
     * }
     */
    public static FunctionDescriptor fchown$descriptor() {
        return fchown.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fchown(int __fd, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MethodHandle fchown$handle() {
        return fchown.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fchown(int __fd, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MemorySegment fchown$address() {
        return fchown.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fchown(int __fd, __uid_t __owner, __gid_t __group)
     * }
     */
    public static int fchown(int __fd, int __owner, int __group) {
        var mh$ = fchown.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fchown", __fd, __owner, __group);
            }
            return (int)mh$.invokeExact(__fd, __owner, __group);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class lchown {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("lchown");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int lchown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static FunctionDescriptor lchown$descriptor() {
        return lchown.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int lchown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MethodHandle lchown$handle() {
        return lchown.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int lchown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static MemorySegment lchown$address() {
        return lchown.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int lchown(const char *__file, __uid_t __owner, __gid_t __group)
     * }
     */
    public static int lchown(MemorySegment __file, int __owner, int __group) {
        var mh$ = lchown.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("lchown", __file, __owner, __group);
            }
            return (int)mh$.invokeExact(__file, __owner, __group);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fchownat {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fchownat");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fchownat(int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag)
     * }
     */
    public static FunctionDescriptor fchownat$descriptor() {
        return fchownat.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fchownat(int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag)
     * }
     */
    public static MethodHandle fchownat$handle() {
        return fchownat.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fchownat(int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag)
     * }
     */
    public static MemorySegment fchownat$address() {
        return fchownat.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fchownat(int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag)
     * }
     */
    public static int fchownat(int __fd, MemorySegment __file, int __owner, int __group, int __flag) {
        var mh$ = fchownat.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fchownat", __fd, __file, __owner, __group, __flag);
            }
            return (int)mh$.invokeExact(__fd, __file, __owner, __group, __flag);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class chdir {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("chdir");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int chdir(const char *__path)
     * }
     */
    public static FunctionDescriptor chdir$descriptor() {
        return chdir.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int chdir(const char *__path)
     * }
     */
    public static MethodHandle chdir$handle() {
        return chdir.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int chdir(const char *__path)
     * }
     */
    public static MemorySegment chdir$address() {
        return chdir.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int chdir(const char *__path)
     * }
     */
    public static int chdir(MemorySegment __path) {
        var mh$ = chdir.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("chdir", __path);
            }
            return (int)mh$.invokeExact(__path);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fchdir {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fchdir");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fchdir(int __fd)
     * }
     */
    public static FunctionDescriptor fchdir$descriptor() {
        return fchdir.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fchdir(int __fd)
     * }
     */
    public static MethodHandle fchdir$handle() {
        return fchdir.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fchdir(int __fd)
     * }
     */
    public static MemorySegment fchdir$address() {
        return fchdir.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fchdir(int __fd)
     * }
     */
    public static int fchdir(int __fd) {
        var mh$ = fchdir.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fchdir", __fd);
            }
            return (int)mh$.invokeExact(__fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getcwd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getcwd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *getcwd(char *__buf, size_t __size)
     * }
     */
    public static FunctionDescriptor getcwd$descriptor() {
        return getcwd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *getcwd(char *__buf, size_t __size)
     * }
     */
    public static MethodHandle getcwd$handle() {
        return getcwd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *getcwd(char *__buf, size_t __size)
     * }
     */
    public static MemorySegment getcwd$address() {
        return getcwd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *getcwd(char *__buf, size_t __size)
     * }
     */
    public static MemorySegment getcwd(MemorySegment __buf, long __size) {
        var mh$ = getcwd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getcwd", __buf, __size);
            }
            return (MemorySegment)mh$.invokeExact(__buf, __size);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getwd {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("getwd");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern char *getwd(char *__buf)
     * }
     */
    public static FunctionDescriptor getwd$descriptor() {
        return getwd.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern char *getwd(char *__buf)
     * }
     */
    public static MethodHandle getwd$handle() {
        return getwd.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern char *getwd(char *__buf)
     * }
     */
    public static MemorySegment getwd$address() {
        return getwd.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern char *getwd(char *__buf)
     * }
     */
    public static MemorySegment getwd(MemorySegment __buf) {
        var mh$ = getwd.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getwd", __buf);
            }
            return (MemorySegment)mh$.invokeExact(__buf);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class dup {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("dup");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int dup(int __fd)
     * }
     */
    public static FunctionDescriptor dup$descriptor() {
        return dup.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int dup(int __fd)
     * }
     */
    public static MethodHandle dup$handle() {
        return dup.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int dup(int __fd)
     * }
     */
    public static MemorySegment dup$address() {
        return dup.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int dup(int __fd)
     * }
     */
    public static int dup(int __fd) {
        var mh$ = dup.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("dup", __fd);
            }
            return (int)mh$.invokeExact(__fd);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class dup2 {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("dup2");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int dup2(int __fd, int __fd2)
     * }
     */
    public static FunctionDescriptor dup2$descriptor() {
        return dup2.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int dup2(int __fd, int __fd2)
     * }
     */
    public static MethodHandle dup2$handle() {
        return dup2.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int dup2(int __fd, int __fd2)
     * }
     */
    public static MemorySegment dup2$address() {
        return dup2.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int dup2(int __fd, int __fd2)
     * }
     */
    public static int dup2(int __fd, int __fd2) {
        var mh$ = dup2.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("dup2", __fd, __fd2);
            }
            return (int)mh$.invokeExact(__fd, __fd2);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __environ$constants {
        public static final AddressLayout LAYOUT = Lib.C_POINTER;
        public static final MemorySegment SEGMENT = Lib.findOrThrow("__environ").reinterpret(LAYOUT.byteSize());
    }

    /**
     * Layout for variable:
     * {@snippet lang=c :
     * extern char **__environ
     * }
     */
    public static AddressLayout __environ$layout() {
        return __environ$constants.LAYOUT;
    }

    /**
     * Segment for variable:
     * {@snippet lang=c :
     * extern char **__environ
     * }
     */
    public static MemorySegment __environ$segment() {
        return __environ$constants.SEGMENT;
    }

    /**
     * Getter for variable:
     * {@snippet lang=c :
     * extern char **__environ
     * }
     */
    public static MemorySegment __environ() {
        return __environ$constants.SEGMENT.get(__environ$constants.LAYOUT, 0L);
    }

    /**
     * Setter for variable:
     * {@snippet lang=c :
     * extern char **__environ
     * }
     */
    public static void __environ(MemorySegment varValue) {
        __environ$constants.SEGMENT.set(__environ$constants.LAYOUT, 0L, varValue);
    }

    private static class execve {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("execve");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int execve(const char *__path, char *const __argv[], char *const __envp[])
     * }
     */
    public static FunctionDescriptor execve$descriptor() {
        return execve.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int execve(const char *__path, char *const __argv[], char *const __envp[])
     * }
     */
    public static MethodHandle execve$handle() {
        return execve.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int execve(const char *__path, char *const __argv[], char *const __envp[])
     * }
     */
    public static MemorySegment execve$address() {
        return execve.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int execve(const char *__path, char *const __argv[], char *const __envp[])
     * }
     */
    public static int execve(MemorySegment __path, MemorySegment __argv, MemorySegment __envp) {
        var mh$ = execve.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("execve", __path, __argv, __envp);
            }
            return (int)mh$.invokeExact(__path, __argv, __envp);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fexecve {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fexecve");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int fexecve(int __fd, char *const __argv[], char *const __envp[])
     * }
     */
    public static FunctionDescriptor fexecve$descriptor() {
        return fexecve.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int fexecve(int __fd, char *const __argv[], char *const __envp[])
     * }
     */
    public static MethodHandle fexecve$handle() {
        return fexecve.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int fexecve(int __fd, char *const __argv[], char *const __envp[])
     * }
     */
    public static MemorySegment fexecve$address() {
        return fexecve.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int fexecve(int __fd, char *const __argv[], char *const __envp[])
     * }
     */
    public static int fexecve(int __fd, MemorySegment __argv, MemorySegment __envp) {
        var mh$ = fexecve.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fexecve", __fd, __argv, __envp);
            }
            return (int)mh$.invokeExact(__fd, __argv, __envp);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class execv {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("execv");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int execv(const char *__path, char *const __argv[])
     * }
     */
    public static FunctionDescriptor execv$descriptor() {
        return execv.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int execv(const char *__path, char *const __argv[])
     * }
     */
    public static MethodHandle execv$handle() {
        return execv.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int execv(const char *__path, char *const __argv[])
     * }
     */
    public static MemorySegment execv$address() {
        return execv.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int execv(const char *__path, char *const __argv[])
     * }
     */
    public static int execv(MemorySegment __path, MemorySegment __argv) {
        var mh$ = execv.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("execv", __path, __argv);
            }
            return (int)mh$.invokeExact(__path, __argv);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int execle(const char *__path, const char *__arg, ...)
     * }
     */
    public static class execle {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("execle");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private execle(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int execle(const char *__path, const char *__arg, ...)
         * }
         */
        public static execle makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new execle(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __path, MemorySegment __arg, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("execle", __path, __arg, x2);
                }
                return (int)spreader.invokeExact(__path, __arg, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int execl(const char *__path, const char *__arg, ...)
     * }
     */
    public static class execl {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("execl");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private execl(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int execl(const char *__path, const char *__arg, ...)
         * }
         */
        public static execl makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new execl(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __path, MemorySegment __arg, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("execl", __path, __arg, x2);
                }
                return (int)spreader.invokeExact(__path, __arg, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static class execvp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_POINTER
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("execvp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int execvp(const char *__file, char *const __argv[])
     * }
     */
    public static FunctionDescriptor execvp$descriptor() {
        return execvp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int execvp(const char *__file, char *const __argv[])
     * }
     */
    public static MethodHandle execvp$handle() {
        return execvp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int execvp(const char *__file, char *const __argv[])
     * }
     */
    public static MemorySegment execvp$address() {
        return execvp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int execvp(const char *__file, char *const __argv[])
     * }
     */
    public static int execvp(MemorySegment __file, MemorySegment __argv) {
        var mh$ = execvp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("execvp", __file, __argv);
            }
            return (int)mh$.invokeExact(__file, __argv);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    /**
     * Variadic invoker class for:
     * {@snippet lang=c :
     * extern int execlp(const char *__file, const char *__arg, ...)
     * }
     */
    public static class execlp {
        private static final FunctionDescriptor BASE_DESC = FunctionDescriptor.of(
                Lib.C_INT,
                Lib.C_POINTER,
                Lib.C_POINTER
            );
        private static final MemorySegment ADDR = Lib.findOrThrow("execlp");

        private final MethodHandle handle;
        private final FunctionDescriptor descriptor;
        private final MethodHandle spreader;

        private execlp(MethodHandle handle, FunctionDescriptor descriptor, MethodHandle spreader) {
            this.handle = handle;
            this.descriptor = descriptor;
            this.spreader = spreader;
        }

        /**
         * Variadic invoker factory for:
         * {@snippet lang=c :
         * extern int execlp(const char *__file, const char *__arg, ...)
         * }
         */
        public static execlp makeInvoker(MemoryLayout... layouts) {
            FunctionDescriptor desc$ = BASE_DESC.appendArgumentLayouts(layouts);
            Linker.Option fva$ = Linker.Option.firstVariadicArg(BASE_DESC.argumentLayouts().size());
            var mh$ = Linker.nativeLinker().downcallHandle(ADDR, desc$, fva$);
            var spreader$ = mh$.asSpreader(Object[].class, layouts.length);
            return new execlp(mh$, desc$, spreader$);
        }

        /**
         * {@return the address}
         */
        public static MemorySegment address() {
            return ADDR;
        }

        /**
         * {@return the specialized method handle}
         */
        public MethodHandle handle() {
            return handle;
        }

        /**
         * {@return the specialized descriptor}
         */
        public FunctionDescriptor descriptor() {
            return descriptor;
        }

        public int apply(MemorySegment __file, MemorySegment __arg, Object... x2) {
            try {
                if (TRACE_DOWNCALLS) {
                    traceDowncall("execlp", __file, __arg, x2);
                }
                return (int)spreader.invokeExact(__file, __arg, x2);
            } catch(IllegalArgumentException | ClassCastException ex$)  {
                throw ex$; // rethrow IAE from passing wrong number/type of args
            } catch (Throwable ex$) {
               throw new AssertionError("should not reach here", ex$);
            }
        }
    }

    private static class nice {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("nice");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern int nice(int __inc)
     * }
     */
    public static FunctionDescriptor nice$descriptor() {
        return nice.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern int nice(int __inc)
     * }
     */
    public static MethodHandle nice$handle() {
        return nice.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern int nice(int __inc)
     * }
     */
    public static MemorySegment nice$address() {
        return nice.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern int nice(int __inc)
     * }
     */
    public static int nice(int __inc) {
        var mh$ = nice.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("nice", __inc);
            }
            return (int)mh$.invokeExact(__inc);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class _exit {
        public static final FunctionDescriptor DESC = FunctionDescriptor.ofVoid(
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("_exit");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern void _exit(int __status)
     * }
     */
    public static FunctionDescriptor _exit$descriptor() {
        return _exit.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern void _exit(int __status)
     * }
     */
    public static MethodHandle _exit$handle() {
        return _exit.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern void _exit(int __status)
     * }
     */
    public static MemorySegment _exit$address() {
        return _exit.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern void _exit(int __status)
     * }
     */
    public static void _exit(int __status) {
        var mh$ = _exit.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("_exit", __status);
            }
            mh$.invokeExact(__status);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
    private static final int _PC_LINK_MAX = (int)0L;
    /**
     * {@snippet lang=c :
     * enum ._PC_LINK_MAX = 0
     * }
     */
    public static int _PC_LINK_MAX() {
        return _PC_LINK_MAX;
    }
    private static final int _PC_MAX_CANON = (int)1L;
    /**
     * {@snippet lang=c :
     * enum ._PC_MAX_CANON = 1
     * }
     */
    public static int _PC_MAX_CANON() {
        return _PC_MAX_CANON;
    }
    private static final int _PC_MAX_INPUT = (int)2L;
    /**
     * {@snippet lang=c :
     * enum ._PC_MAX_INPUT = 2
     * }
     */
    public static int _PC_MAX_INPUT() {
        return _PC_MAX_INPUT;
    }
    private static final int _PC_NAME_MAX = (int)3L;
    /**
     * {@snippet lang=c :
     * enum ._PC_NAME_MAX = 3
     * }
     */
    public static int _PC_NAME_MAX() {
        return _PC_NAME_MAX;
    }
    private static final int _PC_PATH_MAX = (int)4L;
    /**
     * {@snippet lang=c :
     * enum ._PC_PATH_MAX = 4
     * }
     */
    public static int _PC_PATH_MAX() {
        return _PC_PATH_MAX;
    }
    private static final int _PC_PIPE_BUF = (int)5L;
    /**
     * {@snippet lang=c :
     * enum ._PC_PIPE_BUF = 5
     * }
     */
    public static int _PC_PIPE_BUF() {
        return _PC_PIPE_BUF;
    }
    private static final int _PC_CHOWN_RESTRICTED = (int)6L;
    /**
     * {@snippet lang=c :
     * enum ._PC_CHOWN_RESTRICTED = 6
     * }
     */
    public static int _PC_CHOWN_RESTRICTED() {
        return _PC_CHOWN_RESTRICTED;
    }
    private static final int _PC_NO_TRUNC = (int)7L;
    /**
     * {@snippet lang=c :
     * enum ._PC_NO_TRUNC = 7
     * }
     */
    public static int _PC_NO_TRUNC() {
        return _PC_NO_TRUNC;
    }
    private static final int _PC_VDISABLE = (int)8L;
    /**
     * {@snippet lang=c :
     * enum ._PC_VDISABLE = 8
     * }
     */
    public static int _PC_VDISABLE() {
        return _PC_VDISABLE;
    }
    private static final int _PC_SYNC_IO = (int)9L;
    /**
     * {@snippet lang=c :
     * enum ._PC_SYNC_IO = 9
     * }
     */
    public static int _PC_SYNC_IO() {
        return _PC_SYNC_IO;
    }
    private static final int _PC_ASYNC_IO = (int)10L;
    /**
     * {@snippet lang=c :
     * enum ._PC_ASYNC_IO = 10
     * }
     */
    public static int _PC_ASYNC_IO() {
        return _PC_ASYNC_IO;
    }
    private static final int _PC_PRIO_IO = (int)11L;
    /**
     * {@snippet lang=c :
     * enum ._PC_PRIO_IO = 11
     * }
     */
    public static int _PC_PRIO_IO() {
        return _PC_PRIO_IO;
    }
    private static final int _PC_SOCK_MAXBUF = (int)12L;
    /**
     * {@snippet lang=c :
     * enum ._PC_SOCK_MAXBUF = 12
     * }
     */
    public static int _PC_SOCK_MAXBUF() {
        return _PC_SOCK_MAXBUF;
    }
    private static final int _PC_FILESIZEBITS = (int)13L;
    /**
     * {@snippet lang=c :
     * enum ._PC_FILESIZEBITS = 13
     * }
     */
    public static int _PC_FILESIZEBITS() {
        return _PC_FILESIZEBITS;
    }
    private static final int _PC_REC_INCR_XFER_SIZE = (int)14L;
    /**
     * {@snippet lang=c :
     * enum ._PC_REC_INCR_XFER_SIZE = 14
     * }
     */
    public static int _PC_REC_INCR_XFER_SIZE() {
        return _PC_REC_INCR_XFER_SIZE;
    }
    private static final int _PC_REC_MAX_XFER_SIZE = (int)15L;
    /**
     * {@snippet lang=c :
     * enum ._PC_REC_MAX_XFER_SIZE = 15
     * }
     */
    public static int _PC_REC_MAX_XFER_SIZE() {
        return _PC_REC_MAX_XFER_SIZE;
    }
    private static final int _PC_REC_MIN_XFER_SIZE = (int)16L;
    /**
     * {@snippet lang=c :
     * enum ._PC_REC_MIN_XFER_SIZE = 16
     * }
     */
    public static int _PC_REC_MIN_XFER_SIZE() {
        return _PC_REC_MIN_XFER_SIZE;
    }
    private static final int _PC_REC_XFER_ALIGN = (int)17L;
    /**
     * {@snippet lang=c :
     * enum ._PC_REC_XFER_ALIGN = 17
     * }
     */
    public static int _PC_REC_XFER_ALIGN() {
        return _PC_REC_XFER_ALIGN;
    }
    private static final int _PC_ALLOC_SIZE_MIN = (int)18L;
    /**
     * {@snippet lang=c :
     * enum ._PC_ALLOC_SIZE_MIN = 18
     * }
     */
    public static int _PC_ALLOC_SIZE_MIN() {
        return _PC_ALLOC_SIZE_MIN;
    }
    private static final int _PC_SYMLINK_MAX = (int)19L;
    /**
     * {@snippet lang=c :
     * enum ._PC_SYMLINK_MAX = 19
     * }
     */
    public static int _PC_SYMLINK_MAX() {
        return _PC_SYMLINK_MAX;
    }
    private static final int _PC_2_SYMLINKS = (int)20L;
    /**
     * {@snippet lang=c :
     * enum ._PC_2_SYMLINKS = 20
     * }
     */
    public static int _PC_2_SYMLINKS() {
        return _PC_2_SYMLINKS;
    }
    private static final int _SC_ARG_MAX = (int)0L;
    /**
     * {@snippet lang=c :
     * enum ._SC_ARG_MAX = 0
     * }
     */
    public static int _SC_ARG_MAX() {
        return _SC_ARG_MAX;
    }
    private static final int _SC_CHILD_MAX = (int)1L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CHILD_MAX = 1
     * }
     */
    public static int _SC_CHILD_MAX() {
        return _SC_CHILD_MAX;
    }
    private static final int _SC_CLK_TCK = (int)2L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CLK_TCK = 2
     * }
     */
    public static int _SC_CLK_TCK() {
        return _SC_CLK_TCK;
    }
    private static final int _SC_NGROUPS_MAX = (int)3L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NGROUPS_MAX = 3
     * }
     */
    public static int _SC_NGROUPS_MAX() {
        return _SC_NGROUPS_MAX;
    }
    private static final int _SC_OPEN_MAX = (int)4L;
    /**
     * {@snippet lang=c :
     * enum ._SC_OPEN_MAX = 4
     * }
     */
    public static int _SC_OPEN_MAX() {
        return _SC_OPEN_MAX;
    }
    private static final int _SC_STREAM_MAX = (int)5L;
    /**
     * {@snippet lang=c :
     * enum ._SC_STREAM_MAX = 5
     * }
     */
    public static int _SC_STREAM_MAX() {
        return _SC_STREAM_MAX;
    }
    private static final int _SC_TZNAME_MAX = (int)6L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TZNAME_MAX = 6
     * }
     */
    public static int _SC_TZNAME_MAX() {
        return _SC_TZNAME_MAX;
    }
    private static final int _SC_JOB_CONTROL = (int)7L;
    /**
     * {@snippet lang=c :
     * enum ._SC_JOB_CONTROL = 7
     * }
     */
    public static int _SC_JOB_CONTROL() {
        return _SC_JOB_CONTROL;
    }
    private static final int _SC_SAVED_IDS = (int)8L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SAVED_IDS = 8
     * }
     */
    public static int _SC_SAVED_IDS() {
        return _SC_SAVED_IDS;
    }
    private static final int _SC_REALTIME_SIGNALS = (int)9L;
    /**
     * {@snippet lang=c :
     * enum ._SC_REALTIME_SIGNALS = 9
     * }
     */
    public static int _SC_REALTIME_SIGNALS() {
        return _SC_REALTIME_SIGNALS;
    }
    private static final int _SC_PRIORITY_SCHEDULING = (int)10L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PRIORITY_SCHEDULING = 10
     * }
     */
    public static int _SC_PRIORITY_SCHEDULING() {
        return _SC_PRIORITY_SCHEDULING;
    }
    private static final int _SC_TIMERS = (int)11L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TIMERS = 11
     * }
     */
    public static int _SC_TIMERS() {
        return _SC_TIMERS;
    }
    private static final int _SC_ASYNCHRONOUS_IO = (int)12L;
    /**
     * {@snippet lang=c :
     * enum ._SC_ASYNCHRONOUS_IO = 12
     * }
     */
    public static int _SC_ASYNCHRONOUS_IO() {
        return _SC_ASYNCHRONOUS_IO;
    }
    private static final int _SC_PRIORITIZED_IO = (int)13L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PRIORITIZED_IO = 13
     * }
     */
    public static int _SC_PRIORITIZED_IO() {
        return _SC_PRIORITIZED_IO;
    }
    private static final int _SC_SYNCHRONIZED_IO = (int)14L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SYNCHRONIZED_IO = 14
     * }
     */
    public static int _SC_SYNCHRONIZED_IO() {
        return _SC_SYNCHRONIZED_IO;
    }
    private static final int _SC_FSYNC = (int)15L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FSYNC = 15
     * }
     */
    public static int _SC_FSYNC() {
        return _SC_FSYNC;
    }
    private static final int _SC_MAPPED_FILES = (int)16L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MAPPED_FILES = 16
     * }
     */
    public static int _SC_MAPPED_FILES() {
        return _SC_MAPPED_FILES;
    }
    private static final int _SC_MEMLOCK = (int)17L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MEMLOCK = 17
     * }
     */
    public static int _SC_MEMLOCK() {
        return _SC_MEMLOCK;
    }
    private static final int _SC_MEMLOCK_RANGE = (int)18L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MEMLOCK_RANGE = 18
     * }
     */
    public static int _SC_MEMLOCK_RANGE() {
        return _SC_MEMLOCK_RANGE;
    }
    private static final int _SC_MEMORY_PROTECTION = (int)19L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MEMORY_PROTECTION = 19
     * }
     */
    public static int _SC_MEMORY_PROTECTION() {
        return _SC_MEMORY_PROTECTION;
    }
    private static final int _SC_MESSAGE_PASSING = (int)20L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MESSAGE_PASSING = 20
     * }
     */
    public static int _SC_MESSAGE_PASSING() {
        return _SC_MESSAGE_PASSING;
    }
    private static final int _SC_SEMAPHORES = (int)21L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SEMAPHORES = 21
     * }
     */
    public static int _SC_SEMAPHORES() {
        return _SC_SEMAPHORES;
    }
    private static final int _SC_SHARED_MEMORY_OBJECTS = (int)22L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SHARED_MEMORY_OBJECTS = 22
     * }
     */
    public static int _SC_SHARED_MEMORY_OBJECTS() {
        return _SC_SHARED_MEMORY_OBJECTS;
    }
    private static final int _SC_AIO_LISTIO_MAX = (int)23L;
    /**
     * {@snippet lang=c :
     * enum ._SC_AIO_LISTIO_MAX = 23
     * }
     */
    public static int _SC_AIO_LISTIO_MAX() {
        return _SC_AIO_LISTIO_MAX;
    }
    private static final int _SC_AIO_MAX = (int)24L;
    /**
     * {@snippet lang=c :
     * enum ._SC_AIO_MAX = 24
     * }
     */
    public static int _SC_AIO_MAX() {
        return _SC_AIO_MAX;
    }
    private static final int _SC_AIO_PRIO_DELTA_MAX = (int)25L;
    /**
     * {@snippet lang=c :
     * enum ._SC_AIO_PRIO_DELTA_MAX = 25
     * }
     */
    public static int _SC_AIO_PRIO_DELTA_MAX() {
        return _SC_AIO_PRIO_DELTA_MAX;
    }
    private static final int _SC_DELAYTIMER_MAX = (int)26L;
    /**
     * {@snippet lang=c :
     * enum ._SC_DELAYTIMER_MAX = 26
     * }
     */
    public static int _SC_DELAYTIMER_MAX() {
        return _SC_DELAYTIMER_MAX;
    }
    private static final int _SC_MQ_OPEN_MAX = (int)27L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MQ_OPEN_MAX = 27
     * }
     */
    public static int _SC_MQ_OPEN_MAX() {
        return _SC_MQ_OPEN_MAX;
    }
    private static final int _SC_MQ_PRIO_MAX = (int)28L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MQ_PRIO_MAX = 28
     * }
     */
    public static int _SC_MQ_PRIO_MAX() {
        return _SC_MQ_PRIO_MAX;
    }
    private static final int _SC_VERSION = (int)29L;
    /**
     * {@snippet lang=c :
     * enum ._SC_VERSION = 29
     * }
     */
    public static int _SC_VERSION() {
        return _SC_VERSION;
    }
    private static final int _SC_PAGESIZE = (int)30L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PAGESIZE = 30
     * }
     */
    public static int _SC_PAGESIZE() {
        return _SC_PAGESIZE;
    }
    private static final int _SC_RTSIG_MAX = (int)31L;
    /**
     * {@snippet lang=c :
     * enum ._SC_RTSIG_MAX = 31
     * }
     */
    public static int _SC_RTSIG_MAX() {
        return _SC_RTSIG_MAX;
    }
    private static final int _SC_SEM_NSEMS_MAX = (int)32L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SEM_NSEMS_MAX = 32
     * }
     */
    public static int _SC_SEM_NSEMS_MAX() {
        return _SC_SEM_NSEMS_MAX;
    }
    private static final int _SC_SEM_VALUE_MAX = (int)33L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SEM_VALUE_MAX = 33
     * }
     */
    public static int _SC_SEM_VALUE_MAX() {
        return _SC_SEM_VALUE_MAX;
    }
    private static final int _SC_SIGQUEUE_MAX = (int)34L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SIGQUEUE_MAX = 34
     * }
     */
    public static int _SC_SIGQUEUE_MAX() {
        return _SC_SIGQUEUE_MAX;
    }
    private static final int _SC_TIMER_MAX = (int)35L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TIMER_MAX = 35
     * }
     */
    public static int _SC_TIMER_MAX() {
        return _SC_TIMER_MAX;
    }
    private static final int _SC_BC_BASE_MAX = (int)36L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BC_BASE_MAX = 36
     * }
     */
    public static int _SC_BC_BASE_MAX() {
        return _SC_BC_BASE_MAX;
    }
    private static final int _SC_BC_DIM_MAX = (int)37L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BC_DIM_MAX = 37
     * }
     */
    public static int _SC_BC_DIM_MAX() {
        return _SC_BC_DIM_MAX;
    }
    private static final int _SC_BC_SCALE_MAX = (int)38L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BC_SCALE_MAX = 38
     * }
     */
    public static int _SC_BC_SCALE_MAX() {
        return _SC_BC_SCALE_MAX;
    }
    private static final int _SC_BC_STRING_MAX = (int)39L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BC_STRING_MAX = 39
     * }
     */
    public static int _SC_BC_STRING_MAX() {
        return _SC_BC_STRING_MAX;
    }
    private static final int _SC_COLL_WEIGHTS_MAX = (int)40L;
    /**
     * {@snippet lang=c :
     * enum ._SC_COLL_WEIGHTS_MAX = 40
     * }
     */
    public static int _SC_COLL_WEIGHTS_MAX() {
        return _SC_COLL_WEIGHTS_MAX;
    }
    private static final int _SC_EQUIV_CLASS_MAX = (int)41L;
    /**
     * {@snippet lang=c :
     * enum ._SC_EQUIV_CLASS_MAX = 41
     * }
     */
    public static int _SC_EQUIV_CLASS_MAX() {
        return _SC_EQUIV_CLASS_MAX;
    }
    private static final int _SC_EXPR_NEST_MAX = (int)42L;
    /**
     * {@snippet lang=c :
     * enum ._SC_EXPR_NEST_MAX = 42
     * }
     */
    public static int _SC_EXPR_NEST_MAX() {
        return _SC_EXPR_NEST_MAX;
    }
    private static final int _SC_LINE_MAX = (int)43L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LINE_MAX = 43
     * }
     */
    public static int _SC_LINE_MAX() {
        return _SC_LINE_MAX;
    }
    private static final int _SC_RE_DUP_MAX = (int)44L;
    /**
     * {@snippet lang=c :
     * enum ._SC_RE_DUP_MAX = 44
     * }
     */
    public static int _SC_RE_DUP_MAX() {
        return _SC_RE_DUP_MAX;
    }
    private static final int _SC_CHARCLASS_NAME_MAX = (int)45L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CHARCLASS_NAME_MAX = 45
     * }
     */
    public static int _SC_CHARCLASS_NAME_MAX() {
        return _SC_CHARCLASS_NAME_MAX;
    }
    private static final int _SC_2_VERSION = (int)46L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_VERSION = 46
     * }
     */
    public static int _SC_2_VERSION() {
        return _SC_2_VERSION;
    }
    private static final int _SC_2_C_BIND = (int)47L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_C_BIND = 47
     * }
     */
    public static int _SC_2_C_BIND() {
        return _SC_2_C_BIND;
    }
    private static final int _SC_2_C_DEV = (int)48L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_C_DEV = 48
     * }
     */
    public static int _SC_2_C_DEV() {
        return _SC_2_C_DEV;
    }
    private static final int _SC_2_FORT_DEV = (int)49L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_FORT_DEV = 49
     * }
     */
    public static int _SC_2_FORT_DEV() {
        return _SC_2_FORT_DEV;
    }
    private static final int _SC_2_FORT_RUN = (int)50L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_FORT_RUN = 50
     * }
     */
    public static int _SC_2_FORT_RUN() {
        return _SC_2_FORT_RUN;
    }
    private static final int _SC_2_SW_DEV = (int)51L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_SW_DEV = 51
     * }
     */
    public static int _SC_2_SW_DEV() {
        return _SC_2_SW_DEV;
    }
    private static final int _SC_2_LOCALEDEF = (int)52L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_LOCALEDEF = 52
     * }
     */
    public static int _SC_2_LOCALEDEF() {
        return _SC_2_LOCALEDEF;
    }
    private static final int _SC_PII = (int)53L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII = 53
     * }
     */
    public static int _SC_PII() {
        return _SC_PII;
    }
    private static final int _SC_PII_XTI = (int)54L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_XTI = 54
     * }
     */
    public static int _SC_PII_XTI() {
        return _SC_PII_XTI;
    }
    private static final int _SC_PII_SOCKET = (int)55L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_SOCKET = 55
     * }
     */
    public static int _SC_PII_SOCKET() {
        return _SC_PII_SOCKET;
    }
    private static final int _SC_PII_INTERNET = (int)56L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_INTERNET = 56
     * }
     */
    public static int _SC_PII_INTERNET() {
        return _SC_PII_INTERNET;
    }
    private static final int _SC_PII_OSI = (int)57L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_OSI = 57
     * }
     */
    public static int _SC_PII_OSI() {
        return _SC_PII_OSI;
    }
    private static final int _SC_POLL = (int)58L;
    /**
     * {@snippet lang=c :
     * enum ._SC_POLL = 58
     * }
     */
    public static int _SC_POLL() {
        return _SC_POLL;
    }
    private static final int _SC_SELECT = (int)59L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SELECT = 59
     * }
     */
    public static int _SC_SELECT() {
        return _SC_SELECT;
    }
    private static final int _SC_UIO_MAXIOV = (int)60L;
    /**
     * {@snippet lang=c :
     * enum ._SC_UIO_MAXIOV = 60
     * }
     */
    public static int _SC_UIO_MAXIOV() {
        return _SC_UIO_MAXIOV;
    }
    private static final int _SC_IOV_MAX = (int)60L;
    /**
     * {@snippet lang=c :
     * enum ._SC_IOV_MAX = 60
     * }
     */
    public static int _SC_IOV_MAX() {
        return _SC_IOV_MAX;
    }
    private static final int _SC_PII_INTERNET_STREAM = (int)61L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_INTERNET_STREAM = 61
     * }
     */
    public static int _SC_PII_INTERNET_STREAM() {
        return _SC_PII_INTERNET_STREAM;
    }
    private static final int _SC_PII_INTERNET_DGRAM = (int)62L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_INTERNET_DGRAM = 62
     * }
     */
    public static int _SC_PII_INTERNET_DGRAM() {
        return _SC_PII_INTERNET_DGRAM;
    }
    private static final int _SC_PII_OSI_COTS = (int)63L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_OSI_COTS = 63
     * }
     */
    public static int _SC_PII_OSI_COTS() {
        return _SC_PII_OSI_COTS;
    }
    private static final int _SC_PII_OSI_CLTS = (int)64L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_OSI_CLTS = 64
     * }
     */
    public static int _SC_PII_OSI_CLTS() {
        return _SC_PII_OSI_CLTS;
    }
    private static final int _SC_PII_OSI_M = (int)65L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PII_OSI_M = 65
     * }
     */
    public static int _SC_PII_OSI_M() {
        return _SC_PII_OSI_M;
    }
    private static final int _SC_T_IOV_MAX = (int)66L;
    /**
     * {@snippet lang=c :
     * enum ._SC_T_IOV_MAX = 66
     * }
     */
    public static int _SC_T_IOV_MAX() {
        return _SC_T_IOV_MAX;
    }
    private static final int _SC_THREADS = (int)67L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREADS = 67
     * }
     */
    public static int _SC_THREADS() {
        return _SC_THREADS;
    }
    private static final int _SC_THREAD_SAFE_FUNCTIONS = (int)68L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_SAFE_FUNCTIONS = 68
     * }
     */
    public static int _SC_THREAD_SAFE_FUNCTIONS() {
        return _SC_THREAD_SAFE_FUNCTIONS;
    }
    private static final int _SC_GETGR_R_SIZE_MAX = (int)69L;
    /**
     * {@snippet lang=c :
     * enum ._SC_GETGR_R_SIZE_MAX = 69
     * }
     */
    public static int _SC_GETGR_R_SIZE_MAX() {
        return _SC_GETGR_R_SIZE_MAX;
    }
    private static final int _SC_GETPW_R_SIZE_MAX = (int)70L;
    /**
     * {@snippet lang=c :
     * enum ._SC_GETPW_R_SIZE_MAX = 70
     * }
     */
    public static int _SC_GETPW_R_SIZE_MAX() {
        return _SC_GETPW_R_SIZE_MAX;
    }
    private static final int _SC_LOGIN_NAME_MAX = (int)71L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LOGIN_NAME_MAX = 71
     * }
     */
    public static int _SC_LOGIN_NAME_MAX() {
        return _SC_LOGIN_NAME_MAX;
    }
    private static final int _SC_TTY_NAME_MAX = (int)72L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TTY_NAME_MAX = 72
     * }
     */
    public static int _SC_TTY_NAME_MAX() {
        return _SC_TTY_NAME_MAX;
    }
    private static final int _SC_THREAD_DESTRUCTOR_ITERATIONS = (int)73L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_DESTRUCTOR_ITERATIONS = 73
     * }
     */
    public static int _SC_THREAD_DESTRUCTOR_ITERATIONS() {
        return _SC_THREAD_DESTRUCTOR_ITERATIONS;
    }
    private static final int _SC_THREAD_KEYS_MAX = (int)74L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_KEYS_MAX = 74
     * }
     */
    public static int _SC_THREAD_KEYS_MAX() {
        return _SC_THREAD_KEYS_MAX;
    }
    private static final int _SC_THREAD_STACK_MIN = (int)75L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_STACK_MIN = 75
     * }
     */
    public static int _SC_THREAD_STACK_MIN() {
        return _SC_THREAD_STACK_MIN;
    }
    private static final int _SC_THREAD_THREADS_MAX = (int)76L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_THREADS_MAX = 76
     * }
     */
    public static int _SC_THREAD_THREADS_MAX() {
        return _SC_THREAD_THREADS_MAX;
    }
    private static final int _SC_THREAD_ATTR_STACKADDR = (int)77L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_ATTR_STACKADDR = 77
     * }
     */
    public static int _SC_THREAD_ATTR_STACKADDR() {
        return _SC_THREAD_ATTR_STACKADDR;
    }
    private static final int _SC_THREAD_ATTR_STACKSIZE = (int)78L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_ATTR_STACKSIZE = 78
     * }
     */
    public static int _SC_THREAD_ATTR_STACKSIZE() {
        return _SC_THREAD_ATTR_STACKSIZE;
    }
    private static final int _SC_THREAD_PRIORITY_SCHEDULING = (int)79L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_PRIORITY_SCHEDULING = 79
     * }
     */
    public static int _SC_THREAD_PRIORITY_SCHEDULING() {
        return _SC_THREAD_PRIORITY_SCHEDULING;
    }
    private static final int _SC_THREAD_PRIO_INHERIT = (int)80L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_PRIO_INHERIT = 80
     * }
     */
    public static int _SC_THREAD_PRIO_INHERIT() {
        return _SC_THREAD_PRIO_INHERIT;
    }
    private static final int _SC_THREAD_PRIO_PROTECT = (int)81L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_PRIO_PROTECT = 81
     * }
     */
    public static int _SC_THREAD_PRIO_PROTECT() {
        return _SC_THREAD_PRIO_PROTECT;
    }
    private static final int _SC_THREAD_PROCESS_SHARED = (int)82L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_PROCESS_SHARED = 82
     * }
     */
    public static int _SC_THREAD_PROCESS_SHARED() {
        return _SC_THREAD_PROCESS_SHARED;
    }
    private static final int _SC_NPROCESSORS_CONF = (int)83L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NPROCESSORS_CONF = 83
     * }
     */
    public static int _SC_NPROCESSORS_CONF() {
        return _SC_NPROCESSORS_CONF;
    }
    private static final int _SC_NPROCESSORS_ONLN = (int)84L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NPROCESSORS_ONLN = 84
     * }
     */
    public static int _SC_NPROCESSORS_ONLN() {
        return _SC_NPROCESSORS_ONLN;
    }
    private static final int _SC_PHYS_PAGES = (int)85L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PHYS_PAGES = 85
     * }
     */
    public static int _SC_PHYS_PAGES() {
        return _SC_PHYS_PAGES;
    }
    private static final int _SC_AVPHYS_PAGES = (int)86L;
    /**
     * {@snippet lang=c :
     * enum ._SC_AVPHYS_PAGES = 86
     * }
     */
    public static int _SC_AVPHYS_PAGES() {
        return _SC_AVPHYS_PAGES;
    }
    private static final int _SC_ATEXIT_MAX = (int)87L;
    /**
     * {@snippet lang=c :
     * enum ._SC_ATEXIT_MAX = 87
     * }
     */
    public static int _SC_ATEXIT_MAX() {
        return _SC_ATEXIT_MAX;
    }
    private static final int _SC_PASS_MAX = (int)88L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PASS_MAX = 88
     * }
     */
    public static int _SC_PASS_MAX() {
        return _SC_PASS_MAX;
    }
    private static final int _SC_XOPEN_VERSION = (int)89L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_VERSION = 89
     * }
     */
    public static int _SC_XOPEN_VERSION() {
        return _SC_XOPEN_VERSION;
    }
    private static final int _SC_XOPEN_XCU_VERSION = (int)90L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_XCU_VERSION = 90
     * }
     */
    public static int _SC_XOPEN_XCU_VERSION() {
        return _SC_XOPEN_XCU_VERSION;
    }
    private static final int _SC_XOPEN_UNIX = (int)91L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_UNIX = 91
     * }
     */
    public static int _SC_XOPEN_UNIX() {
        return _SC_XOPEN_UNIX;
    }
    private static final int _SC_XOPEN_CRYPT = (int)92L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_CRYPT = 92
     * }
     */
    public static int _SC_XOPEN_CRYPT() {
        return _SC_XOPEN_CRYPT;
    }
    private static final int _SC_XOPEN_ENH_I18N = (int)93L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_ENH_I18N = 93
     * }
     */
    public static int _SC_XOPEN_ENH_I18N() {
        return _SC_XOPEN_ENH_I18N;
    }
    private static final int _SC_XOPEN_SHM = (int)94L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_SHM = 94
     * }
     */
    public static int _SC_XOPEN_SHM() {
        return _SC_XOPEN_SHM;
    }
    private static final int _SC_2_CHAR_TERM = (int)95L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_CHAR_TERM = 95
     * }
     */
    public static int _SC_2_CHAR_TERM() {
        return _SC_2_CHAR_TERM;
    }
    private static final int _SC_2_C_VERSION = (int)96L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_C_VERSION = 96
     * }
     */
    public static int _SC_2_C_VERSION() {
        return _SC_2_C_VERSION;
    }
    private static final int _SC_2_UPE = (int)97L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_UPE = 97
     * }
     */
    public static int _SC_2_UPE() {
        return _SC_2_UPE;
    }
    private static final int _SC_XOPEN_XPG2 = (int)98L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_XPG2 = 98
     * }
     */
    public static int _SC_XOPEN_XPG2() {
        return _SC_XOPEN_XPG2;
    }
    private static final int _SC_XOPEN_XPG3 = (int)99L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_XPG3 = 99
     * }
     */
    public static int _SC_XOPEN_XPG3() {
        return _SC_XOPEN_XPG3;
    }
    private static final int _SC_XOPEN_XPG4 = (int)100L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_XPG4 = 100
     * }
     */
    public static int _SC_XOPEN_XPG4() {
        return _SC_XOPEN_XPG4;
    }
    private static final int _SC_CHAR_BIT = (int)101L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CHAR_BIT = 101
     * }
     */
    public static int _SC_CHAR_BIT() {
        return _SC_CHAR_BIT;
    }
    private static final int _SC_CHAR_MAX = (int)102L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CHAR_MAX = 102
     * }
     */
    public static int _SC_CHAR_MAX() {
        return _SC_CHAR_MAX;
    }
    private static final int _SC_CHAR_MIN = (int)103L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CHAR_MIN = 103
     * }
     */
    public static int _SC_CHAR_MIN() {
        return _SC_CHAR_MIN;
    }
    private static final int _SC_INT_MAX = (int)104L;
    /**
     * {@snippet lang=c :
     * enum ._SC_INT_MAX = 104
     * }
     */
    public static int _SC_INT_MAX() {
        return _SC_INT_MAX;
    }
    private static final int _SC_INT_MIN = (int)105L;
    /**
     * {@snippet lang=c :
     * enum ._SC_INT_MIN = 105
     * }
     */
    public static int _SC_INT_MIN() {
        return _SC_INT_MIN;
    }
    private static final int _SC_LONG_BIT = (int)106L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LONG_BIT = 106
     * }
     */
    public static int _SC_LONG_BIT() {
        return _SC_LONG_BIT;
    }
    private static final int _SC_WORD_BIT = (int)107L;
    /**
     * {@snippet lang=c :
     * enum ._SC_WORD_BIT = 107
     * }
     */
    public static int _SC_WORD_BIT() {
        return _SC_WORD_BIT;
    }
    private static final int _SC_MB_LEN_MAX = (int)108L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MB_LEN_MAX = 108
     * }
     */
    public static int _SC_MB_LEN_MAX() {
        return _SC_MB_LEN_MAX;
    }
    private static final int _SC_NZERO = (int)109L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NZERO = 109
     * }
     */
    public static int _SC_NZERO() {
        return _SC_NZERO;
    }
    private static final int _SC_SSIZE_MAX = (int)110L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SSIZE_MAX = 110
     * }
     */
    public static int _SC_SSIZE_MAX() {
        return _SC_SSIZE_MAX;
    }
    private static final int _SC_SCHAR_MAX = (int)111L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SCHAR_MAX = 111
     * }
     */
    public static int _SC_SCHAR_MAX() {
        return _SC_SCHAR_MAX;
    }
    private static final int _SC_SCHAR_MIN = (int)112L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SCHAR_MIN = 112
     * }
     */
    public static int _SC_SCHAR_MIN() {
        return _SC_SCHAR_MIN;
    }
    private static final int _SC_SHRT_MAX = (int)113L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SHRT_MAX = 113
     * }
     */
    public static int _SC_SHRT_MAX() {
        return _SC_SHRT_MAX;
    }
    private static final int _SC_SHRT_MIN = (int)114L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SHRT_MIN = 114
     * }
     */
    public static int _SC_SHRT_MIN() {
        return _SC_SHRT_MIN;
    }
    private static final int _SC_UCHAR_MAX = (int)115L;
    /**
     * {@snippet lang=c :
     * enum ._SC_UCHAR_MAX = 115
     * }
     */
    public static int _SC_UCHAR_MAX() {
        return _SC_UCHAR_MAX;
    }
    private static final int _SC_UINT_MAX = (int)116L;
    /**
     * {@snippet lang=c :
     * enum ._SC_UINT_MAX = 116
     * }
     */
    public static int _SC_UINT_MAX() {
        return _SC_UINT_MAX;
    }
    private static final int _SC_ULONG_MAX = (int)117L;
    /**
     * {@snippet lang=c :
     * enum ._SC_ULONG_MAX = 117
     * }
     */
    public static int _SC_ULONG_MAX() {
        return _SC_ULONG_MAX;
    }
    private static final int _SC_USHRT_MAX = (int)118L;
    /**
     * {@snippet lang=c :
     * enum ._SC_USHRT_MAX = 118
     * }
     */
    public static int _SC_USHRT_MAX() {
        return _SC_USHRT_MAX;
    }
    private static final int _SC_NL_ARGMAX = (int)119L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_ARGMAX = 119
     * }
     */
    public static int _SC_NL_ARGMAX() {
        return _SC_NL_ARGMAX;
    }
    private static final int _SC_NL_LANGMAX = (int)120L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_LANGMAX = 120
     * }
     */
    public static int _SC_NL_LANGMAX() {
        return _SC_NL_LANGMAX;
    }
    private static final int _SC_NL_MSGMAX = (int)121L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_MSGMAX = 121
     * }
     */
    public static int _SC_NL_MSGMAX() {
        return _SC_NL_MSGMAX;
    }
    private static final int _SC_NL_NMAX = (int)122L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_NMAX = 122
     * }
     */
    public static int _SC_NL_NMAX() {
        return _SC_NL_NMAX;
    }
    private static final int _SC_NL_SETMAX = (int)123L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_SETMAX = 123
     * }
     */
    public static int _SC_NL_SETMAX() {
        return _SC_NL_SETMAX;
    }
    private static final int _SC_NL_TEXTMAX = (int)124L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NL_TEXTMAX = 124
     * }
     */
    public static int _SC_NL_TEXTMAX() {
        return _SC_NL_TEXTMAX;
    }
    private static final int _SC_XBS5_ILP32_OFF32 = (int)125L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XBS5_ILP32_OFF32 = 125
     * }
     */
    public static int _SC_XBS5_ILP32_OFF32() {
        return _SC_XBS5_ILP32_OFF32;
    }
    private static final int _SC_XBS5_ILP32_OFFBIG = (int)126L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XBS5_ILP32_OFFBIG = 126
     * }
     */
    public static int _SC_XBS5_ILP32_OFFBIG() {
        return _SC_XBS5_ILP32_OFFBIG;
    }
    private static final int _SC_XBS5_LP64_OFF64 = (int)127L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XBS5_LP64_OFF64 = 127
     * }
     */
    public static int _SC_XBS5_LP64_OFF64() {
        return _SC_XBS5_LP64_OFF64;
    }
    private static final int _SC_XBS5_LPBIG_OFFBIG = (int)128L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XBS5_LPBIG_OFFBIG = 128
     * }
     */
    public static int _SC_XBS5_LPBIG_OFFBIG() {
        return _SC_XBS5_LPBIG_OFFBIG;
    }
    private static final int _SC_XOPEN_LEGACY = (int)129L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_LEGACY = 129
     * }
     */
    public static int _SC_XOPEN_LEGACY() {
        return _SC_XOPEN_LEGACY;
    }
    private static final int _SC_XOPEN_REALTIME = (int)130L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_REALTIME = 130
     * }
     */
    public static int _SC_XOPEN_REALTIME() {
        return _SC_XOPEN_REALTIME;
    }
    private static final int _SC_XOPEN_REALTIME_THREADS = (int)131L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_REALTIME_THREADS = 131
     * }
     */
    public static int _SC_XOPEN_REALTIME_THREADS() {
        return _SC_XOPEN_REALTIME_THREADS;
    }
    private static final int _SC_ADVISORY_INFO = (int)132L;
    /**
     * {@snippet lang=c :
     * enum ._SC_ADVISORY_INFO = 132
     * }
     */
    public static int _SC_ADVISORY_INFO() {
        return _SC_ADVISORY_INFO;
    }
    private static final int _SC_BARRIERS = (int)133L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BARRIERS = 133
     * }
     */
    public static int _SC_BARRIERS() {
        return _SC_BARRIERS;
    }
    private static final int _SC_BASE = (int)134L;
    /**
     * {@snippet lang=c :
     * enum ._SC_BASE = 134
     * }
     */
    public static int _SC_BASE() {
        return _SC_BASE;
    }
    private static final int _SC_C_LANG_SUPPORT = (int)135L;
    /**
     * {@snippet lang=c :
     * enum ._SC_C_LANG_SUPPORT = 135
     * }
     */
    public static int _SC_C_LANG_SUPPORT() {
        return _SC_C_LANG_SUPPORT;
    }
    private static final int _SC_C_LANG_SUPPORT_R = (int)136L;
    /**
     * {@snippet lang=c :
     * enum ._SC_C_LANG_SUPPORT_R = 136
     * }
     */
    public static int _SC_C_LANG_SUPPORT_R() {
        return _SC_C_LANG_SUPPORT_R;
    }
    private static final int _SC_CLOCK_SELECTION = (int)137L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CLOCK_SELECTION = 137
     * }
     */
    public static int _SC_CLOCK_SELECTION() {
        return _SC_CLOCK_SELECTION;
    }
    private static final int _SC_CPUTIME = (int)138L;
    /**
     * {@snippet lang=c :
     * enum ._SC_CPUTIME = 138
     * }
     */
    public static int _SC_CPUTIME() {
        return _SC_CPUTIME;
    }
    private static final int _SC_THREAD_CPUTIME = (int)139L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_CPUTIME = 139
     * }
     */
    public static int _SC_THREAD_CPUTIME() {
        return _SC_THREAD_CPUTIME;
    }
    private static final int _SC_DEVICE_IO = (int)140L;
    /**
     * {@snippet lang=c :
     * enum ._SC_DEVICE_IO = 140
     * }
     */
    public static int _SC_DEVICE_IO() {
        return _SC_DEVICE_IO;
    }
    private static final int _SC_DEVICE_SPECIFIC = (int)141L;
    /**
     * {@snippet lang=c :
     * enum ._SC_DEVICE_SPECIFIC = 141
     * }
     */
    public static int _SC_DEVICE_SPECIFIC() {
        return _SC_DEVICE_SPECIFIC;
    }
    private static final int _SC_DEVICE_SPECIFIC_R = (int)142L;
    /**
     * {@snippet lang=c :
     * enum ._SC_DEVICE_SPECIFIC_R = 142
     * }
     */
    public static int _SC_DEVICE_SPECIFIC_R() {
        return _SC_DEVICE_SPECIFIC_R;
    }
    private static final int _SC_FD_MGMT = (int)143L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FD_MGMT = 143
     * }
     */
    public static int _SC_FD_MGMT() {
        return _SC_FD_MGMT;
    }
    private static final int _SC_FIFO = (int)144L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FIFO = 144
     * }
     */
    public static int _SC_FIFO() {
        return _SC_FIFO;
    }
    private static final int _SC_PIPE = (int)145L;
    /**
     * {@snippet lang=c :
     * enum ._SC_PIPE = 145
     * }
     */
    public static int _SC_PIPE() {
        return _SC_PIPE;
    }
    private static final int _SC_FILE_ATTRIBUTES = (int)146L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FILE_ATTRIBUTES = 146
     * }
     */
    public static int _SC_FILE_ATTRIBUTES() {
        return _SC_FILE_ATTRIBUTES;
    }
    private static final int _SC_FILE_LOCKING = (int)147L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FILE_LOCKING = 147
     * }
     */
    public static int _SC_FILE_LOCKING() {
        return _SC_FILE_LOCKING;
    }
    private static final int _SC_FILE_SYSTEM = (int)148L;
    /**
     * {@snippet lang=c :
     * enum ._SC_FILE_SYSTEM = 148
     * }
     */
    public static int _SC_FILE_SYSTEM() {
        return _SC_FILE_SYSTEM;
    }
    private static final int _SC_MONOTONIC_CLOCK = (int)149L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MONOTONIC_CLOCK = 149
     * }
     */
    public static int _SC_MONOTONIC_CLOCK() {
        return _SC_MONOTONIC_CLOCK;
    }
    private static final int _SC_MULTI_PROCESS = (int)150L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MULTI_PROCESS = 150
     * }
     */
    public static int _SC_MULTI_PROCESS() {
        return _SC_MULTI_PROCESS;
    }
    private static final int _SC_SINGLE_PROCESS = (int)151L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SINGLE_PROCESS = 151
     * }
     */
    public static int _SC_SINGLE_PROCESS() {
        return _SC_SINGLE_PROCESS;
    }
    private static final int _SC_NETWORKING = (int)152L;
    /**
     * {@snippet lang=c :
     * enum ._SC_NETWORKING = 152
     * }
     */
    public static int _SC_NETWORKING() {
        return _SC_NETWORKING;
    }
    private static final int _SC_READER_WRITER_LOCKS = (int)153L;
    /**
     * {@snippet lang=c :
     * enum ._SC_READER_WRITER_LOCKS = 153
     * }
     */
    public static int _SC_READER_WRITER_LOCKS() {
        return _SC_READER_WRITER_LOCKS;
    }
    private static final int _SC_SPIN_LOCKS = (int)154L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SPIN_LOCKS = 154
     * }
     */
    public static int _SC_SPIN_LOCKS() {
        return _SC_SPIN_LOCKS;
    }
    private static final int _SC_REGEXP = (int)155L;
    /**
     * {@snippet lang=c :
     * enum ._SC_REGEXP = 155
     * }
     */
    public static int _SC_REGEXP() {
        return _SC_REGEXP;
    }
    private static final int _SC_REGEX_VERSION = (int)156L;
    /**
     * {@snippet lang=c :
     * enum ._SC_REGEX_VERSION = 156
     * }
     */
    public static int _SC_REGEX_VERSION() {
        return _SC_REGEX_VERSION;
    }
    private static final int _SC_SHELL = (int)157L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SHELL = 157
     * }
     */
    public static int _SC_SHELL() {
        return _SC_SHELL;
    }
    private static final int _SC_SIGNALS = (int)158L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SIGNALS = 158
     * }
     */
    public static int _SC_SIGNALS() {
        return _SC_SIGNALS;
    }
    private static final int _SC_SPAWN = (int)159L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SPAWN = 159
     * }
     */
    public static int _SC_SPAWN() {
        return _SC_SPAWN;
    }
    private static final int _SC_SPORADIC_SERVER = (int)160L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SPORADIC_SERVER = 160
     * }
     */
    public static int _SC_SPORADIC_SERVER() {
        return _SC_SPORADIC_SERVER;
    }
    private static final int _SC_THREAD_SPORADIC_SERVER = (int)161L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_SPORADIC_SERVER = 161
     * }
     */
    public static int _SC_THREAD_SPORADIC_SERVER() {
        return _SC_THREAD_SPORADIC_SERVER;
    }
    private static final int _SC_SYSTEM_DATABASE = (int)162L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SYSTEM_DATABASE = 162
     * }
     */
    public static int _SC_SYSTEM_DATABASE() {
        return _SC_SYSTEM_DATABASE;
    }
    private static final int _SC_SYSTEM_DATABASE_R = (int)163L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SYSTEM_DATABASE_R = 163
     * }
     */
    public static int _SC_SYSTEM_DATABASE_R() {
        return _SC_SYSTEM_DATABASE_R;
    }
    private static final int _SC_TIMEOUTS = (int)164L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TIMEOUTS = 164
     * }
     */
    public static int _SC_TIMEOUTS() {
        return _SC_TIMEOUTS;
    }
    private static final int _SC_TYPED_MEMORY_OBJECTS = (int)165L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TYPED_MEMORY_OBJECTS = 165
     * }
     */
    public static int _SC_TYPED_MEMORY_OBJECTS() {
        return _SC_TYPED_MEMORY_OBJECTS;
    }
    private static final int _SC_USER_GROUPS = (int)166L;
    /**
     * {@snippet lang=c :
     * enum ._SC_USER_GROUPS = 166
     * }
     */
    public static int _SC_USER_GROUPS() {
        return _SC_USER_GROUPS;
    }
    private static final int _SC_USER_GROUPS_R = (int)167L;
    /**
     * {@snippet lang=c :
     * enum ._SC_USER_GROUPS_R = 167
     * }
     */
    public static int _SC_USER_GROUPS_R() {
        return _SC_USER_GROUPS_R;
    }
    private static final int _SC_2_PBS = (int)168L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS = 168
     * }
     */
    public static int _SC_2_PBS() {
        return _SC_2_PBS;
    }
    private static final int _SC_2_PBS_ACCOUNTING = (int)169L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS_ACCOUNTING = 169
     * }
     */
    public static int _SC_2_PBS_ACCOUNTING() {
        return _SC_2_PBS_ACCOUNTING;
    }
    private static final int _SC_2_PBS_LOCATE = (int)170L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS_LOCATE = 170
     * }
     */
    public static int _SC_2_PBS_LOCATE() {
        return _SC_2_PBS_LOCATE;
    }
    private static final int _SC_2_PBS_MESSAGE = (int)171L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS_MESSAGE = 171
     * }
     */
    public static int _SC_2_PBS_MESSAGE() {
        return _SC_2_PBS_MESSAGE;
    }
    private static final int _SC_2_PBS_TRACK = (int)172L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS_TRACK = 172
     * }
     */
    public static int _SC_2_PBS_TRACK() {
        return _SC_2_PBS_TRACK;
    }
    private static final int _SC_SYMLOOP_MAX = (int)173L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SYMLOOP_MAX = 173
     * }
     */
    public static int _SC_SYMLOOP_MAX() {
        return _SC_SYMLOOP_MAX;
    }
    private static final int _SC_STREAMS = (int)174L;
    /**
     * {@snippet lang=c :
     * enum ._SC_STREAMS = 174
     * }
     */
    public static int _SC_STREAMS() {
        return _SC_STREAMS;
    }
    private static final int _SC_2_PBS_CHECKPOINT = (int)175L;
    /**
     * {@snippet lang=c :
     * enum ._SC_2_PBS_CHECKPOINT = 175
     * }
     */
    public static int _SC_2_PBS_CHECKPOINT() {
        return _SC_2_PBS_CHECKPOINT;
    }
    private static final int _SC_V6_ILP32_OFF32 = (int)176L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V6_ILP32_OFF32 = 176
     * }
     */
    public static int _SC_V6_ILP32_OFF32() {
        return _SC_V6_ILP32_OFF32;
    }
    private static final int _SC_V6_ILP32_OFFBIG = (int)177L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V6_ILP32_OFFBIG = 177
     * }
     */
    public static int _SC_V6_ILP32_OFFBIG() {
        return _SC_V6_ILP32_OFFBIG;
    }
    private static final int _SC_V6_LP64_OFF64 = (int)178L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V6_LP64_OFF64 = 178
     * }
     */
    public static int _SC_V6_LP64_OFF64() {
        return _SC_V6_LP64_OFF64;
    }
    private static final int _SC_V6_LPBIG_OFFBIG = (int)179L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V6_LPBIG_OFFBIG = 179
     * }
     */
    public static int _SC_V6_LPBIG_OFFBIG() {
        return _SC_V6_LPBIG_OFFBIG;
    }
    private static final int _SC_HOST_NAME_MAX = (int)180L;
    /**
     * {@snippet lang=c :
     * enum ._SC_HOST_NAME_MAX = 180
     * }
     */
    public static int _SC_HOST_NAME_MAX() {
        return _SC_HOST_NAME_MAX;
    }
    private static final int _SC_TRACE = (int)181L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE = 181
     * }
     */
    public static int _SC_TRACE() {
        return _SC_TRACE;
    }
    private static final int _SC_TRACE_EVENT_FILTER = (int)182L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_EVENT_FILTER = 182
     * }
     */
    public static int _SC_TRACE_EVENT_FILTER() {
        return _SC_TRACE_EVENT_FILTER;
    }
    private static final int _SC_TRACE_INHERIT = (int)183L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_INHERIT = 183
     * }
     */
    public static int _SC_TRACE_INHERIT() {
        return _SC_TRACE_INHERIT;
    }
    private static final int _SC_TRACE_LOG = (int)184L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_LOG = 184
     * }
     */
    public static int _SC_TRACE_LOG() {
        return _SC_TRACE_LOG;
    }
    private static final int _SC_LEVEL1_ICACHE_SIZE = (int)185L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_ICACHE_SIZE = 185
     * }
     */
    public static int _SC_LEVEL1_ICACHE_SIZE() {
        return _SC_LEVEL1_ICACHE_SIZE;
    }
    private static final int _SC_LEVEL1_ICACHE_ASSOC = (int)186L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_ICACHE_ASSOC = 186
     * }
     */
    public static int _SC_LEVEL1_ICACHE_ASSOC() {
        return _SC_LEVEL1_ICACHE_ASSOC;
    }
    private static final int _SC_LEVEL1_ICACHE_LINESIZE = (int)187L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_ICACHE_LINESIZE = 187
     * }
     */
    public static int _SC_LEVEL1_ICACHE_LINESIZE() {
        return _SC_LEVEL1_ICACHE_LINESIZE;
    }
    private static final int _SC_LEVEL1_DCACHE_SIZE = (int)188L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_DCACHE_SIZE = 188
     * }
     */
    public static int _SC_LEVEL1_DCACHE_SIZE() {
        return _SC_LEVEL1_DCACHE_SIZE;
    }
    private static final int _SC_LEVEL1_DCACHE_ASSOC = (int)189L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_DCACHE_ASSOC = 189
     * }
     */
    public static int _SC_LEVEL1_DCACHE_ASSOC() {
        return _SC_LEVEL1_DCACHE_ASSOC;
    }
    private static final int _SC_LEVEL1_DCACHE_LINESIZE = (int)190L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL1_DCACHE_LINESIZE = 190
     * }
     */
    public static int _SC_LEVEL1_DCACHE_LINESIZE() {
        return _SC_LEVEL1_DCACHE_LINESIZE;
    }
    private static final int _SC_LEVEL2_CACHE_SIZE = (int)191L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL2_CACHE_SIZE = 191
     * }
     */
    public static int _SC_LEVEL2_CACHE_SIZE() {
        return _SC_LEVEL2_CACHE_SIZE;
    }
    private static final int _SC_LEVEL2_CACHE_ASSOC = (int)192L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL2_CACHE_ASSOC = 192
     * }
     */
    public static int _SC_LEVEL2_CACHE_ASSOC() {
        return _SC_LEVEL2_CACHE_ASSOC;
    }
    private static final int _SC_LEVEL2_CACHE_LINESIZE = (int)193L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL2_CACHE_LINESIZE = 193
     * }
     */
    public static int _SC_LEVEL2_CACHE_LINESIZE() {
        return _SC_LEVEL2_CACHE_LINESIZE;
    }
    private static final int _SC_LEVEL3_CACHE_SIZE = (int)194L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL3_CACHE_SIZE = 194
     * }
     */
    public static int _SC_LEVEL3_CACHE_SIZE() {
        return _SC_LEVEL3_CACHE_SIZE;
    }
    private static final int _SC_LEVEL3_CACHE_ASSOC = (int)195L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL3_CACHE_ASSOC = 195
     * }
     */
    public static int _SC_LEVEL3_CACHE_ASSOC() {
        return _SC_LEVEL3_CACHE_ASSOC;
    }
    private static final int _SC_LEVEL3_CACHE_LINESIZE = (int)196L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL3_CACHE_LINESIZE = 196
     * }
     */
    public static int _SC_LEVEL3_CACHE_LINESIZE() {
        return _SC_LEVEL3_CACHE_LINESIZE;
    }
    private static final int _SC_LEVEL4_CACHE_SIZE = (int)197L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL4_CACHE_SIZE = 197
     * }
     */
    public static int _SC_LEVEL4_CACHE_SIZE() {
        return _SC_LEVEL4_CACHE_SIZE;
    }
    private static final int _SC_LEVEL4_CACHE_ASSOC = (int)198L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL4_CACHE_ASSOC = 198
     * }
     */
    public static int _SC_LEVEL4_CACHE_ASSOC() {
        return _SC_LEVEL4_CACHE_ASSOC;
    }
    private static final int _SC_LEVEL4_CACHE_LINESIZE = (int)199L;
    /**
     * {@snippet lang=c :
     * enum ._SC_LEVEL4_CACHE_LINESIZE = 199
     * }
     */
    public static int _SC_LEVEL4_CACHE_LINESIZE() {
        return _SC_LEVEL4_CACHE_LINESIZE;
    }
    private static final int _SC_IPV6 = (int)235L;
    /**
     * {@snippet lang=c :
     * enum ._SC_IPV6 = 235
     * }
     */
    public static int _SC_IPV6() {
        return _SC_IPV6;
    }
    private static final int _SC_RAW_SOCKETS = (int)236L;
    /**
     * {@snippet lang=c :
     * enum ._SC_RAW_SOCKETS = 236
     * }
     */
    public static int _SC_RAW_SOCKETS() {
        return _SC_RAW_SOCKETS;
    }
    private static final int _SC_V7_ILP32_OFF32 = (int)237L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V7_ILP32_OFF32 = 237
     * }
     */
    public static int _SC_V7_ILP32_OFF32() {
        return _SC_V7_ILP32_OFF32;
    }
    private static final int _SC_V7_ILP32_OFFBIG = (int)238L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V7_ILP32_OFFBIG = 238
     * }
     */
    public static int _SC_V7_ILP32_OFFBIG() {
        return _SC_V7_ILP32_OFFBIG;
    }
    private static final int _SC_V7_LP64_OFF64 = (int)239L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V7_LP64_OFF64 = 239
     * }
     */
    public static int _SC_V7_LP64_OFF64() {
        return _SC_V7_LP64_OFF64;
    }
    private static final int _SC_V7_LPBIG_OFFBIG = (int)240L;
    /**
     * {@snippet lang=c :
     * enum ._SC_V7_LPBIG_OFFBIG = 240
     * }
     */
    public static int _SC_V7_LPBIG_OFFBIG() {
        return _SC_V7_LPBIG_OFFBIG;
    }
    private static final int _SC_SS_REPL_MAX = (int)241L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SS_REPL_MAX = 241
     * }
     */
    public static int _SC_SS_REPL_MAX() {
        return _SC_SS_REPL_MAX;
    }
    private static final int _SC_TRACE_EVENT_NAME_MAX = (int)242L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_EVENT_NAME_MAX = 242
     * }
     */
    public static int _SC_TRACE_EVENT_NAME_MAX() {
        return _SC_TRACE_EVENT_NAME_MAX;
    }
    private static final int _SC_TRACE_NAME_MAX = (int)243L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_NAME_MAX = 243
     * }
     */
    public static int _SC_TRACE_NAME_MAX() {
        return _SC_TRACE_NAME_MAX;
    }
    private static final int _SC_TRACE_SYS_MAX = (int)244L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_SYS_MAX = 244
     * }
     */
    public static int _SC_TRACE_SYS_MAX() {
        return _SC_TRACE_SYS_MAX;
    }
    private static final int _SC_TRACE_USER_EVENT_MAX = (int)245L;
    /**
     * {@snippet lang=c :
     * enum ._SC_TRACE_USER_EVENT_MAX = 245
     * }
     */
    public static int _SC_TRACE_USER_EVENT_MAX() {
        return _SC_TRACE_USER_EVENT_MAX;
    }
    private static final int _SC_XOPEN_STREAMS = (int)246L;
    /**
     * {@snippet lang=c :
     * enum ._SC_XOPEN_STREAMS = 246
     * }
     */
    public static int _SC_XOPEN_STREAMS() {
        return _SC_XOPEN_STREAMS;
    }
    private static final int _SC_THREAD_ROBUST_PRIO_INHERIT = (int)247L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_ROBUST_PRIO_INHERIT = 247
     * }
     */
    public static int _SC_THREAD_ROBUST_PRIO_INHERIT() {
        return _SC_THREAD_ROBUST_PRIO_INHERIT;
    }
    private static final int _SC_THREAD_ROBUST_PRIO_PROTECT = (int)248L;
    /**
     * {@snippet lang=c :
     * enum ._SC_THREAD_ROBUST_PRIO_PROTECT = 248
     * }
     */
    public static int _SC_THREAD_ROBUST_PRIO_PROTECT() {
        return _SC_THREAD_ROBUST_PRIO_PROTECT;
    }
    private static final int _SC_MINSIGSTKSZ = (int)249L;
    /**
     * {@snippet lang=c :
     * enum ._SC_MINSIGSTKSZ = 249
     * }
     */
    public static int _SC_MINSIGSTKSZ() {
        return _SC_MINSIGSTKSZ;
    }
    private static final int _SC_SIGSTKSZ = (int)250L;
    /**
     * {@snippet lang=c :
     * enum ._SC_SIGSTKSZ = 250
     * }
     */
    public static int _SC_SIGSTKSZ() {
        return _SC_SIGSTKSZ;
    }
    private static final int _CS_PATH = (int)0L;
    /**
     * {@snippet lang=c :
     * enum ._CS_PATH = 0
     * }
     */
    public static int _CS_PATH() {
        return _CS_PATH;
    }
    private static final int _CS_V6_WIDTH_RESTRICTED_ENVS = (int)1L;
    /**
     * {@snippet lang=c :
     * enum ._CS_V6_WIDTH_RESTRICTED_ENVS = 1
     * }
     */
    public static int _CS_V6_WIDTH_RESTRICTED_ENVS() {
        return _CS_V6_WIDTH_RESTRICTED_ENVS;
    }
    private static final int _CS_GNU_LIBC_VERSION = (int)2L;
    /**
     * {@snippet lang=c :
     * enum ._CS_GNU_LIBC_VERSION = 2
     * }
     */
    public static int _CS_GNU_LIBC_VERSION() {
        return _CS_GNU_LIBC_VERSION;
    }
    private static final int _CS_GNU_LIBPTHREAD_VERSION = (int)3L;
    /**
     * {@snippet lang=c :
     * enum ._CS_GNU_LIBPTHREAD_VERSION = 3
     * }
     */
    public static int _CS_GNU_LIBPTHREAD_VERSION() {
        return _CS_GNU_LIBPTHREAD_VERSION;
    }
    private static final int _CS_V5_WIDTH_RESTRICTED_ENVS = (int)4L;
    /**
     * {@snippet lang=c :
     * enum ._CS_V5_WIDTH_RESTRICTED_ENVS = 4
     * }
     */
    public static int _CS_V5_WIDTH_RESTRICTED_ENVS() {
        return _CS_V5_WIDTH_RESTRICTED_ENVS;
    }
    private static final int _CS_V7_WIDTH_RESTRICTED_ENVS = (int)5L;
    /**
     * {@snippet lang=c :
     * enum ._CS_V7_WIDTH_RESTRICTED_ENVS = 5
     * }
     */
    public static int _CS_V7_WIDTH_RESTRICTED_ENVS() {
        return _CS_V7_WIDTH_RESTRICTED_ENVS;
    }
    private static final int _CS_LFS_CFLAGS = (int)1000L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS_CFLAGS = 1000
     * }
     */
    public static int _CS_LFS_CFLAGS() {
        return _CS_LFS_CFLAGS;
    }
    private static final int _CS_LFS_LDFLAGS = (int)1001L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS_LDFLAGS = 1001
     * }
     */
    public static int _CS_LFS_LDFLAGS() {
        return _CS_LFS_LDFLAGS;
    }
    private static final int _CS_LFS_LIBS = (int)1002L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS_LIBS = 1002
     * }
     */
    public static int _CS_LFS_LIBS() {
        return _CS_LFS_LIBS;
    }
    private static final int _CS_LFS_LINTFLAGS = (int)1003L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS_LINTFLAGS = 1003
     * }
     */
    public static int _CS_LFS_LINTFLAGS() {
        return _CS_LFS_LINTFLAGS;
    }
    private static final int _CS_LFS64_CFLAGS = (int)1004L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS64_CFLAGS = 1004
     * }
     */
    public static int _CS_LFS64_CFLAGS() {
        return _CS_LFS64_CFLAGS;
    }
    private static final int _CS_LFS64_LDFLAGS = (int)1005L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS64_LDFLAGS = 1005
     * }
     */
    public static int _CS_LFS64_LDFLAGS() {
        return _CS_LFS64_LDFLAGS;
    }
    private static final int _CS_LFS64_LIBS = (int)1006L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS64_LIBS = 1006
     * }
     */
    public static int _CS_LFS64_LIBS() {
        return _CS_LFS64_LIBS;
    }
    private static final int _CS_LFS64_LINTFLAGS = (int)1007L;
    /**
     * {@snippet lang=c :
     * enum ._CS_LFS64_LINTFLAGS = 1007
     * }
     */
    public static int _CS_LFS64_LINTFLAGS() {
        return _CS_LFS64_LINTFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFF32_CFLAGS = (int)1100L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFF32_CFLAGS = 1100
     * }
     */
    public static int _CS_XBS5_ILP32_OFF32_CFLAGS() {
        return _CS_XBS5_ILP32_OFF32_CFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFF32_LDFLAGS = (int)1101L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFF32_LDFLAGS = 1101
     * }
     */
    public static int _CS_XBS5_ILP32_OFF32_LDFLAGS() {
        return _CS_XBS5_ILP32_OFF32_LDFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFF32_LIBS = (int)1102L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFF32_LIBS = 1102
     * }
     */
    public static int _CS_XBS5_ILP32_OFF32_LIBS() {
        return _CS_XBS5_ILP32_OFF32_LIBS;
    }
    private static final int _CS_XBS5_ILP32_OFF32_LINTFLAGS = (int)1103L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFF32_LINTFLAGS = 1103
     * }
     */
    public static int _CS_XBS5_ILP32_OFF32_LINTFLAGS() {
        return _CS_XBS5_ILP32_OFF32_LINTFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFFBIG_CFLAGS = (int)1104L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFFBIG_CFLAGS = 1104
     * }
     */
    public static int _CS_XBS5_ILP32_OFFBIG_CFLAGS() {
        return _CS_XBS5_ILP32_OFFBIG_CFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFFBIG_LDFLAGS = (int)1105L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFFBIG_LDFLAGS = 1105
     * }
     */
    public static int _CS_XBS5_ILP32_OFFBIG_LDFLAGS() {
        return _CS_XBS5_ILP32_OFFBIG_LDFLAGS;
    }
    private static final int _CS_XBS5_ILP32_OFFBIG_LIBS = (int)1106L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFFBIG_LIBS = 1106
     * }
     */
    public static int _CS_XBS5_ILP32_OFFBIG_LIBS() {
        return _CS_XBS5_ILP32_OFFBIG_LIBS;
    }
    private static final int _CS_XBS5_ILP32_OFFBIG_LINTFLAGS = (int)1107L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 1107
     * }
     */
    public static int _CS_XBS5_ILP32_OFFBIG_LINTFLAGS() {
        return _CS_XBS5_ILP32_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_XBS5_LP64_OFF64_CFLAGS = (int)1108L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LP64_OFF64_CFLAGS = 1108
     * }
     */
    public static int _CS_XBS5_LP64_OFF64_CFLAGS() {
        return _CS_XBS5_LP64_OFF64_CFLAGS;
    }
    private static final int _CS_XBS5_LP64_OFF64_LDFLAGS = (int)1109L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LP64_OFF64_LDFLAGS = 1109
     * }
     */
    public static int _CS_XBS5_LP64_OFF64_LDFLAGS() {
        return _CS_XBS5_LP64_OFF64_LDFLAGS;
    }
    private static final int _CS_XBS5_LP64_OFF64_LIBS = (int)1110L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LP64_OFF64_LIBS = 1110
     * }
     */
    public static int _CS_XBS5_LP64_OFF64_LIBS() {
        return _CS_XBS5_LP64_OFF64_LIBS;
    }
    private static final int _CS_XBS5_LP64_OFF64_LINTFLAGS = (int)1111L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LP64_OFF64_LINTFLAGS = 1111
     * }
     */
    public static int _CS_XBS5_LP64_OFF64_LINTFLAGS() {
        return _CS_XBS5_LP64_OFF64_LINTFLAGS;
    }
    private static final int _CS_XBS5_LPBIG_OFFBIG_CFLAGS = (int)1112L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LPBIG_OFFBIG_CFLAGS = 1112
     * }
     */
    public static int _CS_XBS5_LPBIG_OFFBIG_CFLAGS() {
        return _CS_XBS5_LPBIG_OFFBIG_CFLAGS;
    }
    private static final int _CS_XBS5_LPBIG_OFFBIG_LDFLAGS = (int)1113L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 1113
     * }
     */
    public static int _CS_XBS5_LPBIG_OFFBIG_LDFLAGS() {
        return _CS_XBS5_LPBIG_OFFBIG_LDFLAGS;
    }
    private static final int _CS_XBS5_LPBIG_OFFBIG_LIBS = (int)1114L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LPBIG_OFFBIG_LIBS = 1114
     * }
     */
    public static int _CS_XBS5_LPBIG_OFFBIG_LIBS() {
        return _CS_XBS5_LPBIG_OFFBIG_LIBS;
    }
    private static final int _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = (int)1115L;
    /**
     * {@snippet lang=c :
     * enum ._CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 1115
     * }
     */
    public static int _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS() {
        return _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFF32_CFLAGS = (int)1116L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFF32_CFLAGS() {
        return _CS_POSIX_V6_ILP32_OFF32_CFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = (int)1117L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFF32_LDFLAGS() {
        return _CS_POSIX_V6_ILP32_OFF32_LDFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFF32_LIBS = (int)1118L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFF32_LIBS() {
        return _CS_POSIX_V6_ILP32_OFF32_LIBS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = (int)1119L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS() {
        return _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = (int)1120L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS() {
        return _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = (int)1121L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS() {
        return _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFFBIG_LIBS = (int)1122L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFFBIG_LIBS() {
        return _CS_POSIX_V6_ILP32_OFFBIG_LIBS;
    }
    private static final int _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = (int)1123L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
     * }
     */
    public static int _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS() {
        return _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_POSIX_V6_LP64_OFF64_CFLAGS = (int)1124L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
     * }
     */
    public static int _CS_POSIX_V6_LP64_OFF64_CFLAGS() {
        return _CS_POSIX_V6_LP64_OFF64_CFLAGS;
    }
    private static final int _CS_POSIX_V6_LP64_OFF64_LDFLAGS = (int)1125L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
     * }
     */
    public static int _CS_POSIX_V6_LP64_OFF64_LDFLAGS() {
        return _CS_POSIX_V6_LP64_OFF64_LDFLAGS;
    }
    private static final int _CS_POSIX_V6_LP64_OFF64_LIBS = (int)1126L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LP64_OFF64_LIBS = 1126
     * }
     */
    public static int _CS_POSIX_V6_LP64_OFF64_LIBS() {
        return _CS_POSIX_V6_LP64_OFF64_LIBS;
    }
    private static final int _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = (int)1127L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
     * }
     */
    public static int _CS_POSIX_V6_LP64_OFF64_LINTFLAGS() {
        return _CS_POSIX_V6_LP64_OFF64_LINTFLAGS;
    }
    private static final int _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = (int)1128L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
     * }
     */
    public static int _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS() {
        return _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS;
    }
    private static final int _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = (int)1129L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
     * }
     */
    public static int _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS() {
        return _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS;
    }
    private static final int _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = (int)1130L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
     * }
     */
    public static int _CS_POSIX_V6_LPBIG_OFFBIG_LIBS() {
        return _CS_POSIX_V6_LPBIG_OFFBIG_LIBS;
    }
    private static final int _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = (int)1131L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
     * }
     */
    public static int _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS() {
        return _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFF32_CFLAGS = (int)1132L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFF32_CFLAGS() {
        return _CS_POSIX_V7_ILP32_OFF32_CFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = (int)1133L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFF32_LDFLAGS() {
        return _CS_POSIX_V7_ILP32_OFF32_LDFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFF32_LIBS = (int)1134L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFF32_LIBS() {
        return _CS_POSIX_V7_ILP32_OFF32_LIBS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = (int)1135L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS() {
        return _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = (int)1136L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS() {
        return _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = (int)1137L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS() {
        return _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFFBIG_LIBS = (int)1138L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFFBIG_LIBS() {
        return _CS_POSIX_V7_ILP32_OFFBIG_LIBS;
    }
    private static final int _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = (int)1139L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
     * }
     */
    public static int _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS() {
        return _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_POSIX_V7_LP64_OFF64_CFLAGS = (int)1140L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
     * }
     */
    public static int _CS_POSIX_V7_LP64_OFF64_CFLAGS() {
        return _CS_POSIX_V7_LP64_OFF64_CFLAGS;
    }
    private static final int _CS_POSIX_V7_LP64_OFF64_LDFLAGS = (int)1141L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
     * }
     */
    public static int _CS_POSIX_V7_LP64_OFF64_LDFLAGS() {
        return _CS_POSIX_V7_LP64_OFF64_LDFLAGS;
    }
    private static final int _CS_POSIX_V7_LP64_OFF64_LIBS = (int)1142L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LP64_OFF64_LIBS = 1142
     * }
     */
    public static int _CS_POSIX_V7_LP64_OFF64_LIBS() {
        return _CS_POSIX_V7_LP64_OFF64_LIBS;
    }
    private static final int _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = (int)1143L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
     * }
     */
    public static int _CS_POSIX_V7_LP64_OFF64_LINTFLAGS() {
        return _CS_POSIX_V7_LP64_OFF64_LINTFLAGS;
    }
    private static final int _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = (int)1144L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
     * }
     */
    public static int _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS() {
        return _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS;
    }
    private static final int _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = (int)1145L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
     * }
     */
    public static int _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS() {
        return _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS;
    }
    private static final int _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = (int)1146L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
     * }
     */
    public static int _CS_POSIX_V7_LPBIG_OFFBIG_LIBS() {
        return _CS_POSIX_V7_LPBIG_OFFBIG_LIBS;
    }
    private static final int _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = (int)1147L;
    /**
     * {@snippet lang=c :
     * enum ._CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
     * }
     */
    public static int _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS() {
        return _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS;
    }
    private static final int _CS_V6_ENV = (int)1148L;
    /**
     * {@snippet lang=c :
     * enum ._CS_V6_ENV = 1148
     * }
     */
    public static int _CS_V6_ENV() {
        return _CS_V6_ENV;
    }
    private static final int _CS_V7_ENV = (int)1149L;
    /**
     * {@snippet lang=c :
     * enum ._CS_V7_ENV = 1149
     * }
     */
    public static int _CS_V7_ENV() {
        return _CS_V7_ENV;
    }

    private static class pathconf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_POINTER,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("pathconf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern long pathconf(const char *__path, int __name)
     * }
     */
    public static FunctionDescriptor pathconf$descriptor() {
        return pathconf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern long pathconf(const char *__path, int __name)
     * }
     */
    public static MethodHandle pathconf$handle() {
        return pathconf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern long pathconf(const char *__path, int __name)
     * }
     */
    public static MemorySegment pathconf$address() {
        return pathconf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern long pathconf(const char *__path, int __name)
     * }
     */
    public static long pathconf(MemorySegment __path, int __name) {
        var mh$ = pathconf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("pathconf", __path, __name);
            }
            return (long)mh$.invokeExact(__path, __name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class fpathconf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("fpathconf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern long fpathconf(int __fd, int __name)
     * }
     */
    public static FunctionDescriptor fpathconf$descriptor() {
        return fpathconf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern long fpathconf(int __fd, int __name)
     * }
     */
    public static MethodHandle fpathconf$handle() {
        return fpathconf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern long fpathconf(int __fd, int __name)
     * }
     */
    public static MemorySegment fpathconf$address() {
        return fpathconf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern long fpathconf(int __fd, int __name)
     * }
     */
    public static long fpathconf(int __fd, int __name) {
        var mh$ = fpathconf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("fpathconf", __fd, __name);
            }
            return (long)mh$.invokeExact(__fd, __name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class sysconf {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("sysconf");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern long sysconf(int __name)
     * }
     */
    public static FunctionDescriptor sysconf$descriptor() {
        return sysconf.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern long sysconf(int __name)
     * }
     */
    public static MethodHandle sysconf$handle() {
        return sysconf.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern long sysconf(int __name)
     * }
     */
    public static MemorySegment sysconf$address() {
        return sysconf.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern long sysconf(int __name)
     * }
     */
    public static long sysconf(int __name) {
        var mh$ = sysconf.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("sysconf", __name);
            }
            return (long)mh$.invokeExact(__name);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class confstr {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_LONG,
            Lib.C_INT,
            Lib.C_POINTER,
            Lib.C_LONG
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("confstr");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern size_t confstr(int __name, char *__buf, size_t __len)
     * }
     */
    public static FunctionDescriptor confstr$descriptor() {
        return confstr.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern size_t confstr(int __name, char *__buf, size_t __len)
     * }
     */
    public static MethodHandle confstr$handle() {
        return confstr.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern size_t confstr(int __name, char *__buf, size_t __len)
     * }
     */
    public static MemorySegment confstr$address() {
        return confstr.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern size_t confstr(int __name, char *__buf, size_t __len)
     * }
     */
    public static long confstr(int __name, MemorySegment __buf, long __len) {
        var mh$ = confstr.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("confstr", __name, __buf, __len);
            }
            return (long)mh$.invokeExact(__name, __buf, __len);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getpid {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("getpid");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __pid_t getpid()
     * }
     */
    public static FunctionDescriptor getpid$descriptor() {
        return getpid.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __pid_t getpid()
     * }
     */
    public static MethodHandle getpid$handle() {
        return getpid.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __pid_t getpid()
     * }
     */
    public static MemorySegment getpid$address() {
        return getpid.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __pid_t getpid()
     * }
     */
    public static int getpid() {
        var mh$ = getpid.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getpid");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getppid {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("getppid");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __pid_t getppid()
     * }
     */
    public static FunctionDescriptor getppid$descriptor() {
        return getppid.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __pid_t getppid()
     * }
     */
    public static MethodHandle getppid$handle() {
        return getppid.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __pid_t getppid()
     * }
     */
    public static MemorySegment getppid$address() {
        return getppid.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __pid_t getppid()
     * }
     */
    public static int getppid() {
        var mh$ = getppid.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getppid");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class getpgrp {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT    );

        public static final MemorySegment ADDR = Lib.findOrThrow("getpgrp");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __pid_t getpgrp()
     * }
     */
    public static FunctionDescriptor getpgrp$descriptor() {
        return getpgrp.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __pid_t getpgrp()
     * }
     */
    public static MethodHandle getpgrp$handle() {
        return getpgrp.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __pid_t getpgrp()
     * }
     */
    public static MemorySegment getpgrp$address() {
        return getpgrp.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __pid_t getpgrp()
     * }
     */
    public static int getpgrp() {
        var mh$ = getpgrp.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("getpgrp");
            }
            return (int)mh$.invokeExact();
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }

    private static class __getpgid {
        public static final FunctionDescriptor DESC = FunctionDescriptor.of(
            Lib.C_INT,
            Lib.C_INT
        );

        public static final MemorySegment ADDR = Lib.findOrThrow("__getpgid");

        public static final MethodHandle HANDLE = Linker.nativeLinker().downcallHandle(ADDR, DESC);
    }

    /**
     * Function descriptor for:
     * {@snippet lang=c :
     * extern __pid_t __getpgid(__pid_t __pid)
     * }
     */
    public static FunctionDescriptor __getpgid$descriptor() {
        return __getpgid.DESC;
    }

    /**
     * Downcall method handle for:
     * {@snippet lang=c :
     * extern __pid_t __getpgid(__pid_t __pid)
     * }
     */
    public static MethodHandle __getpgid$handle() {
        return __getpgid.HANDLE;
    }

    /**
     * Address for:
     * {@snippet lang=c :
     * extern __pid_t __getpgid(__pid_t __pid)
     * }
     */
    public static MemorySegment __getpgid$address() {
        return __getpgid.ADDR;
    }

    /**
     * {@snippet lang=c :
     * extern __pid_t __getpgid(__pid_t __pid)
     * }
     */
    public static int __getpgid(int __pid) {
        var mh$ = __getpgid.HANDLE;
        try {
            if (TRACE_DOWNCALLS) {
                traceDowncall("__getpgid", __pid);
            }
            return (int)mh$.invokeExact(__pid);
        } catch (Throwable ex$) {
           throw new AssertionError("should not reach here", ex$);
        }
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy