1*a1e26a70SApple OSS Distributions // Copyright (c) 2023 Apple Inc. All rights reserved. 2*a1e26a70SApple OSS Distributions 3*a1e26a70SApple OSS Distributions #include <stddef.h> 4*a1e26a70SApple OSS Distributions #include <stdint.h> 5*a1e26a70SApple OSS Distributions #include <assert.h> 6*a1e26a70SApple OSS Distributions 7*a1e26a70SApple OSS Distributions #define __container_of(ptr, type, field) __extension__({ \ 8*a1e26a70SApple OSS Distributions const __typeof__(((type *)nullptr)->field) *__ptr = (ptr); \ 9*a1e26a70SApple OSS Distributions (type *)((uintptr_t)__ptr - offsetof(type, field)); \ 10*a1e26a70SApple OSS Distributions }) 11*a1e26a70SApple OSS Distributions #define OS_NOINLINE __attribute__((__noinline__)) 12*a1e26a70SApple OSS Distributions 13*a1e26a70SApple OSS Distributions #include "../../../../osfmk/kern/macro_help.h" 14*a1e26a70SApple OSS Distributions #include "../../../../osfmk/kern/priority_queue.h" 15*a1e26a70SApple OSS Distributions #include "../../../../libkern/c++/priority_queue.cpp" 16