mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 09:59:32 +00:00
32 lines
640 B
C
32 lines
640 B
C
![]() |
#ifndef _LINUX_ERR_H
|
||
|
#define _LINUX_ERR_H
|
||
|
|
||
|
#include <linux/compiler.h>
|
||
|
|
||
|
#include <asm/errno.h>
|
||
|
|
||
|
/*
|
||
|
* Kernel pointers have redundant information, so we can use a
|
||
|
* scheme where we can return either an error code or a dentry
|
||
|
* pointer with the same return value.
|
||
|
*
|
||
|
* This should be a per-architecture thing, to allow different
|
||
|
* error and pointer decisions.
|
||
|
*/
|
||
|
static inline void *ERR_PTR(long error)
|
||
|
{
|
||
|
return (void *) error;
|
||
|
}
|
||
|
|
||
|
static inline long PTR_ERR(const void *ptr)
|
||
|
{
|
||
|
return (long) ptr;
|
||
|
}
|
||
|
|
||
|
static inline long IS_ERR(const void *ptr)
|
||
|
{
|
||
|
return unlikely((unsigned long)ptr > (unsigned long)-1000L);
|
||
|
}
|
||
|
|
||
|
#endif /* _LINUX_ERR_H */
|