/* Log-message categories. Only FERROR and FINFO get sent over the socket,
* but FLOG and FSOCKERR can be sent over the receiver -> generator pipe.
* FLOG only goes to the log file, not the client; FCLIENT is the opposite. */
-enum logcode { FERROR=1, FINFO=2, FLOG=3, FCLIENT=4, FSOCKERR=5 };
+enum logcode { FNONE=0, FERROR=1, FINFO=2, FLOG=3, FCLIENT=4, FSOCKERR=5 };
/* Messages types that are sent over the message channel. The logcode
* values must all be present here with identical numbers. */
#define HL_SKIP 1
struct hlink {
- int next;
- int hlindex;
+ int32 next;
+ int32 hlindex;
+ unsigned short link_dest_used;
};
#define F_DEV link_u.idev->dev
#include "lib/permstring.h"
#include "lib/addrinfo.h"
-#if !defined __GNUC__ || defined __APPLE__
-/* Apparently the OS X port of gcc gags on __attribute__.
- *
- * <http://www.opensource.apple.com/bugs/X/gcc/2512150.html> */
+#ifndef __GNUC__
#define __attribute__(x)
#endif
#define UNUSED(x) x __attribute__((__unused__))
+#define NORETURN __attribute__((__noreturn__))
#include "proto.h"
#ifndef WEXITSTATUS
#define WEXITSTATUS(stat) ((int)(((stat)>>8)&0xFF))
#endif
+#ifndef WIFEXITED
+#define WIFEXITED(stat) ((int)((stat)&0xFF) == 0)
+#endif
#define exit_cleanup(code) _exit_cleanup(code, __FILE__, __LINE__)