linux/include/linux/typecheck.h
<<
>>
Prefs
   1#ifndef TYPECHECK_H_INCLUDED
   2#define TYPECHECK_H_INCLUDED
   3
   4/*
   5 * Check at compile time that something is of a particular type.
   6 * Always evaluates to 1 so you may use it easily in comparisons.
   7 */
   8#define typecheck(type,x) \
   9({      type __dummy; \
  10        typeof(x) __dummy2; \
  11        (void)(&__dummy == &__dummy2); \
  12        1; \
  13})
  14
  15/*
  16 * Check at compile time that 'function' is a certain type, or is a pointer
  17 * to that type (needs to use typedef for the function type.)
  18 */
  19#define typecheck_fn(type,function) \
  20({      typeof(type) __tmp = function; \
  21        (void)__tmp; \
  22})
  23
  24#endif          /* TYPECHECK_H_INCLUDED */
  25