/include/linux/typecheck.h

https://github.com/airy09/android_kernel_sony_apq8064 · C Header · 24 lines · 13 code · 3 blank · 8 comment · 1 complexity · b126b84611d4b4e30fdc865112fc72be MD5 · raw file

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