Просмотр исходного кода

start support for gettimeofday and tv_usec

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@116 f882894a-f735-0410-b71e-b25c423dba1c
Karl DeBisschop 23 лет назад
Родитель
Сommit
6cbf1dd4a3
2 измененных файлов с 39 добавлено и 7 удалено
  1. 13 0
      plugins/utils.c
  2. 26 7
      plugins/utils.h.in

+ 13 - 0
plugins/utils.c

@@ -316,6 +316,19 @@ is_option (char *str)
 
 
 
+double
+delta_time (struct timeval *tv)
+{
+	struct timeval *pt;
+	struct timezone *tz;
+
+	gettimeofday (pt, tz);
+
+	return (pt->tv_sec - tv->tv_sec + (pt->tv_usec - tv->tv_usec) / 1000000);
+}
+
+
+
 
 void
 strip (char *buffer)

+ 26 - 7
plugins/utils.h.in

@@ -45,13 +45,31 @@ int is_percentage (char *);
 
 int is_option (char *);
 
+/* generalized timer that will do milliseconds if available */
+#ifndef HAVE_GETTIMEOFDAY
+struct timeval {
+	long tv_sec;        /* seconds */
+	long tv_usec;  /* microseconds */
+};
+
+struct timezone {
+	int  tz_minuteswest; /* minutes W of Greenwich */
+	int  tz_dsttime;     /* type of dst correction */
+};
+
+#define gettimeofday (tvp,tz) {\
+ tvp->tv_usec=0;\
+ tvp->tv_sec=(long)time();\
+}
+#endif
+
 /* Handle strings safely */
 
 void strip (char *buffer);
 char *strscpy (char *dest, char *src);
 char *strscat (char *dest, char *src);
 char *strnl (char *str);
-char *ssprintf (char *str, const char *fmt, ...);
+char *ssprintf (char *str, const char *fmt, ...); /* deprecate for asprintf */
 char *strpcpy (char *dest, const char *src, const char *str);
 char *strpcat (char *dest, const char *src, const char *str);
 
@@ -61,15 +79,15 @@ int max_state(int, int);
 #define max(a,b) ((a)>(b))?(a):(b)
 
 #define usage(msg) {\
-  printf(msg);\
-  print_usage();\
-exit(STATE_UNKNOWN);\
+ printf(msg);\
+ print_usage();\
+ exit(STATE_UNKNOWN);\
 }
 
 #define usage2(msg,arg) {\
-  printf("%s: %s - %s\n",PROGNAME,msg,arg);\
-  print_usage();\
-  exit(STATE_UNKNOWN);\
+ printf("%s: %s - %s\n",PROGNAME,msg,arg);\
+ print_usage();\
+ exit(STATE_UNKNOWN);\
 }
 
 #define state_text(a) \
@@ -94,3 +112,4 @@ exit(STATE_UNKNOWN);\
 {"warning",required_argument,0,'w'},\
 {"hostname",required_argument,0,'H'},\
 {"file",required_argument,0,'F'}
+