__internal_ret__; \
})
-#define sysdebug(__ret__, format, ...) \
- ({ \
- typeof(__ret__) __internal_ret__ = (__ret__); \
- SYSDEBUG(format, ##__VA_ARGS__); \
- __internal_ret__; \
- })
-
#define systrace(__ret__, format, ...) \
({ \
typeof(__ret__) __internal_ret__ = (__ret__); \
__internal_ret__; \
})
+#define syserror(format, ...) \
+ ({ \
+ SYSERROR(format, ##__VA_ARGS__); \
+ (-errno); \
+ })
+
+#define syserror_set(__ret__, format, ...) \
+ ({ \
+ typeof(__ret__) __internal_ret__ = (__ret__); \
+ errno = labs(__ret__); \
+ SYSERROR(format, ##__VA_ARGS__); \
+ __internal_ret__; \
+ })
+
+#define sysdebug(format, ...) \
+ ({ \
+ SYSDEBUG(format, ##__VA_ARGS__); \
+ (-errno); \
+ })
+
+#define sysdebug_set(__ret__, format, ...) \
+ ({ \
+ typeof(__ret__) __internal_ret__ = (__ret__); \
+ errno = labs(__ret__); \
+ SYSDEBUG(format, ##__VA_ARGS__); \
+ __internal_ret__; \
+ })
+
#define log_error(__ret__, format, ...) \
({ \
typeof(__ret__) __internal_ret__ = (__ret__); \