/
githubmirror
/
lvm2
Обзор
Документация
Войти
/
githubmirror
/
lvm2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
base/memory/container_of.h
32 строки
1 KB
Zdenek Kabelac
base: add compile-time type checking to container_of macro
11 май 2026, 11:18
11 май 2026, 11:18
87e9dee
Код
Авторство
О чём код?
// Copyright (C) 2018 - 2020 Red Hat, Inc. All rights reserved. // // This file is part of LVM2. // // This copyrighted material is made available to anyone wishing to use, // modify, copy, or redistribute it subject to the terms and conditions // of the GNU Lesser General Public License v.2.1. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, write to the Free Software Foundation, // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #ifndef BASE_MEMORY_CONTAINER_OF_H #define BASE_MEMORY_CONTAINER_OF_H #include <stddef.h> // offsetof //---------------------------------------------------------------- #ifdef __GNUC__ #define container_of(v, t, head) \ __extension__ ({ \ __typeof__(((t *)0)->head) *_v = (v); \ (t *)((char *)_v - offsetof(t, head)); }) #else #define container_of(v, t, head) \ ((t *)((char *)(v) - offsetof(t, head))) #endif //---------------------------------------------------------------- #endif