diff options
author | Brad Bishop <bradleyb@us.ibm.com> | 2014-06-30 22:10:16 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2014-07-02 22:49:29 -0500 |
commit | bf4630076762d9c20c16c80c1c791f352b046dd1 (patch) | |
tree | efc67bad010a28fd1abf5aeeefda2a969514fd97 /clib/attribute.h | |
download | ffs-bf4630076762d9c20c16c80c1c791f352b046dd1.tar.gz ffs-bf4630076762d9c20c16c80c1c791f352b046dd1.zip |
Port FFS tools over from Building Block repository.
Diffstat (limited to 'clib/attribute.h')
-rw-r--r-- | clib/attribute.h | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/clib/attribute.h b/clib/attribute.h new file mode 100644 index 0000000..2213096 --- /dev/null +++ b/clib/attribute.h @@ -0,0 +1,105 @@ +/* + * Copyright (c) International Business Machines Corp., 2014 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * File: attribute.h + * Author: Shaun Wetzstein <shaun@us.ibm.com> + * Descr: GCC attribute helpers + * Note: + * Date: 08/29/10 + */ +/*! @file attribute.h + * @brief Attribute helpers + * @author Shaun Wetzstein <shaun@us.ibm.com> + * @date 2010-2011 + */ + +#ifndef __ATTRIBUTE_H__ +#define __ATTRIBUTE_H__ + +/*! + * @def __constructor + * @hideinitializer + * @brief Constructor function attribute + */ +#define __constructor __attribute__ ((constructor)) + +/*! + * @def __destructor + * @hideinitializer + * @brief Desstructor function attribute + */ +#define __destructor __attribute__ ((destructor)) + +/*! + * @def __deprecated + * @hideinitializer + * @brief Deprecated function attribute + */ +#define __deprecated __attribute__ ((deprecated)) + +/*! + * @def __inline + * @hideinitializer + * @brief Inline function attribute + */ +#define __inline __attribute__ ((always_inline)) + +/*! + * @def __used + * @hideinitializer + * @brief Used identifier attribute + */ +#define __used __attribute__ ((__used__)) + +/*! + * @def __used + * @hideinitializer + * @brief Used identifier attribute + */ +#define __unused__ __attribute__ ((__unused__)) + +/*! + * @def __const + * @hideinitializer + * @brief Const identifier attribute + */ +#define __const __attribute__ ((__const__)) + +/*! + * @def __must_check + * @hideinitializer + * @brief Warning about "unused" identifier attribute + */ +#define __must_check __attribute__ ((warn_unused_result)) + +/*! + * @def __packed + * @hideinitializer + * @brief Packed structure identifier attribute + */ +#define __packed __attribute__ ((packed)) + +/*! + * @def __cleanup + * @hideinitializer + * @brief Clenaup variable attribute + */ +#define __cleanup(f) __attribute__ ((cleanup(f))) + +#endif /* __ATTRIBUTE_H__ */ |