0
ˆ
899ÁÀÂ ƒ
Index of /FSS-OZR/root/usr/share/doc/libtheora
Index of /FSS-OZR/root/usr/share/doc/libtheora
ˆÆÅ
„�ÿÄÀ ?÷ /*
* rh_kabi.h - Red Hat kABI abstraction header
*
* Copyright (c) 2014 Don Zickus
* Copyright (c) 2015-2020 Jiri Benc
* Copyright (c) 2015 Sabrina Dubroca, Hannes Frederic Sowa
* Copyright (c) 2016-2018 Prarit Bhargava
* Copyright (c) 2017 Paolo Abeni, Larry Woodman
*
* This file is released under the GPLv2.
* See the file COPYING for more details.
*
* These kabi macros hide the changes from the kabi checker and from the
* process that computes the exported symbols' checksums.
* They have 2 variants: one (defined under __GENKSYMS__) used when
* generating the checksums, and the other used when building the kernel's
* binaries.
*
* The use of these macros does not guarantee that the usage and modification
* of code is correct. As with all Red Hat only changes, an engineer must
* explain why the use of the macro is valid in the patch containing the
* changes.
*
*/
#ifndef _LINUX_RH_KABI_H
#define _LINUX_RH_KABI_H
#include
#include
#include
/*
* NOTE
* Unless indicated otherwise, don't use ';' after these macros as it
* messes up the kABI checker by changing what the resulting token string
* looks like. Instead let the macros add the ';' so it can be properly
* hidden from the kABI checker (mainly for RH_KABI_EXTEND, but applied to
* most macros for uniformity).
*
*
* RH_KABI_CONST
* Adds a new const modifier to a function parameter preserving the old
* checksum.
*
* RH_KABI_ADD_MODIFIER
* Adds a new modifier to a function parameter or a typedef, preserving
* the old checksum. Useful e.g. for adding rcu annotations or changing
* int to unsigned. Beware that this may change the semantics; if you're
* sure this is safe, always explain why binary compatibility with 3rd
* party modules is retained.
*
* RH_KABI_DEPRECATE
* Marks the element as deprecated and make it unusable by modules while
* keeping a hole in its place to preserve binary compatibility.
*
* RH_KABI_DEPRECATE_FN
* Marks the function pointer as deprecated and make it unusable by modules
* while keeping a hole in its place to preserve binary compatibility.
*
* RH_KABI_EXTEND
* Adds a new field to a struct. This must always be added to the end of
* the struct. Before using this macro, make sure this is actually safe
* to do - there is a number of conditions under which it is *not* safe.
* In particular (but not limited to), this macro cannot be used:
* - if the struct in question is embedded in another struct, or
* - if the struct is allocated by drivers either statically or
* dynamically, or
* - if the struct is allocated together with driver data (an example of
* such behavior is struct net_device or struct request).
*
* RH_KABI_EXTEND_WITH_SIZE
* Adds a new element (usually a struct) to a struct and reserves extra
* space for the new element. The provided 'size' is the total space to
* be added in longs (i.e. it's 8 * 'size' bytes), including the size of
* the added element. It is automatically checked that the new element
*