chiark / gitweb /
hostside: more length for bavarian
[trains.git] / hostside / realtime.h
index 2affa20285c0833f88617c20149851853698b7be..d644ca21de773bdee6b1dc719fdb6551227b35e9 100644 (file)
 
 #include <fcntl.h>
 #include <dirent.h>
+#include <inttypes.h>
 
 #include <sys/types.h>
 #include <sys/time.h>
 
+#include "../.git-revid-autoversion.h"
 #include "../layout/layout-data.h"
 #include "realtime+dflags.h"
 
-typedef struct Segment Segment;
-typedef struct Train Train;
+typedef struct Segment Segment; /* from safety.h */
+typedef struct Train Train; /* from safety.h */
 typedef struct TimeoutEvent TimeoutEvent;
 
 /*---------- from retransmit.c ----------*/
@@ -108,6 +110,7 @@ extern AdjunctsAddr **adjaddrs;
 
 extern CommandInput cmdi;
 extern int picio_send_noise;
+extern int disable_watchdog;
 
 #define CIXF_U                 0x0000ffffu
 #define CIXF_FORCE             0x00010000u
@@ -155,6 +158,9 @@ void serial_transmit(const PicInsn *pi);
 void command_doline(ParseState *ps, CommandInput *cmdi_arg);
 const CmdInfo *current_cmd;
 
+void check_rusage_baseline(void);
+void check_rusage_check(int always_report);
+
 /*---------- for/from simulate.c ----------*/
 
 void serial_indata_process(int buf_used);
@@ -194,6 +200,7 @@ void adjuncts_updated(AdjunctsAddr *a);
 
 void points_turning_on(void);
 void motions_all_abandon(void);
+void movpos_reportall(void);
 
 /*---------- from eventhelp.c ----------*/
 
@@ -222,9 +229,10 @@ void toev_stop(TimeoutEvent*);    /* IR -> I */
 
 void realtime_priority(void);
 
-#define RTFEAT_DEFAULTS  0100u /* turns on MLOCK and SCHEDPRIO iff not sim */
+#define RTFEAT_DEFAULTS  0100u /* turns things on iff not sim */
 #define RTFEAT_MEM       0001u /* mlock */
 #define RTFEAT_CPU       0002u /* hard CPU scheduling priority */
+#define RTFEAT_RUSAGE    0004u /* check up on faults etc. in getrusage */
 
 #define RTFEAT_ALL_SHIFT 16
 #define RTFEAT_ALL(x) (RTFEAT_##x << RTFEAT_ALL_SHIFT)