CScpp/Debug.h
author hh
Thu, 21 Nov 2019 14:55:10 +0100
changeset 0 5c129dd80d4f
permissions -rw-r--r--
--
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
hh
parents:
diff changeset
     1
#ifndef _DebugH_
hh
parents:
diff changeset
     2
#define _DebugH_ 1
hh
parents:
diff changeset
     3
hh
parents:
diff changeset
     4
class DebugC {		// independent utility staff
hh
parents:
diff changeset
     5
	public:
hh
parents:
diff changeset
     6
		static int debug;					// debug log level
hh
parents:
diff changeset
     7
		static char *prg_name;			// not used at the moment
hh
parents:
diff changeset
     8
		static long int t0;
hh
parents:
diff changeset
     9
		static sem_t semaphore;			// semafor for log timestamping
hh
parents:
diff changeset
    10
		static sem_t *semP;				// -->semafor for log timestamping
hh
parents:
diff changeset
    11
		static void debug_init(char *prgname);
hh
parents:
diff changeset
    12
hh
parents:
diff changeset
    13
		char s[256];						// debug msg workspace
hh
parents:
diff changeset
    14
		char debid[128];					// debug ID of process
hh
parents:
diff changeset
    15
hh
parents:
diff changeset
    16
		void pre(char *o);
hh
parents:
diff changeset
    17
		void deb(int level);
hh
parents:
diff changeset
    18
		void err(int level, char *o);
hh
parents:
diff changeset
    19
		void back_trace();
hh
parents:
diff changeset
    20
};
hh
parents:
diff changeset
    21
typedef DebugC *DebugP;
hh
parents:
diff changeset
    22
hh
parents:
diff changeset
    23
#define DEBID(...) sprintf(deP->debid, __VA_ARGS__)
hh
parents:
diff changeset
    24
#define LOG(level, ...) sprintf(deP->s, __VA_ARGS__), deP->deb(level)
hh
parents:
diff changeset
    25
#endif