#define PACKED __attribute__((packed))
//! Mark a function as not returning
#define NORETURN __attribute__((noreturn))
+//! Mark a function (or variable) as deprecated
+#define DEPRECATED __attribute__((deprecated))
//! Mark a parameter as unused
#define UNUSED(x) UNUSED_##x __attribute__((unused))
//! Get the offset of a member in a structure
typedef Sint64 tTime; //!< Same again
typedef struct sShortSpinlock tShortSpinlock; //!< Opaque (kinda) spinlock
typedef int bool; //!< Boolean type
+typedef Uint64 off_t; //!< VFS Offset
// --- Helper Macros ---
/**
# define LEAVE_RET0() return
#endif
#if SANITY
-# define ASSERT(expr) do{if(!(expr))Panic("%s: Assertion '"#expr"' failed",(char*)__func__);}while(0)
+# define ASSERT(expr) do{if(!(expr))Panic("%s:%i - %s: Assertion '"#expr"' failed",__FILE__,__LINE__,(char*)__func__);}while(0)
#else
# define ASSERT(expr)
#endif
* \{
*/
extern int vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args);
+extern int snprintf(char *__s, size_t __n, const char *__format, ...);
extern int sprintf(char *__s, const char *__format, ...);
extern size_t strlen(const char *Str);
extern char *strcpy(char *__dest, const char *__src);