summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: ecfac61)
raw | patch | inline | side by side (parent: ecfac61)
author | Alexander Wirt <formorer@formorer.de> | |
Mon, 18 Feb 2008 23:19:55 +0000 (00:19 +0100) | ||
committer | Alexander Wirt <formorer@lisa.springfield.lan> | |
Mon, 18 Feb 2008 23:19:55 +0000 (00:19 +0100) |
119 files changed:
index 56bf7d0aec29ff30ce56c5dce0968f03d3248746..cf537f81b5b12ea41936cf90062f67eaebe6bbfa 100644 (file)
--- a/CHANGES
+++ b/CHANGES
+2008-02-17 10:09 oetiker
+
+ * rrdtool-1.2-release: prepare for the release of rrdtool-1.2.27
+
+2008-02-17 10:08 oetiker
+
+ * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+ configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/Makefile.am,
+ src/gdpng.c, src/pngsize.c, src/rrd.h, src/rrd_afm.c,
+ src/rrd_afm.h, src/rrd_afm_data.c, src/rrd_afm_data.h,
+ src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+ src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+ src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+ src/rrd_gfx.c, src/rrd_gfx.h, src/rrd_graph.c,
+ src/rrd_graph_helper.c, src/rrd_hw.c, src/rrd_hw.h,
+ src/rrd_info.c, src/rrd_is_thread_safe.h, src/rrd_last.c,
+ src/rrd_lastupdate.c, src/rrd_not_thread_safe.c, src/rrd_open.c,
+ src/rrd_resize.c, src/rrd_restore.c, src/rrd_rpncalc.c,
+ src/rrd_rpncalc.h, src/rrd_stat.c, src/rrd_thread_safe.c,
+ src/rrd_thread_safe_nt.c, src/rrd_tool.c, src/rrd_tool.h,
+ src/rrd_tune.c, src/rrd_update.c, src/rrd_version.c,
+ src/rrd_xport.c, src/rrd_xport.h, src/rrdupdate.c: prepare for
+ 1.2.27 release
+
+2008-02-14 07:25 oetiker
+
+ * doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod,
+ doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: fixes for better web
+ rendering
+
+2008-02-04 18:17 oetiker
+
+ * COPYRIGHT: added ZPL 2.1 to floss exception
+
+2008-02-01 06:52 oetiker
+
+ * src/rrd_graph.c, trunk/program/src/rrd_graph.c: fixed parsing of
+ fontnames with embeded spaces
+
+2008-01-14 16:47 oetiker
+
+ * bindings/tcl/tclrrd.c, configure.ac, src/rrd_cgi.c: * fix fadvice
+ and madvice inclusion ... again * fix rrdcgi warning * fix
+ warnings in tcl bindings -- Peter Breitenlohner peb mppmu.mpg.de
+
+2008-01-12 18:36 oetiker
+
+ * src/rrd_graph.c: weekday and time are too tight
+
+2007-12-08 22:17 oetiker
+
+ * configure.ac: fixing the solaris build
+
+2007-11-23 18:18 oetiker
+
+ * netware/Makefile, src/rrd_update.c, win32/Makefile: updates for
+ netware and mingw32 ... allows for crosscompilation
+
+2007-11-22 12:33 oetiker
+
+ * src/rrd_update.c: make update compile for mingw32 3.4.5
+
+2007-11-21 10:51 oetiker
+
+ * configure.ac: fixedspellingfor netbsd
+
+2007-11-21 06:57 oetiker
+
+ * bindings/perl-shared/Makefile.PL, configure.ac, src/rrd_tool.h,
+ src/rrd_update.c: * improve portability of compile environment to
+ netbsd and solaris
+
2007-11-20 00:15 oetiker
* bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
diff --git a/COPYRIGHT b/COPYRIGHT
index ab5c6955bf03d18755486c3ea6cd9188c8f87bc3..22c971f93bab54af116ca63b00a88257a6dbac4d 100644 (file)
--- a/COPYRIGHT
+++ b/COPYRIGHT
- RRDTOOL - Round Robin Database Tool
- A tool for fast logging of numerical data graphical display
- of this data.
-
- Copyright (c) 1998-2006 Tobias Oetiker
- All rights reserved.
-
- GNU GPL License
- ===============
-
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
-
- FLOSS License Exception
- =======================
- (Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html)
-
- I want specified Free/Libre and Open Source Software ("FLOSS")
- applications to be able to use specified GPL-licensed RRDtool
- libraries (the "Program") despite the fact that not all FLOSS licenses are
- compatible with version 2 of the GNU General Public License (the "GPL").
-
- As a special exception to the terms and conditions of version 2.0 of the GPL:
-
- You are free to distribute a Derivative Work that is formed entirely from
- the Program and one or more works (each, a "FLOSS Work") licensed under one
- or more of the licenses listed below, as long as:
-
- 1. You obey the GPL in all respects for the Program and the Derivative
- Work, except for identifiable sections of the Derivative Work which are
- not derived from the Program, and which can reasonably be considered
- independent and separate works in themselves,
-
- 2. all identifiable sections of the Derivative Work which are not derived
- from the Program, and which can reasonably be considered independent and
- separate works in themselves,
-
- 1. are distributed subject to one of the FLOSS licenses listed
- below, and
-
- 2. the object code or executable form of those sections are
- accompanied by the complete corresponding machine-readable source
- code for those sections on the same medium and under the same FLOSS
- license as the corresponding object code or executable forms of
- those sections, and
-
- 3. any works which are aggregated with the Program or with a Derivative
- Work on a volume of a storage or distribution medium in accordance with
- the GPL, can reasonably be considered independent and separate works in
- themselves which are not derivatives of either the Program, a Derivative
- Work or a FLOSS Work.
-
- If the above conditions are not met, then the Program may only be copied,
- modified, distributed or used under the terms and conditions of the GPL.
-
- FLOSS License List
- ==================
- License name Version(s)/Copyright Date
- Academic Free License 2.0
- Apache Software License 1.0/1.1/2.0
- Apple Public Source License 2.0
- Artistic license From Perl 5.8.0
- BSD license "July 22 1999"
- Common Public License 1.0
- GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1
- IBM Public License, Version 1.0
- Jabber Open Source License 1.0
- MIT License (As listed in file MIT-License.txt) -
- Mozilla Public License (MPL) 1.0/1.1
- Open Software License 2.0
- OpenSSL license (with original SSLeay license) "2003" ("1998")
- PHP License 3.0
- Python license (CNRI Python License) -
- Python Software Foundation License 2.1.1
- Sleepycat License "1999"
- W3C License "2001"
- X11 License "2001"
- Zlib/libpng License -
- Zope Public License 2.0
+RRDTOOL - Round Robin Database Tool
+A tool for fast logging of numerical data graphical display
+of this data.
+
+Copyright (c) 1998-2008 Tobias Oetiker
+All rights reserved.
+
+GNU GPL License
+===============
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
+FLOSS License Exception
+=======================
+(Adapted from http://www.mysql.com/company/legal/licensing/foss-exception.html)
+
+I want specified Free/Libre and Open Source Software ("FLOSS")
+applications to be able to use specified GPL-licensed RRDtool
+libraries (the "Program") despite the fact that not all FLOSS licenses are
+compatible with version 2 of the GNU General Public License (the "GPL").
+
+As a special exception to the terms and conditions of version 2.0 of the GPL:
+
+You are free to distribute a Derivative Work that is formed entirely from
+the Program and one or more works (each, a "FLOSS Work") licensed under one
+or more of the licenses listed below, as long as:
+
+1. You obey the GPL in all respects for the Program and the Derivative
+Work, except for identifiable sections of the Derivative Work which are
+not derived from the Program, and which can reasonably be considered
+independent and separate works in themselves,
+
+2. all identifiable sections of the Derivative Work which are not derived
+from the Program, and which can reasonably be considered independent and
+separate works in themselves,
+
+1. are distributed subject to one of the FLOSS licenses listed
+below, and
+
+2. the object code or executable form of those sections are
+accompanied by the complete corresponding machine-readable source
+code for those sections on the same medium and under the same FLOSS
+license as the corresponding object code or executable forms of
+those sections, and
+
+3. any works which are aggregated with the Program or with a Derivative
+Work on a volume of a storage or distribution medium in accordance with
+the GPL, can reasonably be considered independent and separate works in
+themselves which are not derivatives of either the Program, a Derivative
+Work or a FLOSS Work.
+
+If the above conditions are not met, then the Program may only be copied,
+modified, distributed or used under the terms and conditions of the GPL.
+
+FLOSS License List
+==================
+License name Version(s)/Copyright Date
+Academic Free License 2.0
+Apache Software License 1.0/1.1/2.0
+Apple Public Source License 2.0
+Artistic license From Perl 5.8.0
+BSD license "July 22 1999"
+Common Public License 1.0
+GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1
+IBM Public License, Version 1.0
+Jabber Open Source License 1.0
+MIT License (As listed in file MIT-License.txt) -
+Mozilla Public License (MPL) 1.0/1.1
+Open Software License 2.0
+OpenSSL license (with original SSLeay license) "2003" ("1998")
+PHP License 3.0
+Python license (CNRI Python License) -
+Python Software Foundation License 2.1.1
+Sleepycat License "1999"
+W3C License "2001"
+X11 License "2001"
+Zlib/libpng License -
+Zope Public License 2.0/2.1
index 3dce004a3a76ba88915f7dd9e289b89658c2ded0..bc95a1289918d923243a89b394d6755b58b4146c 100644 (file)
sub end ();
sub read ();
-$VERSION=1.2026;
+$VERSION=1.2027;
sub start ($){
croak "rrdtool is already running"
index 863444c787c423c14a571c599a2ebe7a5a5a9f3e..c31f3b9d649686dbd87db0ccd8f176bce692c5b9 100644 (file)
'VERSION_FROM' => 'RRDs.pm', # finds $VERSION
'DEFINE' => "-DPERLPATCHLEVEL=$Config{PATCHLEVEL}",
'INC' => '-I../../src',
+ 'LIBS' => '-lm -lpng -lz -lfreetype',
# Perl will figure out which one is valid
- 'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"},
+ #'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"},
+ 'depend' => {'RRDs.c' => "../../src/librrd.la"},
+ 'LDFROM' => '$(OBJECT) '.$librrd,
'realclean' => {FILES => 't/demo?.rrd t/demo?.png' }
);
index 2c02dadc76cc054627cd731ca91f7ecbf7fe00bf..44b4d8cfc0277a4847e26dd89746213da4d56d79 100644 (file)
require DynaLoader;
-$VERSION=1.2026;
+$VERSION=1.2027;
bootstrap RRDs $VERSION;
diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c
index b1b43cce7baf0b8908bd0183f61441e84951d52e..0086cc82205bf4322111a5339b50c0a1433d2956 100644 (file)
--- a/bindings/tcl/tclrrd.c
+++ b/bindings/tcl/tclrrd.c
* See the file "COPYING" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * $Id: tclrrd.c 1044 2007-05-02 05:08:21Z oetiker $
+ * $Id: tclrrd.c 1268 2008-01-14 16:47:23Z oetiker $
*/
@@ -100,6 +100,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
unsigned long int pdp_step = 300;
struct rrd_time_value last_up_tv;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
for (argv_i = 1; argv_i < argc; argv_i++) {
@@ -169,7 +171,7 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
return TCL_ERROR;
}
- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, argv2 + 2);
+ rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, (const char **) argv2 + 2);
getopt_cleanup(argc, argv2);
@@ -189,6 +191,8 @@ Rrd_Create(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
static int
Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
{
+ (void) clientData; /* slience gcc */
+
if (argc < 2) {
Tcl_AppendResult(interp, "RRD Error: needs rrd filename",
(char *) NULL);
@@ -215,6 +219,8 @@ Rrd_Dump(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv
static int
Rrd_Last(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv[])
{
+ (void) clientData; /* slience gcc */
+
time_t t;
if (argc < 2) {
@@ -246,6 +252,8 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
int argv_i;
char **argv2, *template = NULL;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
for (argv_i = 1; argv_i < argc; argv_i++) {
@@ -291,7 +299,7 @@ Rrd_Update(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
return TCL_ERROR;
}
- rrd_update_r(argv2[1], template, argc - 2, argv2 + 2);
+ rrd_update_r(argv2[1], template, argc - 2, (const char **) argv2 + 2);
if (template != NULL) {
free(template);
@@ -319,6 +327,8 @@ Rrd_Lastupdate(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char
Tcl_Obj *listPtr;
unsigned long ds_cnt, i;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
if (rrd_lastupdate(argc-1, argv2, &last_update,
&ds_cnt, &ds_namv, &last_ds) == 0) {
@@ -358,6 +368,8 @@ Rrd_Fetch(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg
char s[30];
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
if (rrd_fetch(argc, argv2, &start, &end, &step,
&ds_cnt, &ds_namv, &data) != -1) {
@@ -402,6 +414,8 @@ Rrd_Graph(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *arg
char **argv2;
CONST84 char *save;
+ (void) clientData; /* slience gcc */
+
/*
* If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to
* that file descriptor. Will this work with windoze? I have no idea.
@@ -496,6 +510,8 @@ Rrd_Tune(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *argv
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_tune(argc, argv2);
getopt_cleanup(argc, argv2);
@@ -517,6 +533,8 @@ Rrd_Resize(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *ar
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_resize(argc, argv2);
getopt_cleanup(argc, argv2);
@@ -538,6 +556,8 @@ Rrd_Restore(ClientData clientData, Tcl_Interp *interp, int argc, CONST84 char *a
{
char **argv2;
+ (void) clientData; /* slience gcc */
+
argv2 = getopt_init(argc, argv);
rrd_restore(argc, argv2);
getopt_cleanup(argc, argv2);
diff --git a/configure b/configure
index 715e1f96fe5b02bb667c5902169077137d696566..105dfce5d17f9fa0109b9c400acc5f6184931ee7 100755 (executable)
--- a/configure
+++ b/configure
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for rrdtool 1.2.26.
+# Generated by GNU Autoconf 2.61 for rrdtool 1.2.27.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Identity of this package.
PACKAGE_NAME='rrdtool'
PACKAGE_TARNAME='rrdtool'
-PACKAGE_VERSION='1.2.26'
-PACKAGE_STRING='rrdtool 1.2.26'
+PACKAGE_VERSION='1.2.27'
+PACKAGE_STRING='rrdtool 1.2.27'
PACKAGE_BUGREPORT=''
ac_default_prefix=/usr/local/rrdtool-$PACKAGE_VERSION
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures rrdtool 1.2.26 to adapt to many kinds of systems.
+\`configure' configures rrdtool 1.2.27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of rrdtool 1.2.26:";;
+ short | recursive ) echo "Configuration of rrdtool 1.2.27:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-rrdtool configure 1.2.26
+rrdtool configure 1.2.27
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by rrdtool $as_me 1.2.26, which was
+It was created by rrdtool $as_me 1.2.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2027,7 +2027,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-NUMVERS=1.2026
+NUMVERS=1.2027
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
# Define the identity of the package.
PACKAGE='rrdtool'
- VERSION='1.2.26'
+ VERSION='1.2.27'
cat >>confdefs.h <<_ACEOF
-for ac_header in sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h
+
+for ac_header in features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
fi
-{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5
-echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then
+
+if test "x$enable_mmap" = "xyes"; then
+ case "$host" in
+ *cygwin*)
+ # the normal mmap test does not work in cygwin
+
+for ac_func in mmap
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#define _XOPEN_SOURCE 600
-#include <fcntl.h>
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
int
main ()
{
-#ifndef posix_fadvise
- (void) posix_fadvise;
-#endif
-
+return $ac_func ();
;
return 0;
}
_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
+ (eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_have_decl_posix_fadvise=yes
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_have_decl_posix_fadvise=no
+ eval "$as_ac_var=no"
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5
-echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; }
-if test $ac_cv_have_decl_posix_fadvise = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_POSIX_FADVISE 1
-_ACEOF
-
-
-else
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_POSIX_FADVISE 0
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
-
fi
+done
+ if test "x$ac_cv_func_mmap" = "xyes"; then
+ ac_cv_func_mmap_fixed_mapped=yes
+ fi
+ ;;
+ *)
-{ echo "$as_me:$LINENO: checking whether madvise is declared" >&5
-echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_madvise+set}" = set; then
+for ac_header in sys/mman.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
else
- cat >conftest.$ac_ext <<_ACEOF
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-#include <sys/mman.h>
-
-int
-main ()
-{
-#ifndef madvise
- (void) madvise;
-#endif
-
- ;
- return 0;
-}
+$ac_includes_default
+#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
@@ -21281,33 +21318,1060 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
- ac_cv_have_decl_madvise=yes
+ ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
- ac_cv_have_decl_madvise=no
+ ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5
-echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; }
-if test $ac_cv_have_decl_madvise = yes; then
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MADVISE 1
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MADVISE 0
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
+fi
+
+done
+
+
+for ac_header in stdlib.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_func in getpagesize
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ echo "$as_me:$LINENO: checking for working mmap" >&5
+echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; }
+if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+/* malloc might have been renamed as rpl_malloc. */
+#undef malloc
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the file system buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propagated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+char *malloc ();
+#endif
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+/* Assume that all systems that can run configure have sys/param.h. */
+# ifndef HAVE_SYS_PARAM_H
+# define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+int
+main ()
+{
+ char *data, *data2, *data3;
+ int i, pagesize;
+ int fd;
+
+ pagesize = getpagesize ();
+
+ /* First, make a file with some known garbage in it. */
+ data = (char *) malloc (pagesize);
+ if (!data)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand ();
+ umask (0);
+ fd = creat ("conftest.mmap", 0600);
+ if (fd < 0)
+ return 1;
+ if (write (fd, data, pagesize) != pagesize)
+ return 1;
+ close (fd);
+
+ /* Next, try to mmap the file at a fixed address which already has
+ something else allocated at it. If we can, also make sure that
+ we see the same garbage. */
+ fd = open ("conftest.mmap", O_RDWR);
+ if (fd < 0)
+ return 1;
+ data2 = (char *) malloc (2 * pagesize);
+ if (!data2)
+ return 1;
+ data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+ if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ return 1;
+
+ /* Finally, make sure that changes to the mapped area do not
+ percolate back to the file as seen by read(). (This is a bug on
+ some variants of i386 svr4.0.) */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = (char *) malloc (pagesize);
+ if (!data3)
+ return 1;
+ if (read (fd, data3, pagesize) != pagesize)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ return 1;
+ close (fd);
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_mmap_fixed_mapped=yes
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
+echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; }
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MMAP 1
+_ACEOF
+
+fi
+rm -f conftest.mmap
+
+
+
+
+for ac_func in mmap munmap msync
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ { echo "$as_me:$LINENO: checking whether madvise is declared" >&5
+echo $ECHO_N "checking whether madvise is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_madvise+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef HAVE_SYS_MMAN_H
+ # include <sys/mman.h>
+ #endif
+
+int
+main ()
+{
+#ifndef madvise
+ (void) madvise;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_madvise=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_madvise=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_madvise" >&5
+echo "${ECHO_T}$ac_cv_have_decl_madvise" >&6; }
+if test $ac_cv_have_decl_madvise = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MADVISE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_MADVISE 0
+_ACEOF
+
+
+fi
+
+
+ if test "x$ac_cv_have_decl_madvise" = "xyes";
+ then
+
+for ac_func in madvise
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ else
+
+for ac_func in posix_madvise
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ if test "x$ac_cv_func_posix_madvise" != "xyes"; then
+ { echo "$as_me:$LINENO: WARNING: madvise() nor posix_madvise() found." >&5
+echo "$as_me: WARNING: madvise() nor posix_madvise() found." >&2;}
+ fi
+ fi
+ ;;
+ esac
+ if test "x$ac_cv_func_mmap" != "xyes";
+ then
+ { { echo "$as_me:$LINENO: error: --enable-mmap requested but mmap() was not detected" >&5
+echo "$as_me: error: --enable-mmap requested but mmap() was not detected" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether posix_fadvise is declared" >&5
+echo $ECHO_N "checking whether posix_fadvise is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_posix_fadvise+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _XOPEN_SOURCE 600
+#include <fcntl.h>
+
+int
+main ()
+{
+#ifndef posix_fadvise
+ (void) posix_fadvise;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_posix_fadvise=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_posix_fadvise=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_posix_fadvise" >&5
+echo "${ECHO_T}$ac_cv_have_decl_posix_fadvise" >&6; }
+if test $ac_cv_have_decl_posix_fadvise = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_POSIX_FADVISE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_POSIX_FADVISE 0
+_ACEOF
+
+
+fi
+
+
+
+for ac_func in posix_fadvise
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
if test "x$enable_mmap" = xyes; then
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by rrdtool $as_me 1.2.26, which was
+This file was extended by rrdtool $as_me 1.2.27, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-rrdtool config.status 1.2.26
+rrdtool config.status 1.2.27
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index e09c051c2ece20546af777639649072d56ea5fe9..f2384275e8eb2b9cfbb699f86dd1f83f65a58e62 100644 (file)
--- a/configure.ac
+++ b/configure.ac
dnl tell automake the this script is for rrdtool
dnl the official version number is
dnl a.b.c
-AC_INIT([rrdtool],[1.2.26])
+AC_INIT([rrdtool],[1.2.27])
dnl for testing a numberical version number comes handy
dnl the released version are
dnl a.bccc
dnl the devl versions will be something like
dnl a.b999yymmddhh
-NUMVERS=1.2026
+NUMVERS=1.2027
AC_SUBST(NUMVERS)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
/* realloc does not support NULL as argument */
#undef NO_NULL_REALLOC
+/* lets enable madvise defines in NetBSD */
+#if defined(__NetBSD__)
+# if !defined(_NETBSD_SOURCE)
+# define _NETBSD_SOURCE
+# endif
+#endif
+
])
AH_BOTTOM([
-/* enable posix_fadvise on linux */
-#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H)
+#ifdef HAVE_FEATURES_H
#define _XOPEN_SOURCE 600
+#undef _BSD_SOURCE /* comment to prevent configure from modifying this line */
+#define _BSD_SOURCE 1
+# include <features.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+# include <errno.h>
+#endif
+
+#if defined(HAVE_SYS_MMAN_H)
+#include <sys/mman.h>
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+#ifndef MAXPATH
+# ifdef PATH_MAX
+# define MAXPATH PATH_MAX
+# endif
+#endif
+#ifndef MAXPATH
+/* else try the BSD variant */
+# ifdef MAXPATHLEN
+# define MAXPATH MAXPATHLEN
+# endif
+#endif
+
+#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE
+/* use posix_madvise family */
+# define madvise posix_madvise
+# define MADV_NORMAL POSIX_MADV_NORMAL
+# define MADV_RANDOM POSIX_MADV_RANDOM
+# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL
+# define MADV_WILLNEED POSIX_MADV_WILLNEED
+# define MADV_DONTNEED POSIX_MADV_DONTNEED
+#endif
+
+#if defined POSIX_MADV_RANDOM && !defined MADV_RANDOM
+#define MADV_RANDOM POSIX_MADV_RANDOM
+#endif
+
+
+
+#if defined HAVE_MADVISE || defined HAVE_POSIX_MADVISE
+# define USE_MADVISE 1
+#endif
+
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+
+#ifdef HAVE_SYS_TIMES_H
+# include <sys/times.h>
+#endif
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#if (defined(__svr4__) && defined(__sun__))
+/* Solaris headers (pre 2.6) don't have a getrusage prototype.
+ Use this instead. */
+extern int getrusage(int, struct rusage *);
+#endif /* __svr4__ && __sun__ */
+#endif
+
/* define strrchr, strchr and memcpy, memmove in terms of bsd funcs
make sure you are NOT using bcopy, index or rindex in the code */
/* for Solaris */
#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
# define HAVE_ISINF 1
+# ifdef isinf
+# undef isinf /* confuse autoconf */
+# endif
# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF)
#endif
/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */
#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS))
-# undef isnan
+# undef isnan /* confuse autoconf to NOT remove this */
# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN)
#endif
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_DIRENT
-AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h)
+AC_CHECK_HEADERS( features.h sys/stat.h sys/types.h fcntl.h locale.h fp_class.h malloc.h unistd.h ieeefp.h math.h sys/times.h sys/param.h sys/resource.h float.h strings.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_CHECK_FUNCS(tzset mbstowcs opendir readdir chdir chroot getuid setlocale strerror strerror_r snprintf vsnprintf fpclass class fp_class isnan memmove strchr mktime getrusage gettimeofday posix_fadvise madvise)
AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
+
+dnl XXX: dunno about windows.. add AC_CHECK_FUNCS(munmap) there too?
+if test "x$enable_mmap" = "xyes"; then
+ case "$host" in
+ *cygwin*)
+ # the normal mmap test does not work in cygwin
+ AC_CHECK_FUNCS(mmap)
+ if test "x$ac_cv_func_mmap" = "xyes"; then
+ ac_cv_func_mmap_fixed_mapped=yes
+ fi
+ ;;
+ *)
+ AC_CHECK_HEADERS(sys/mman.h)
+ AC_FUNC_MMAP
+ AC_CHECK_FUNCS(mmap munmap msync)
+ AC_CHECK_DECLS(madvise, [], [], [#ifdef HAVE_SYS_MMAN_H
+ # include <sys/mman.h>
+ #endif])
+ if test "x$ac_cv_have_decl_madvise" = "xyes";
+ then
+ AC_CHECK_FUNCS(madvise)
+ else
+ AC_CHECK_FUNCS(posix_madvise)
+ if test "x$ac_cv_func_posix_madvise" != "xyes"; then
+ AC_MSG_WARN([madvise() nor posix_madvise() found.])
+ fi
+ fi
+ ;;
+ esac
+ if test "x$ac_cv_func_mmap" != "xyes";
+ then
+ AC_MSG_ERROR([--enable-mmap requested but mmap() was not detected])
+dnl enable_mmap="no"
+ fi
+fi
+
+dnl can we use posix_fadvise
AC_CHECK_DECLS(posix_fadvise, [], [], [#define _XOPEN_SOURCE 600
#include <fcntl.h>])
-AC_CHECK_DECLS(madvise, [], [], [#include <sys/mman.h>])
+AC_CHECK_FUNCS(posix_fadvise)
if test "x$enable_mmap" = xyes; then
case "$host" in
diff --git a/doc/bin_dec_hex.1 b/doc/bin_dec_hex.1
index 77441886b737bec21f792f629213dce61f409026..f09d6e220cc0d83ee4600a5fabf1efe4856ff297 100644 (file)
--- a/doc/bin_dec_hex.1
+++ b/doc/bin_dec_hex.1
.\" ========================================================================
.\"
.IX Title "BIN_DEC_HEX 1"
-.TH BIN_DEC_HEX 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH BIN_DEC_HEX 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
bin_dec_hex \- How to use binary, decimal, and hexadecimal notation.
.SH "DESCRIPTION"
diff --git a/doc/bin_dec_hex.txt b/doc/bin_dec_hex.txt
index 3063ee69553d0f2ea473fda9f81332c686aa918f..8b86f197373fd135e3e638a153c462a575aa4868 100644 (file)
--- a/doc/bin_dec_hex.txt
+++ b/doc/bin_dec_hex.txt
-1.2.26 2007-11-20 BIN_DEC_HEX(1)
+1.2.27 2008-02-17 BIN_DEC_HEX(1)
diff --git a/doc/cdeftutorial.1 b/doc/cdeftutorial.1
index 052edf5f069d41af7ac8a9d72c9a79acd811fb77..26cd3e925e68d5721597bce1339c37a1dc293285 100644 (file)
--- a/doc/cdeftutorial.1
+++ b/doc/cdeftutorial.1
.\" ========================================================================
.\"
.IX Title "CDEFTUTORIAL 1"
-.TH CDEFTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH CDEFTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
cdeftutorial \- Alex van den Bogaerdt's CDEF tutorial
.SH "DESCRIPTION"
diff --git a/doc/cdeftutorial.txt b/doc/cdeftutorial.txt
index 3d01aa73ba0321c529ed9eaaa9f2c27ca236fd5a..647b758c284b77b8a0c685990b4a87d835ed4d39 100644 (file)
--- a/doc/cdeftutorial.txt
+++ b/doc/cdeftutorial.txt
-1.2.26 2007-11-20 CDEFTUTORIAL(1)
+1.2.27 2008-02-17 CDEFTUTORIAL(1)
diff --git a/doc/rpntutorial.1 b/doc/rpntutorial.1
index a3b07077296e3d253e306ee54cebc76c5354a558..83734a82176c5b82f03fb4951f82aa7ac0da36dd 100644 (file)
--- a/doc/rpntutorial.1
+++ b/doc/rpntutorial.1
.\" ========================================================================
.\"
.IX Title "RPNTUTORIAL 1"
-.TH RPNTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RPNTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rpntutorial \- Reading RRDtool RPN Expressions by Steve Rader
.SH "DESCRIPTION"
diff --git a/doc/rpntutorial.txt b/doc/rpntutorial.txt
index 0e733c27493545ce2b5cf7c564946d72327583f0..f936d2ddc5a7c7de9b6514878ecf666aab3094df 100644 (file)
--- a/doc/rpntutorial.txt
+++ b/doc/rpntutorial.txt
-1.2.26 2007-11-20 RPNTUTORIAL(1)
+1.2.27 2008-02-17 RPNTUTORIAL(1)
diff --git a/doc/rrd-beginners.1 b/doc/rrd-beginners.1
index 9a2772a1c5f265ec675aa63b837c17b6c2e0dc02..5c67f83fdd3528832cee2528d27e02b432749ca6 100644 (file)
--- a/doc/rrd-beginners.1
+++ b/doc/rrd-beginners.1
.\" ========================================================================
.\"
.IX Title "RRD-BEGINNERS 1"
-.TH RRD-BEGINNERS 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRD-BEGINNERS 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrd\-beginners \- RRDtool Beginners' Guide
.SH "SYNOPSIS"
diff --git a/doc/rrd-beginners.txt b/doc/rrd-beginners.txt
index dad525189e81955a854106e89a8b82df21cb87b7..8c60eeb875876c61ca1e0a962164580978459e76 100644 (file)
--- a/doc/rrd-beginners.txt
+++ b/doc/rrd-beginners.txt
-1.2.26 2007-11-20 RRD-BEGINNERS(1)
+1.2.27 2008-02-17 RRD-BEGINNERS(1)
diff --git a/doc/rrdbuild.1 b/doc/rrdbuild.1
index 964629aa85c5bd558a1cd39cafbad503be924d9c..52b88b9cd49aaea5bca8d539383efde1771530a5 100644 (file)
--- a/doc/rrdbuild.1
+++ b/doc/rrdbuild.1
.\" ========================================================================
.\"
.IX Title "RRDBUILD 1"
-.TH RRDBUILD 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDBUILD 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdbuild \- Instructions for building RRDtool
.SH "DESCRIPTION"
.PP
.Vb 2
\& BUILD_DIR=/tmp/rrdbuild
-\& INSTALL_DIR=/usr/local/rrdtool\-1.2.26
+\& INSTALL_DIR=/usr/local/rrdtool\-1.2.27
.Ve
.PP
Or if you run tcsh:
.PP
.Vb 2
\& set BUILD_DIR=/tmp/rrdbuild
-\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.26
+\& set INSTALL_DIR=/usr/local/rrdtool\-1.2.27
.Ve
.PP
If your \fI/tmp\fR is mounted with the option noexec (\s-1RHEL\s0 seems todo that) you have to choose
could be that they are installed as \fBgtar\fR and \fBgmake\fR on your system.
.PP
.Vb 4
-\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.26.tar.gz
-\& tar zxf rrdtool\-1.2.26.tar.gz
-\& cd rrdtool\-1.2.26
+\& wget http://oss.oetiker.ch/rrdtool/pub/rrdtool\-1.2.27.tar.gz
+\& tar zxf rrdtool\-1.2.27.tar.gz
+\& cd rrdtool\-1.2.27
\& ./configure \-\-prefix=$INSTALL_DIR && make && make install
.Ve
.PP
their current state.
.PP
.Vb 5
-\& cd $BUILD_DIR/rrdtool\-1.2.26
+\& cd $BUILD_DIR/rrdtool\-1.2.27
\& ./configure \-\-prefix=$INSTALL_DIR \-\-disable\-python \-\-disable\-tcl
\& make clean
\& make
diff --git a/doc/rrdbuild.html b/doc/rrdbuild.html
index 2202ec73675a5bd29d66ea63c18632b088291514..455b85d4403496481d8e1d5c145a74cac197997a 100644 (file)
--- a/doc/rrdbuild.html
+++ b/doc/rrdbuild.html
Depending on the shell you are using, you can do either (bash,zsh):</p>
<pre>
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26</pre>
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27</pre>
<p>Or if you run tcsh:</p>
<pre>
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26</pre>
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27</pre>
<p>If your <em>/tmp</em> is mounted with the option noexec (RHEL seems todo that) you have to choose
a different directory!</p>
<p>Now make sure the BUILD_DIR exists and go there:</p>
<strong>tar</strong> and <strong>make</strong> are actually <strong>GNU tar</strong> and <strong>GNU make</strong> respectively. It
could be that they are installed as <strong>gtar</strong> and <strong>gmake</strong> on your system.</p>
<pre>
- wget <a href="http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz">http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz</a>
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ wget <a href="http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz">http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz</a>
+ tar zxf rrdtool-1.2.27.tar.gz
+ cd rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR && make && make install</pre>
<p>Ok, this was very optimistic. This try will probably have ended with
<strong>configure</strong> complaining about several missing libraries. If you are on a
tcl setups that would prevent rrdtool from building if they are included in
their current state.</p>
<pre>
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
diff --git a/doc/rrdbuild.pod b/doc/rrdbuild.pod
index 07ac7eb485fae3a8ede12d0c141cc6b511779d61..dd3e71e820b589c2b3ef266cb1a3fccac5f57323 100644 (file)
--- a/doc/rrdbuild.pod
+++ b/doc/rrdbuild.pod
Depending on the shell you are using, you can do either (bash,zsh):
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
Or if you run tcsh:
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
If your F</tmp> is mounted with the option noexec (RHEL seems todo that) you have to choose
a different directory!
B<tar> and B<make> are actually B<GNU tar> and B<GNU make> respectively. It
could be that they are installed as B<gtar> and B<gmake> on your system.
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
+ tar zxf rrdtool-1.2.27.tar.gz
+ cd rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR && make && make install
Ok, this was very optimistic. This try will probably have ended with
tcl setups that would prevent rrdtool from building if they are included in
their current state.
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
diff --git a/doc/rrdbuild.txt b/doc/rrdbuild.txt
index 7749d99321b6e653c2ba8e993347cf92b60e854c..d63f1396ae32288cb117ceb27afbeac8f5fad306 100644 (file)
--- a/doc/rrdbuild.txt
+++ b/doc/rrdbuild.txt
(bash,zsh):
BUILD_DIR=/tmp/rrdbuild
- INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ INSTALL_DIR=/usr/local/rrdtool-1.2.27
Or if you run tcsh:
set BUILD_DIR=/tmp/rrdbuild
- set INSTALL_DIR=/usr/local/rrdtool-1.2.26
+ set INSTALL_DIR=/usr/local/rrdtool-1.2.27
If your _\b/_\bt_\bm_\bp is mounted with the option noexec (RHEL seems todo that)
you have to choose a different directory!
t\bta\bar\br and m\bma\bak\bke\be are actually G\bGN\bNU\bU t\bta\bar\br and G\bGN\bNU\bU m\bma\bak\bke\be respectively. It could
be that they are installed as g\bgt\bta\bar\br and g\bgm\bma\bak\bke\be on your system.
- wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.26.tar.gz
- tar zxf rrdtool-1.2.26.tar.gz
- cd rrdtool-1.2.26
+ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz
+ tar zxf rrdtool-1.2.27.tar.gz
+ cd rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR && make && make install
Ok, this was very optimistic. This try will probably have ended with
python and tcl setups that would prevent rrdtool from building if they
are included in their current state.
- cd $BUILD_DIR/rrdtool-1.2.26
+ cd $BUILD_DIR/rrdtool-1.2.27
./configure --prefix=$INSTALL_DIR --disable-python --disable-tcl
make clean
make
-1.2.26 2007-11-20 RRDBUILD(1)
+1.2.27 2008-02-17 RRDBUILD(1)
diff --git a/doc/rrdcgi.1 b/doc/rrdcgi.1
index 5be0d1293012af90110d7dc0197faf21fd1ea6c3..f4e67fb7970376cfcdf023a0da3ed49e742adc36 100644 (file)
--- a/doc/rrdcgi.1
+++ b/doc/rrdcgi.1
.\" ========================================================================
.\"
.IX Title "RRDCGI 1"
-.TH RRDCGI 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCGI 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdcgi \- Create web pages containing RRD graphs based on templates
.SH "SYNOPSIS"
diff --git a/doc/rrdcgi.txt b/doc/rrdcgi.txt
index 949a8efccdbdff945a0315a50b5b34fdb327d4d2..604bbcc0a59303266bdb396e90d7b753cbfc0d06 100644 (file)
--- a/doc/rrdcgi.txt
+++ b/doc/rrdcgi.txt
-1.2.26 2007-11-20 RRDCGI(1)
+1.2.27 2008-02-17 RRDCGI(1)
diff --git a/doc/rrdcreate.1 b/doc/rrdcreate.1
index b18228fe834564cb1fde37d5e2db75838a886f81..f32da3624c6964bae732a7ab398895f2ab4b770c 100644 (file)
--- a/doc/rrdcreate.1
+++ b/doc/rrdcreate.1
.\" ========================================================================
.\"
.IX Title "RRDCREATE 1"
-.TH RRDCREATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDCREATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdcreate \- Set up a new Round Robin Database
.SH "SYNOPSIS"
The create function of RRDtool lets you set up new Round Robin
Database (\fB\s-1RRD\s0\fR) files. The file is created at its final, full size
and filled with \fI*UNKNOWN*\fR data.
-.IP "\fIfilename\fR" 8
+.IP "\fIfilename\fR" 4
.IX Item "filename"
The name of the \fB\s-1RRD\s0\fR you want to create. \fB\s-1RRD\s0\fR files should end
with the extension \fI.rrd\fR. However, \fBRRDtool\fR will accept any
filename.
-.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 8
+.IP "\fB\-\-start\fR|\fB\-b\fR \fIstart time\fR (default: now \- 10s)" 4
.IX Item "--start|-b start time (default: now - 10s)"
Specifies the time in seconds since 1970\-01\-01 \s-1UTC\s0 when the first
value should be added to the \fB\s-1RRD\s0\fR. \fBRRDtool\fR will not accept
.Sp
See also AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 section in the
\&\fIrrdfetch\fR documentation for other ways to specify time.
-.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 8
+.IP "\fB\-\-step\fR|\fB\-s\fR \fIstep\fR (default: 300 seconds)" 4
.IX Item "--step|-s step (default: 300 seconds)"
Specifies the base interval in seconds with which data will be fed
into the \fB\s-1RRD\s0\fR.
-.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 8
+.IP "\fB\s-1DS:\s0\fR\fIds-name\fR\fB:\fR\fI\s-1DST\s0\fR\fB:\fR\fIdst arguments\fR" 4
.IX Item "DS:ds-name:DST:dst arguments"
A single \fB\s-1RRD\s0\fR can accept input from several data sources (\fB\s-1DS\s0\fR),
for example incoming and outgoing traffic on a specific communication
In order to decide which data source type to use, review the
definitions that follow. Also consult the section on \*(L"\s-1HOW\s0 \s-1TO\s0 \s-1MEASURE\s0\*(R"
for further insight.
-.RS 8
+.RS 4
.IP "\fB\s-1GAUGE\s0\fR" 4
.IX Item "GAUGE"
is for things like temperatures or number of people in a room or the
room. Internally, derive works exactly like \s-1COUNTER\s0 but without
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use \s-1DERIVE\s0 and combine it with a \s-1MIN\s0 value of 0.
-.RS 4
-.IP "\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0" 4
-.IX Item "NOTE on COUNTER vs DERIVE"
+.Sp
+\&\s-1NOTE\s0 on \s-1COUNTER\s0 vs \s-1DERIVE\s0
+.Sp
by Don Baarda <don.baarda@baesystems.com>
.Sp
If you cannot tolerate ever mistaking the occasional counter reset for a
probably preferable. If you are using a 64bit counter, just about any max
setting will eliminate the possibility of mistaking a reset for a counter
wrap.
-.RE
-.RS 4
-.RE
.IP "\fB\s-1ABSOLUTE\s0\fR" 4
.IX Item "ABSOLUTE"
is for counters which get reset upon reading. This is used for fast counters
to generate PDPs). In database software, such data sets are referred
to as \*(L"virtual\*(R" or \*(L"computed\*(R" columns.
.RE
-.RS 8
+.RS 4
.Sp
\&\fIheartbeat\fR defines the maximum number of seconds that may pass
between two updates of this data source before the value of the
similar to the restriction that \fB\s-1CDEF\s0\fRs must refer only to \fB\s-1DEF\s0\fRs
and \fB\s-1CDEF\s0\fRs previously defined in the same graph command.
.RE
-.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 8
+.IP "\fB\s-1RRA:\s0\fR\fI\s-1CF\s0\fR\fB:\fR\fIcf arguments\fR" 4
.IX Item "RRA:CF:cf arguments"
The purpose of an \fB\s-1RRD\s0\fR is to store data in the round robin archives
(\fB\s-1RRA\s0\fR). An archive consists of a number of data values or statistics for
diff --git a/doc/rrdcreate.html b/doc/rrdcreate.html
index 8b4d326203518be6ccca25117dcc18d692603f1e..a331537814b077f6657ecfd08b21e492ab32a1e1 100644 (file)
--- a/doc/rrdcreate.html
+++ b/doc/rrdcreate.html
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use DERIVE and combine it with a MIN value of 0.</p>
</dd>
-<dl>
-<dt><strong><a name="item_note_on_counter_vs_derive">NOTE on COUNTER vs DERIVE</a></strong>
-
+<dd>
+<p>NOTE on COUNTER vs DERIVE</p>
+</dd>
<dd>
<p>by Don Baarda <<a href="mailto:don.baarda@baesystems.com">don.baarda@baesystems.com</a>></p>
</dd>
wrap.</p>
</dd>
</li>
-</dl>
<dt><strong><a name="item_absolute"><strong>ABSOLUTE</strong></a></strong>
<dd>
diff --git a/doc/rrdcreate.pod b/doc/rrdcreate.pod
index 27ef702afd5097ca94e08e13c2b49cb01c3d0559..a47acbbaaf17e95b4c4adc7761343a0d18f19533 100644 (file)
--- a/doc/rrdcreate.pod
+++ b/doc/rrdcreate.pod
Database (B<RRD>) files. The file is created at its final, full size
and filled with I<*UNKNOWN*> data.
-=over 8
+=over
=item I<filename>
definitions that follow. Also consult the section on "HOW TO MEASURE"
for further insight.
-=over 4
+=over
=item B<GAUGE>
overflow checks. So if your counter does not reset at 32 or 64 bit you
might want to use DERIVE and combine it with a MIN value of 0.
-=over
-
-=item NOTE on COUNTER vs DERIVE
+NOTE on COUNTER vs DERIVE
by Don Baarda E<lt>don.baarda@baesystems.comE<gt>
setting will eliminate the possibility of mistaking a reset for a counter
wrap.
-=back
-
=item B<ABSOLUTE>
is for counters which get reset upon reading. This is used for fast counters
diff --git a/doc/rrdcreate.txt b/doc/rrdcreate.txt
index 3d2560ce120f5cf46bd109d8ced96c5a9d0c1df8..eaa70c156b29c7826bfb9f998fbbac1678072e31 100644 (file)
--- a/doc/rrdcreate.txt
+++ b/doc/rrdcreate.txt
with _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b* data.
_\bf_\bi_\bl_\be_\bn_\ba_\bm_\be
- The name of the R\bRR\bRD\bD you want to create. R\bRR\bRD\bD files should end
- with the extension _\b._\br_\br_\bd. However, R\bRR\bRD\bDt\bto\boo\bol\bl will accept any file-
- name.
+ The name of the R\bRR\bRD\bD you want to create. R\bRR\bRD\bD files should end with
+ the extension _\b._\br_\br_\bd. However, R\bRR\bRD\bDt\bto\boo\bol\bl will accept any filename.
-\b--\b-s\bst\bta\bar\brt\bt|-\b-b\bb _\bs_\bt_\ba_\br_\bt _\bt_\bi_\bm_\be (default: now - 10s)
- Specifies the time in seconds since 1970-01-01 UTC when the
- first value should be added to the R\bRR\bRD\bD. R\bRR\bRD\bDt\bto\boo\bol\bl will not accept
- any data timed before or at the time specified.
+ Specifies the time in seconds since 1970-01-01 UTC when the first
+ value should be added to the R\bRR\bRD\bD. R\bRR\bRD\bDt\bto\boo\bol\bl will not accept any data
+ timed before or at the time specified.
- See also AT-STYLE TIME SPECIFICATION section in the _\br_\br_\bd_\bf_\be_\bt_\bc_\bh
- documentation for other ways to specify time.
+ See also AT-STYLE TIME SPECIFICATION section in the _\br_\br_\bd_\bf_\be_\bt_\bc_\bh docu-
+ mentation for other ways to specify time.
-\b--\b-s\bst\bte\bep\bp|-\b-s\bs _\bs_\bt_\be_\bp (default: 300 seconds)
- Specifies the base interval in seconds with which data will be
- fed into the R\bRR\bRD\bD.
+ Specifies the base interval in seconds with which data will be fed
+ into the R\bRR\bRD\bD.
D\bDS\bS:\b:_\bd_\bs_\b-_\bn_\ba_\bm_\be:\b:_\bD_\bS_\bT:\b:_\bd_\bs_\bt _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
- A single R\bRR\bRD\bD can accept input from several data sources (D\bDS\bS),
- for example incoming and outgoing traffic on a specific commu-
- nication line. With the D\bDS\bS configuration option you must define
- some basic properties of each data source you want to store in
- the R\bRR\bRD\bD.
-
- _\bd_\bs_\b-_\bn_\ba_\bm_\be is the name you will use to reference this particular
- data source from an R\bRR\bRD\bD. A _\bd_\bs_\b-_\bn_\ba_\bm_\be must be 1 to 19 characters
- long in the characters [a-zA-Z0-9_].
-
- _\bD_\bS_\bT defines the Data Source Type. The remaining arguments of a
- data source entry depend on the data source type. For GAUGE,
- COUNTER, DERIVE, and ABSOLUTE the format for a data source
- entry is:
-
- D\bDS\bS:\b:_\bd_\bs_\b-_\bn_\ba_\bm_\be:\b:_\bG_\bA_\bU_\bG_\bE _\b| _\bC_\bO_\bU_\bN_\bT_\bE_\bR _\b| _\bD_\bE_\bR_\bI_\bV_\bE _\b| _\bA_\bB_\bS_\bO_\bL_\bU_\bT_\bE:\b:_\bh_\be_\ba_\br_\bt_\b-
- _\bb_\be_\ba_\bt:\b:_\bm_\bi_\bn:\b:_\bm_\ba_\bx
-
- For COMPUTE data sources, the format is:
-
- D\bDS\bS:\b:_\bd_\bs_\b-_\bn_\ba_\bm_\be:\b:_\bC_\bO_\bM_\bP_\bU_\bT_\bE:\b:_\br_\bp_\bn_\b-_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn
-
- In order to decide which data source type to use, review the
- definitions that follow. Also consult the section on "HOW TO
- MEASURE" for further insight.
-
- G\bGA\bAU\bUG\bGE\bE
- is for things like temperatures or number of people in a
- room or the value of a RedHat share.
-
- C\bCO\bOU\bUN\bNT\bTE\bER\bR
- is for continuous incrementing counters like the ifInOctets
- counter in a router. The C\bCO\bOU\bUN\bNT\bTE\bER\bR data source assumes that
- the counter never decreases, except when a counter over-
- flows. The update function takes the overflow into
- account. The counter is stored as a per-second rate. When
- the counter overflows, RRDtool checks if the overflow hap-
- pened at the 32bit or 64bit border and acts accordingly by
- adding an appropriate value to the result.
-
- D\bDE\bER\bRI\bIV\bVE\bE
- will store the derivative of the line going from the last
- to the current value of the data source. This can be useful
- for gauges, for example, to measure the rate of people
- entering or leaving a room. Internally, derive works
- exactly like COUNTER but without overflow checks. So if
- your counter does not reset at 32 or 64 bit you might want
- to use DERIVE and combine it with a MIN value of 0.
-
- NOTE on COUNTER vs DERIVE
- by Don Baarda <don.baarda@baesystems.com>
-
- If you cannot tolerate ever mistaking the occasional
- counter reset for a legitimate counter wrap, and would
- prefer "Unknowns" for all legitimate counter wraps and
- resets, always use DERIVE with min=0. Otherwise, using
- COUNTER with a suitable max will return correct values
- for all legitimate counter wraps, mark some counter
- resets as "Unknown", but can mistake some counter
- resets for a legitimate counter wrap.
-
- For a 5 minute step and 32-bit counter, the probability
- of mistaking a counter reset for a legitimate wrap is
- arguably about 0.8% per 1Mbps of maximum bandwidth.
- Note that this equates to 80% for 100Mbps interfaces,
- so for high bandwidth interfaces and a 32bit counter,
- DERIVE with min=0 is probably preferable. If you are
- using a 64bit counter, just about any max setting will
- eliminate the possibility of mistaking a reset for a
- counter wrap.
-
- A\bAB\bBS\bSO\bOL\bLU\bUT\bTE\bE
- is for counters which get reset upon reading. This is used
- for fast counters which tend to overflow. So instead of
- reading them normally you reset them after every read to
- make sure you have a maximum time available before the next
- overflow. Another usage is for things you count like number
- of messages since the last update.
-
- C\bCO\bOM\bMP\bPU\bUT\bTE\bE
- is for storing the result of a formula applied to other
- data sources in the R\bRR\bRD\bD. This data source is not supplied a
- value on update, but rather its Primary Data Points (PDPs)
- are computed from the PDPs of the data sources according to
- the rpn-expression that defines the formula. Consolidation
- functions are then applied normally to the PDPs of the COM-
- PUTE data source (that is the rpn-expression is only
- applied to generate PDPs). In database software, such data
- sets are referred to as "virtual" or "computed" columns.
-
- _\bh_\be_\ba_\br_\bt_\bb_\be_\ba_\bt defines the maximum number of seconds that may pass
- between two updates of this data source before the value of the
- data source is assumed to be _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b*.
-
- _\bm_\bi_\bn and _\bm_\ba_\bx define the expected range values for data supplied
- by a data source. If _\bm_\bi_\bn and/or _\bm_\ba_\bx any value outside the
- defined range will be regarded as _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b*. If you do not know
- or care about min and max, set them to U for unknown. Note that
- min and max always refer to the processed values of the DS. For
- a traffic-C\bCO\bOU\bUN\bNT\bTE\bER\bR type DS this would be the maximum and minimum
- data-rate expected from the device.
-
- _\bI_\bf _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn _\bo_\bn _\bm_\bi_\bn_\bi_\bm_\ba_\bl_\b/_\bm_\ba_\bx_\bi_\bm_\ba_\bl _\be_\bx_\bp_\be_\bc_\bt_\be_\bd _\bv_\ba_\bl_\bu_\be_\bs _\bi_\bs _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b,
- _\ba_\bl_\bw_\ba_\by_\bs _\bs_\be_\bt _\bt_\bh_\be _\bm_\bi_\bn _\ba_\bn_\bd_\b/_\bo_\br _\bm_\ba_\bx _\bp_\br_\bo_\bp_\be_\br_\bt_\bi_\be_\bs_\b. _\bT_\bh_\bi_\bs _\bw_\bi_\bl_\bl _\bh_\be_\bl_\bp _\bR_\bR_\bD_\b-
- _\bt_\bo_\bo_\bl _\bi_\bn _\bd_\bo_\bi_\bn_\bg _\ba _\bs_\bi_\bm_\bp_\bl_\be _\bs_\ba_\bn_\bi_\bt_\by _\bc_\bh_\be_\bc_\bk _\bo_\bn _\bt_\bh_\be _\bd_\ba_\bt_\ba _\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd _\bw_\bh_\be_\bn
- _\br_\bu_\bn_\bn_\bi_\bn_\bg _\bu_\bp_\bd_\ba_\bt_\be_\b.
-
- _\br_\bp_\bn_\b-_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn defines the formula used to compute the PDPs of
- a COMPUTE data source from other data sources in the same
- <RRD>. It is similar to defining a C\bCD\bDE\bEF\bF argument for the graph
- command. Please refer to that manual page for a list and
- description of RPN operations supported. For COMPUTE data
- sources, the following RPN operations are not supported: COUNT,
- PREV, TIME, and LTIME. In addition, in defining the RPN expres-
- sion, the COMPUTE data source may only refer to the names of
- data source listed previously in the create command. This is
- similar to the restriction that C\bCD\bDE\bEF\bFs must refer only to D\bDE\bEF\bFs
- and C\bCD\bDE\bEF\bFs previously defined in the same graph command.
+ A single R\bRR\bRD\bD can accept input from several data sources (D\bDS\bS), for
+ example incoming and outgoing traffic on a specific communication
+ line. With the D\bDS\bS configuration option you must define some basic
+ properties of each data source you want to store in the R\bRR\bRD\bD.
+
+ _\bd_\bs_\b-_\bn_\ba_\bm_\be is the name you will use to reference this particular data
+ source from an R\bRR\bRD\bD. A _\bd_\bs_\b-_\bn_\ba_\bm_\be must be 1 to 19 characters long in
+ the characters [a-zA-Z0-9_].
+
+ _\bD_\bS_\bT defines the Data Source Type. The remaining arguments of a data
+ source entry depend on the data source type. For GAUGE, COUNTER,
+ DERIVE, and ABSOLUTE the format for a data source entry is:
+
+ D\bDS\bS:\b:_\bd_\bs_\b-_\bn_\ba_\bm_\be:\b:_\bG_\bA_\bU_\bG_\bE _\b| _\bC_\bO_\bU_\bN_\bT_\bE_\bR _\b| _\bD_\bE_\bR_\bI_\bV_\bE _\b| _\bA_\bB_\bS_\bO_\bL_\bU_\bT_\bE:\b:_\bh_\be_\ba_\br_\bt_\bb_\be_\ba_\bt:\b:_\bm_\bi_\bn:\b:_\bm_\ba_\bx
+
+ For COMPUTE data sources, the format is:
+
+ D\bDS\bS:\b:_\bd_\bs_\b-_\bn_\ba_\bm_\be:\b:_\bC_\bO_\bM_\bP_\bU_\bT_\bE:\b:_\br_\bp_\bn_\b-_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn
+
+ In order to decide which data source type to use, review the defi-
+ nitions that follow. Also consult the section on "HOW TO MEASURE"
+ for further insight.
+
+ G\bGA\bAU\bUG\bGE\bE
+ is for things like temperatures or number of people in a room
+ or the value of a RedHat share.
+
+ C\bCO\bOU\bUN\bNT\bTE\bER\bR
+ is for continuous incrementing counters like the ifInOctets
+ counter in a router. The C\bCO\bOU\bUN\bNT\bTE\bER\bR data source assumes that the
+ counter never decreases, except when a counter overflows. The
+ update function takes the overflow into account. The counter
+ is stored as a per-second rate. When the counter overflows,
+ RRDtool checks if the overflow happened at the 32bit or 64bit
+ border and acts accordingly by adding an appropriate value to
+ the result.
+
+ D\bDE\bER\bRI\bIV\bVE\bE
+ will store the derivative of the line going from the last to
+ the current value of the data source. This can be useful for
+ gauges, for example, to measure the rate of people entering or
+ leaving a room. Internally, derive works exactly like COUNTER
+ but without overflow checks. So if your counter does not reset
+ at 32 or 64 bit you might want to use DERIVE and combine it
+ with a MIN value of 0.
+
+ NOTE on COUNTER vs DERIVE
+
+ by Don Baarda <don.baarda@baesystems.com>
+
+ If you cannot tolerate ever mistaking the occasional counter
+ reset for a legitimate counter wrap, and would prefer
+ "Unknowns" for all legitimate counter wraps and resets, always
+ use DERIVE with min=0. Otherwise, using COUNTER with a suitable
+ max will return correct values for all legitimate counter
+ wraps, mark some counter resets as "Unknown", but can mistake
+ some counter resets for a legitimate counter wrap.
+
+ For a 5 minute step and 32-bit counter, the probability of mis-
+ taking a counter reset for a legitimate wrap is arguably about
+ 0.8% per 1Mbps of maximum bandwidth. Note that this equates to
+ 80% for 100Mbps interfaces, so for high bandwidth interfaces
+ and a 32bit counter, DERIVE with min=0 is probably preferable.
+ If you are using a 64bit counter, just about any max setting
+ will eliminate the possibility of mistaking a reset for a
+ counter wrap.
+
+ A\bAB\bBS\bSO\bOL\bLU\bUT\bTE\bE
+ is for counters which get reset upon reading. This is used for
+ fast counters which tend to overflow. So instead of reading
+ them normally you reset them after every read to make sure you
+ have a maximum time available before the next overflow. Another
+ usage is for things you count like number of messages since the
+ last update.
+
+ C\bCO\bOM\bMP\bPU\bUT\bTE\bE
+ is for storing the result of a formula applied to other data
+ sources in the R\bRR\bRD\bD. This data source is not supplied a value on
+ update, but rather its Primary Data Points (PDPs) are computed
+ from the PDPs of the data sources according to the rpn-expres-
+ sion that defines the formula. Consolidation functions are then
+ applied normally to the PDPs of the COMPUTE data source (that
+ is the rpn-expression is only applied to generate PDPs). In
+ database software, such data sets are referred to as "virtual"
+ or "computed" columns.
+
+ _\bh_\be_\ba_\br_\bt_\bb_\be_\ba_\bt defines the maximum number of seconds that may pass
+ between two updates of this data source before the value of the
+ data source is assumed to be _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b*.
+
+ _\bm_\bi_\bn and _\bm_\ba_\bx define the expected range values for data supplied by a
+ data source. If _\bm_\bi_\bn and/or _\bm_\ba_\bx any value outside the defined range
+ will be regarded as _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b*. If you do not know or care about min
+ and max, set them to U for unknown. Note that min and max always
+ refer to the processed values of the DS. For a traffic-C\bCO\bOU\bUN\bNT\bTE\bER\bR type
+ DS this would be the maximum and minimum data-rate expected from
+ the device.
+
+ _\bI_\bf _\bi_\bn_\bf_\bo_\br_\bm_\ba_\bt_\bi_\bo_\bn _\bo_\bn _\bm_\bi_\bn_\bi_\bm_\ba_\bl_\b/_\bm_\ba_\bx_\bi_\bm_\ba_\bl _\be_\bx_\bp_\be_\bc_\bt_\be_\bd _\bv_\ba_\bl_\bu_\be_\bs _\bi_\bs _\ba_\bv_\ba_\bi_\bl_\ba_\bb_\bl_\be_\b,
+ _\ba_\bl_\bw_\ba_\by_\bs _\bs_\be_\bt _\bt_\bh_\be _\bm_\bi_\bn _\ba_\bn_\bd_\b/_\bo_\br _\bm_\ba_\bx _\bp_\br_\bo_\bp_\be_\br_\bt_\bi_\be_\bs_\b. _\bT_\bh_\bi_\bs _\bw_\bi_\bl_\bl _\bh_\be_\bl_\bp _\bR_\bR_\bD_\bt_\bo_\bo_\bl _\bi_\bn
+ _\bd_\bo_\bi_\bn_\bg _\ba _\bs_\bi_\bm_\bp_\bl_\be _\bs_\ba_\bn_\bi_\bt_\by _\bc_\bh_\be_\bc_\bk _\bo_\bn _\bt_\bh_\be _\bd_\ba_\bt_\ba _\bs_\bu_\bp_\bp_\bl_\bi_\be_\bd _\bw_\bh_\be_\bn _\br_\bu_\bn_\bn_\bi_\bn_\bg
+ _\bu_\bp_\bd_\ba_\bt_\be_\b.
+
+ _\br_\bp_\bn_\b-_\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn defines the formula used to compute the PDPs of a
+ COMPUTE data source from other data sources in the same <RRD>. It
+ is similar to defining a C\bCD\bDE\bEF\bF argument for the graph command.
+ Please refer to that manual page for a list and description of RPN
+ operations supported. For COMPUTE data sources, the following RPN
+ operations are not supported: COUNT, PREV, TIME, and LTIME. In
+ addition, in defining the RPN expression, the COMPUTE data source
+ may only refer to the names of data source listed previously in the
+ create command. This is similar to the restriction that C\bCD\bDE\bEF\bFs must
+ refer only to D\bDE\bEF\bFs and C\bCD\bDE\bEF\bFs previously defined in the same graph
+ command.
R\bRR\bRA\bA:\b:_\bC_\bF:\b:_\bc_\bf _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs
- The purpose of an R\bRR\bRD\bD is to store data in the round robin
- archives (R\bRR\bRA\bA). An archive consists of a number of data values
- or statistics for each of the defined data-sources (D\bDS\bS) and is
- defined with an R\bRR\bRA\bA line.
+ The purpose of an R\bRR\bRD\bD is to store data in the round robin archives
+ (R\bRR\bRA\bA). An archive consists of a number of data values or statistics
+ for each of the defined data-sources (D\bDS\bS) and is defined with an
+ R\bRR\bRA\bA line.
- When data is entered into an R\bRR\bRD\bD, it is first fit into time
- slots of the length defined with the -\b-s\bs option, thus becoming a
- _\bp_\br_\bi_\bm_\ba_\br_\by _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt.
+ When data is entered into an R\bRR\bRD\bD, it is first fit into time slots
+ of the length defined with the -\b-s\bs option, thus becoming a _\bp_\br_\bi_\bm_\ba_\br_\by
+ _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt.
- The data is also processed with the consolidation function (_\bC_\bF)
- of the archive. There are several consolidation functions that
- consolidate primary data points via an aggregate function:
- A\bAV\bVE\bER\bRA\bAG\bGE\bE, M\bMI\bIN\bN, M\bMA\bAX\bX, L\bLA\bAS\bST\bT. The format of R\bRR\bRA\bA line for these con-
- solidation functions is:
+ The data is also processed with the consolidation function (_\bC_\bF) of
+ the archive. There are several consolidation functions that consol-
+ idate primary data points via an aggregate function: A\bAV\bVE\bER\bRA\bAG\bGE\bE, M\bMI\bIN\bN,
+ M\bMA\bAX\bX, L\bLA\bAS\bST\bT. The format of R\bRR\bRA\bA line for these consolidation functions
+ is:
- R\bRR\bRA\bA:\b:_\bA_\bV_\bE_\bR_\bA_\bG_\bE _\b| _\bM_\bI_\bN _\b| _\bM_\bA_\bX _\b| _\bL_\bA_\bS_\bT:\b:_\bx_\bf_\bf:\b:_\bs_\bt_\be_\bp_\bs:\b:_\br_\bo_\bw_\bs
+ R\bRR\bRA\bA:\b:_\bA_\bV_\bE_\bR_\bA_\bG_\bE _\b| _\bM_\bI_\bN _\b| _\bM_\bA_\bX _\b| _\bL_\bA_\bS_\bT:\b:_\bx_\bf_\bf:\b:_\bs_\bt_\be_\bp_\bs:\b:_\br_\bo_\bw_\bs
- _\bx_\bf_\bf The xfiles factor defines what part of a consolidation
- interval may be made up from _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b* data while the consoli-
- dated value is still regarded as known. It is given as the
- ratio of allowed _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b* PDPs to the number of PDPs in the
- interval. Thus, it ranges from 0 to 1 (exclusive).
+ _\bx_\bf_\bf The xfiles factor defines what part of a consolidation interval
+ may be made up from _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b* data while the consolidated value is
+ still regarded as known. It is given as the ratio of allowed
+ _\b*_\bU_\bN_\bK_\bN_\bO_\bW_\bN_\b* PDPs to the number of PDPs in the interval. Thus, it
+ ranges from 0 to 1 (exclusive).
- _\bs_\bt_\be_\bp_\bs defines how many of these _\bp_\br_\bi_\bm_\ba_\br_\by _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt_\bs are used to
- build a _\bc_\bo_\bn_\bs_\bo_\bl_\bi_\bd_\ba_\bt_\be_\bd _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt which then goes into the
- archive.
+ _\bs_\bt_\be_\bp_\bs defines how many of these _\bp_\br_\bi_\bm_\ba_\br_\by _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt_\bs are used to
+ build a _\bc_\bo_\bn_\bs_\bo_\bl_\bi_\bd_\ba_\bt_\be_\bd _\bd_\ba_\bt_\ba _\bp_\bo_\bi_\bn_\bt which then goes into the archive.
- _\br_\bo_\bw_\bs defines how many generations of data values are kept in an
- R\bRR\bRA\bA.
+ _\br_\bo_\bw_\bs defines how many generations of data values are kept in an
+ R\bRR\bRA\bA.
A\bAb\bbe\ber\brr\bra\ban\bnt\bt B\bBe\beh\bha\bav\bvi\bio\bor\br D\bDe\bet\bte\bec\bct\bti\bio\bon\bn w\bwi\bit\bth\bh H\bHo\bol\blt\bt-\b-W\bWi\bin\bnt\bte\ber\brs\bs F\bFo\bor\bre\bec\bca\bas\bst\bti\bin\bng\bg
In addition to the aggregate functions, there are a set of specialized
-1.2.26 2007-11-20 RRDCREATE(1)
+1.2.27 2008-02-17 RRDCREATE(1)
diff --git a/doc/rrddump.1 b/doc/rrddump.1
index d559ec02595b3c154292d93125dd02ea396b513e..3df1a452fdefb8177ece8b9d5edcbc6539041ced 100644 (file)
--- a/doc/rrddump.1
+++ b/doc/rrddump.1
.\" ========================================================================
.\"
.IX Title "RRDDUMP 1"
-.TH RRDDUMP 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDDUMP 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrddump \- dump the contents of an RRD to XML format
.SH "SYNOPSIS"
diff --git a/doc/rrddump.txt b/doc/rrddump.txt
index 226a7b8844fd6a74b36d160d634fff0329f6d610..f995a56269d8d50662f3b90779c72c18151b5d7f 100644 (file)
--- a/doc/rrddump.txt
+++ b/doc/rrddump.txt
-1.2.26 2007-11-20 RRDDUMP(1)
+1.2.27 2008-02-17 RRDDUMP(1)
diff --git a/doc/rrdfetch.1 b/doc/rrdfetch.1
index e218ff80abca1bef6d2bc5b1be0731f083e81cad..9c20fb68ba0d76cb6d2964afbfa12303493bd3ec 100644 (file)
--- a/doc/rrdfetch.1
+++ b/doc/rrdfetch.1
.\" ========================================================================
.\"
.IX Title "RRDFETCH 1"
-.TH RRDFETCH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDFETCH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdfetch \- Fetch data from an RRD.
.SH "SYNOPSIS"
diff --git a/doc/rrdfetch.txt b/doc/rrdfetch.txt
index 10057c2d16fc7d33cf97c51860d84ba7b6c4b084..e2af859b29db2fc0488410750a0440fa81cc0c06 100644 (file)
--- a/doc/rrdfetch.txt
+++ b/doc/rrdfetch.txt
-1.2.26 2007-11-20 RRDFETCH(1)
+1.2.27 2008-02-17 RRDFETCH(1)
diff --git a/doc/rrdfirst.1 b/doc/rrdfirst.1
index 7834052a381c908b35ee28b06d4cf2f2bd0b09e9..57e7c1a675ab5d69610be42a0baceb466b3a0f44 100644 (file)
--- a/doc/rrdfirst.1
+++ b/doc/rrdfirst.1
.\" ========================================================================
.\"
.IX Title "RRDFIRST 1"
-.TH RRDFIRST 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDFIRST 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdfirst \- Return the date of the first data sample in an RRA within an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdfirst.txt b/doc/rrdfirst.txt
index 7a3559ec57b883d512f5fa6ce94de8516bdb4aaf..684e8bc58ecf4e583b7432df7ea93997c6094ffe 100644 (file)
--- a/doc/rrdfirst.txt
+++ b/doc/rrdfirst.txt
-1.2.26 2007-11-20 RRDFIRST(1)
+1.2.27 2008-02-17 RRDFIRST(1)
diff --git a/doc/rrdgraph.1 b/doc/rrdgraph.1
index 2020b9e5a97480226dc95efc1a0ba76e45279139..674a3704ce221e80823d5bd206bd368ab4a0404a 100644 (file)
--- a/doc/rrdgraph.1
+++ b/doc/rrdgraph.1
.\" ========================================================================
.\"
.IX Title "RRDGRAPH 1"
-.TH RRDGRAPH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph \- Round Robin Database tool grapher functions
.SH "SYNOPSIS"
it. For instance, you might be collecting \fBbytes\fR per second, but
want to display \fBbits\fR per second. This is what the \fBdata calculation\fR command is designed for. After
\&\fBconsolidating\fR the data, a copy is made and this copy is modified
-using a rather powerful \fB\s-1RPN\s0\fR command set.
+using a rather powerful rrdgraph_rpn command set.
.PP
When you are done fetching and processing the data, it is time to
graph it (or print it). This ends the \fBrrdtool graph\fR sequence.
\&\fB\s-1RRA\s0\fR the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. \fBStart\fR and \fBend\fR can
be specified in several formats, see
-AT-STYLE \s-1TIME\s0 \s-1SPECIFICATION\s0 and rrdgraph_examples.
+rrdfetch and rrdgraph_examples.
By default, \fBrrdtool graph\fR calculates the width of one pixel in
the time domain and tries to get data from an \fB\s-1RRA\s0\fR with that
resolution. With the \fBstep\fR option you can alter this behaviour.
This might extend the scale too much for some logarithmic scales
and for linear scales where \fB\-\-alt\-autoscale\fR is needed.
Using \fB\-\-no\-gridfit\fR disables modification of the scale.
-.IP "Grid" 4
-.IX Item "Grid"
-.RS 4
-.PD 0
-.IP "X\-Axis" 4
-.IX Item "X-Axis"
-.PD
+.IP "X\-Grid" 4
+.IX Item "X-Grid"
[\fB\-x\fR|\fB\-\-x\-grid\fR \fI\s-1GTM\s0\fR\fB:\fR\fI\s-1GST\s0\fR\fB:\fR\fI\s-1MTM\s0\fR\fB:\fR\fI\s-1MST\s0\fR\fB:\fR\fI\s-1LTM\s0\fR\fB:\fR\fI\s-1LST\s0\fR\fB:\fR\fI\s-1LPR\s0\fR\fB:\fR\fI\s-1LFM\s0\fR]
.Sp
[\fB\-x\fR|\fB\-\-x\-grid\fR \fBnone\fR]
This places grid lines every 8 hours, major grid lines and labels
each day. The labels are placed exactly between two major grid lines
as they specify the complete day and not just midnight.
-.IP "Y\-Axis" 4
-.IX Item "Y-Axis"
+.IP "Y\-Grid" 4
+.IX Item "Y-Grid"
[\fB\-y\fR|\fB\-\-y\-grid\fR \fIgrid step\fR\fB:\fR\fIlabel factor\fR]
.Sp
[\fB\-y\fR|\fB\-\-y\-grid\fR \fBnone\fR]
With this option y\-axis values on logarithmic graphs will be scaled to
the appropriate units (k, M, etc.) instead of using exponential notation.
Note that for linear graphs, \s-1SI\s0 notation is used by default.
-.RE
-.RS 4
-.RE
.IP "Miscellaneous" 4
.IX Item "Miscellaneous"
[\fB\-z\fR|\fB\-\-lazy\fR]
diff --git a/doc/rrdgraph.html b/doc/rrdgraph.html
index dd767de2f88a20c304c92c973900dad3d6805d6e..e7a9505f4dc15d9f694d3c4665f513588f5354e2 100644 (file)
--- a/doc/rrdgraph.html
+++ b/doc/rrdgraph.html
it. For instance, you might be collecting <strong>bytes</strong> per second, but
want to display <strong>bits</strong> per second. This is what the <strong><a href="././rrdgraph_data.html#cdef">data calculation</a></strong> command is designed for. After
<strong>consolidating</strong> the data, a copy is made and this copy is modified
-using a rather powerful <strong><a href="././rrdgraph_rpn.html">RPN</a></strong> command set.</p>
+using a rather powerful <a href="././rrdgraph_rpn.html">the rrdgraph_rpn manpage</a> command set.</p>
<p>When you are done fetching and processing the data, it is time to
graph it (or print it). This ends the <strong>rrdtool graph</strong> sequence.</p>
<p>
<strong>RRA</strong> the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. <strong>Start</strong> and <strong>end</strong> can
be specified in several formats, see
-<a href="././rrdfetch.html">AT-STYLE TIME SPECIFICATION</a> and <a href="././rrdgraph_examples.html">the rrdgraph_examples manpage</a>.
+<a href="././rrdfetch.html">the rrdfetch manpage</a> and <a href="././rrdgraph_examples.html">the rrdgraph_examples manpage</a>.
By default, <strong>rrdtool graph</strong> calculates the width of one pixel in
the time domain and tries to get data from an <strong>RRA</strong> with that
resolution. With the <strong>step</strong> option you can alter this behaviour.
Using <strong>--no-gridfit</strong> disables modification of the scale.</p>
</dd>
</li>
-<dt><strong><a name="item_grid">Grid</a></strong>
-
-<dl>
-<dt><strong><a name="item_x_2daxis">X-Axis</a></strong>
+<dt><strong><a name="item_x_2dgrid">X-Grid</a></strong>
<dd>
<p>[<strong>-x</strong>|<strong>--x-grid</strong> <em>GTM</em><strong>:</strong><em>GST</em><strong>:</strong><em>MTM</em><strong>:</strong><em>MST</em><strong>:</strong><em>LTM</em><strong>:</strong><em>LST</em><strong>:</strong><em>LPR</em><strong>:</strong><em>LFM</em>]</p>
as they specify the complete day and not just midnight.</p>
</dd>
</li>
-<dt><strong><a name="item_y_2daxis">Y-Axis</a></strong>
+<dt><strong><a name="item_y_2dgrid">Y-Grid</a></strong>
<dd>
<p>[<strong>-y</strong>|<strong>--y-grid</strong> <em>grid step</em><strong>:</strong><em>label factor</em>]</p>
Note that for linear graphs, SI notation is used by default.</p>
</dd>
</li>
-</dl>
<dt><strong><a name="item_miscellaneous">Miscellaneous</a></strong>
<dd>
diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod
index 9060bd831b97d695edbe6d1ac3392bd79174ee4d..11b447e37cf5c1fa5378c03e7b88da04fbf6e7b7 100644 (file)
--- a/doc/rrdgraph.pod
+++ b/doc/rrdgraph.pod
want to display B<bits> per second. This is what the B<L<data
calculation|rrdgraph_data/CDEF>> command is designed for. After
B<consolidating> the data, a copy is made and this copy is modified
-using a rather powerful B<L<RPN|rrdgraph_rpn/>> command set.
+using a rather powerful L<rrdgraph_rpn> command set.
When you are done fetching and processing the data, it is time to
graph it (or print it). This ends the B<rrdtool graph> sequence.
B<RRA> the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. B<Start> and B<end> can
be specified in several formats, see
-L<AT-STYLE TIME SPECIFICATION|rrdfetch/> and L<rrdgraph_examples>.
+L<rrdfetch> and L<rrdgraph_examples>.
By default, B<rrdtool graph> calculates the width of one pixel in
the time domain and tries to get data from an B<RRA> with that
resolution. With the B<step> option you can alter this behaviour.
and for linear scales where B<--alt-autoscale> is needed.
Using B<--no-gridfit> disables modification of the scale.
-=item Grid
-
-=over 4
-
-=item X-Axis
+=item X-Grid
[B<-x>|B<--x-grid> I<GTM>B<:>I<GST>B<:>I<MTM>B<:>I<MST>B<:>I<LTM>B<:>I<LST>B<:>I<LPR>B<:>I<LFM>]
each day. The labels are placed exactly between two major grid lines
as they specify the complete day and not just midnight.
-=item Y-Axis
+=item Y-Grid
[B<-y>|B<--y-grid> I<grid step>B<:>I<label factor>]
the appropriate units (k, M, etc.) instead of using exponential notation.
Note that for linear graphs, SI notation is used by default.
-=back
-
=item Miscellaneous
[B<-z>|B<--lazy>]
diff --git a/doc/rrdgraph.txt b/doc/rrdgraph.txt
index 4c8686a42b70a01712f16e4adc6587921e98adc5..d1a493afee18104d552f14f657cfa8ec4fd8df53 100644 (file)
--- a/doc/rrdgraph.txt
+++ b/doc/rrdgraph.txt
it. For instance, you might be collecting b\bby\byt\bte\bes\bs per second, but want to
display b\bbi\bit\bts\bs per second. This is what the d\bda\bat\bta\ba c\bca\bal\blc\bcu\bul\bla\bat\bti\bio\bon\bn command is
designed for. After c\bco\bon\bns\bso\bol\bli\bid\bda\bat\bti\bin\bng\bg the data, a copy is made and this
- copy is modified using a rather powerful R\bRP\bPN\bN command set.
+ copy is modified using a rather powerful rrdgraph_rpn command set.
When you are done fetching and processing the data, it is time to graph
it (or print it). This ends the r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh sequence.
The start and end of the time series you would like to display, and
which R\bRR\bRA\bA the data should come from. Defaults are: 1 day ago until
now, with the best possible resolution. S\bSt\bta\bar\brt\bt and e\ben\bnd\bd can be speci-
- fied in several formats, see AT-STYLE TIME SPECIFICATION and rrd-
- graph_examples. By default, r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh calculates the width of
- one pixel in the time domain and tries to get data from an R\bRR\bRA\bA with
- that resolution. With the s\bst\bte\bep\bp option you can alter this
- behaviour. If you want r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh to get data at a one-hour
- resolution from the R\bRR\bRD\bD, set s\bst\bte\bep\bp to 3'600. Note: a step smaller
- than one pixel will silently be ignored.
+ fied in several formats, see rrdfetch and rrdgraph_examples. By
+ default, r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh calculates the width of one pixel in the
+ time domain and tries to get data from an R\bRR\bRA\bA with that resolution.
+ With the s\bst\bte\bep\bp option you can alter this behaviour. If you want
+ r\brr\brd\bdt\bto\boo\bol\bl g\bgr\bra\bap\bph\bh to get data at a one-hour resolution from the R\bRR\bRD\bD,
+ set s\bst\bte\bep\bp to 3'600. Note: a step smaller than one pixel will
+ silently be ignored.
Labels
[-\b-t\bt|-\b--\b-t\bti\bit\btl\ble\be _\bs_\bt_\br_\bi_\bn_\bg] [-\b-v\bv|-\b--\b-v\bve\ber\brt\bti\bic\bca\bal\bl-\b-l\bla\bab\bbe\bel\bl _\bs_\bt_\br_\bi_\bn_\bg]
ear scales where -\b--\b-a\bal\blt\bt-\b-a\bau\but\bto\bos\bsc\bca\bal\ble\be is needed. Using -\b--\b-n\bno\bo-\b-g\bgr\bri\bid\bdf\bfi\bit\bt
disables modification of the scale.
- Grid
- X-Axis
- [-\b-x\bx|-\b--\b-x\bx-\b-g\bgr\bri\bid\bd _\bG_\bT_\bM:\b:_\bG_\bS_\bT:\b:_\bM_\bT_\bM:\b:_\bM_\bS_\bT:\b:_\bL_\bT_\bM:\b:_\bL_\bS_\bT:\b:_\bL_\bP_\bR:\b:_\bL_\bF_\bM]
+ X-Grid
+ [-\b-x\bx|-\b--\b-x\bx-\b-g\bgr\bri\bid\bd _\bG_\bT_\bM:\b:_\bG_\bS_\bT:\b:_\bM_\bT_\bM:\b:_\bM_\bS_\bT:\b:_\bL_\bT_\bM:\b:_\bL_\bS_\bT:\b:_\bL_\bP_\bR:\b:_\bL_\bF_\bM]
- [-\b-x\bx|-\b--\b-x\bx-\b-g\bgr\bri\bid\bd n\bno\bon\bne\be]
+ [-\b-x\bx|-\b--\b-x\bx-\b-g\bgr\bri\bid\bd n\bno\bon\bne\be]
- The x-axis label is quite complex to configure. If you don't
- have very special needs it is probably best to rely on the
- autoconfiguration to get this right. You can specify the string
- "none" to suppress the grid and labels altogether.
+ The x-axis label is quite complex to configure. If you don't have
+ very special needs it is probably best to rely on the autoconfigu-
+ ration to get this right. You can specify the string "none" to sup-
+ press the grid and labels altogether.
- The grid is defined by specifying a certain amount of time in
- the _\b?_\bT_\bM positions. You can choose from "SECOND", "MINUTE",
- "HOUR", "DAY", "WEEK", "MONTH" or "YEAR". Then you define how
- many of these should pass between each line or label. This
- pair (_\b?_\bT_\bM_\b:_\b?_\bS_\bT) needs to be specified for the base grid (_\bG_\b?_\b?),
- the major grid (_\bM_\b?_\b?) and the labels (_\bL_\b?_\b?). For the labels you
- also must define a precision in _\bL_\bP_\bR and a _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be format
- string in _\bL_\bF_\bM. _\bL_\bP_\bR defines where each label will be placed. If
- it is zero, the label will be placed right under the corre-
- sponding line (useful for hours, dates etcetera). If you spec-
- ify a number of seconds here the label is centered on this
- interval (useful for Monday, January etcetera).
+ The grid is defined by specifying a certain amount of time in the
+ _\b?_\bT_\bM positions. You can choose from "SECOND", "MINUTE", "HOUR",
+ "DAY", "WEEK", "MONTH" or "YEAR". Then you define how many of these
+ should pass between each line or label. This pair (_\b?_\bT_\bM_\b:_\b?_\bS_\bT) needs
+ to be specified for the base grid (_\bG_\b?_\b?), the major grid (_\bM_\b?_\b?) and
+ the labels (_\bL_\b?_\b?). For the labels you also must define a precision
+ in _\bL_\bP_\bR and a _\bs_\bt_\br_\bf_\bt_\bi_\bm_\be format string in _\bL_\bF_\bM. _\bL_\bP_\bR defines where each
+ label will be placed. If it is zero, the label will be placed right
+ under the corresponding line (useful for hours, dates etcetera).
+ If you specify a number of seconds here the label is centered on
+ this interval (useful for Monday, January etcetera).
- --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X
+ --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%X
- This places grid lines every 10 minutes, major grid lines every
- hour, and labels every 4 hours. The labels are placed under the
- major grid lines as they specify exactly that time.
+ This places grid lines every 10 minutes, major grid lines every
+ hour, and labels every 4 hours. The labels are placed under the
+ major grid lines as they specify exactly that time.
- --x-grid HOUR:8:DAY:1:DAY:1:0:%A
+ --x-grid HOUR:8:DAY:1:DAY:1:0:%A
- This places grid lines every 8 hours, major grid lines and
- labels each day. The labels are placed exactly between two
- major grid lines as they specify the complete day and not just
- midnight.
+ This places grid lines every 8 hours, major grid lines and labels
+ each day. The labels are placed exactly between two major grid
+ lines as they specify the complete day and not just midnight.
- Y-Axis
- [-\b-y\by|-\b--\b-y\by-\b-g\bgr\bri\bid\bd _\bg_\br_\bi_\bd _\bs_\bt_\be_\bp:\b:_\bl_\ba_\bb_\be_\bl _\bf_\ba_\bc_\bt_\bo_\br]
+ Y-Grid
+ [-\b-y\by|-\b--\b-y\by-\b-g\bgr\bri\bid\bd _\bg_\br_\bi_\bd _\bs_\bt_\be_\bp:\b:_\bl_\ba_\bb_\be_\bl _\bf_\ba_\bc_\bt_\bo_\br]
- [-\b-y\by|-\b--\b-y\by-\b-g\bgr\bri\bid\bd n\bno\bon\bne\be]
+ [-\b-y\by|-\b--\b-y\by-\b-g\bgr\bri\bid\bd n\bno\bon\bne\be]
- Y-axis grid lines appear at each _\bg_\br_\bi_\bd _\bs_\bt_\be_\bp interval. Labels
- are placed every _\bl_\ba_\bb_\be_\bl _\bf_\ba_\bc_\bt_\bo_\br lines. You can specify "-y none"
- to suppress the grid and labels altogether. The default for
- this option is to automatically select sensible values.
+ Y-axis grid lines appear at each _\bg_\br_\bi_\bd _\bs_\bt_\be_\bp interval. Labels are
+ placed every _\bl_\ba_\bb_\be_\bl _\bf_\ba_\bc_\bt_\bo_\br lines. You can specify "-y none" to sup-
+ press the grid and labels altogether. The default for this option
+ is to automatically select sensible values.
- If you have set --y-grid to 'none' not only the labels get
- supressed, also the space reserved for the labels is removed.
- You can still add space manually if you use the --units-length
- command to explicitly reserve space.
+ If you have set --y-grid to 'none' not only the labels get
+ supressed, also the space reserved for the labels is removed. You
+ can still add space manually if you use the --units-length command
+ to explicitly reserve space.
- [-\b-Y\bY|-\b--\b-a\bal\blt\bt-\b-y\by-\b-g\bgr\bri\bid\bd]
+ [-\b-Y\bY|-\b--\b-a\bal\blt\bt-\b-y\by-\b-g\bgr\bri\bid\bd]
- Place the Y grid dynamically based on the graph's Y range. The
- algorithm ensures that you always have a grid, that there are
- enough but not too many grid lines, and that the grid is met-
- ric. That is the grid lines are placed every 1, 2, 5 or 10
- units. This parameter will also ensure that you get enough dec-
- imals displayed even if your graph goes from 69.998 to 70.001.
- (contributed by Sasha Mikheev).
+ Place the Y grid dynamically based on the graph's Y range. The
+ algorithm ensures that you always have a grid, that there are
+ enough but not too many grid lines, and that the grid is metric.
+ That is the grid lines are placed every 1, 2, 5 or 10 units. This
+ parameter will also ensure that you get enough decimals displayed
+ even if your graph goes from 69.998 to 70.001. (contributed by
+ Sasha Mikheev).
- [-\b-o\bo|-\b--\b-l\blo\bog\bga\bar\bri\bit\bth\bhm\bmi\bic\bc]
+ [-\b-o\bo|-\b--\b-l\blo\bog\bga\bar\bri\bit\bth\bhm\bmi\bic\bc]
- Logarithmic y-axis scaling.
+ Logarithmic y-axis scaling.
- [-\b-X\bX|-\b--\b-u\bun\bni\bit\bts\bs-\b-e\bex\bxp\bpo\bon\bne\ben\bnt\bt _\bv_\ba_\bl_\bu_\be]
+ [-\b-X\bX|-\b--\b-u\bun\bni\bit\bts\bs-\b-e\bex\bxp\bpo\bon\bne\ben\bnt\bt _\bv_\ba_\bl_\bu_\be]
- This sets the 10**exponent scaling of the y-axis values. Nor-
- mally, values will be scaled to the appropriate units (k, M,
- etc.). However, you may wish to display units always in k
- (Kilo, 10e3) even if the data is in the M (Mega, 10e6) range,
- for instance. Value should be an integer which is a multiple of
- 3 between -18 and 18 inclusively. It is the exponent on the
- units you wish to use. For example, use 3 to display the y-axis
- values in k (Kilo, 10e3, thousands), use -6 to display the
- y-axis values in u (Micro, 10e-6, millionths). Use a value of
- 0 to prevent any scaling of the y-axis values.
+ This sets the 10**exponent scaling of the y-axis values. Normally,
+ values will be scaled to the appropriate units (k, M, etc.). How-
+ ever, you may wish to display units always in k (Kilo, 10e3) even
+ if the data is in the M (Mega, 10e6) range, for instance. Value
+ should be an integer which is a multiple of 3 between -18 and 18
+ inclusively. It is the exponent on the units you wish to use. For
+ example, use 3 to display the y-axis values in k (Kilo, 10e3, thou-
+ sands), use -6 to display the y-axis values in u (Micro, 10e-6,
+ millionths). Use a value of 0 to prevent any scaling of the y-axis
+ values.
- This option is very effective at confusing the heck out of the
- default rrdtool autoscaler and grid painter. If rrdtool detects
- that it is not successful in labeling the graph under the given
- circumstances, it will switch to the more robust -\b--\b-a\bal\blt\bt-\b-y\by-\b-g\bgr\bri\bid\bd
- mode.
+ This option is very effective at confusing the heck out of the
+ default rrdtool autoscaler and grid painter. If rrdtool detects
+ that it is not successful in labeling the graph under the given
+ circumstances, it will switch to the more robust -\b--\b-a\bal\blt\bt-\b-y\by-\b-g\bgr\bri\bid\bd mode.
- [-\b-L\bL|-\b--\b-u\bun\bni\bit\bts\bs-\b-l\ble\ben\bng\bgt\bth\bh _\bv_\ba_\bl_\bu_\be]
+ [-\b-L\bL|-\b--\b-u\bun\bni\bit\bts\bs-\b-l\ble\ben\bng\bgt\bth\bh _\bv_\ba_\bl_\bu_\be]
- How many digits should rrdtool assume the y-axis labels to be?
- You may have to use this option to make enough space once you
- start fideling with the y-axis labeling.
+ How many digits should rrdtool assume the y-axis labels to be? You
+ may have to use this option to make enough space once you start
+ fideling with the y-axis labeling.
- [-\b--\b-u\bun\bni\bit\bts\bs=\b=s\bsi\bi]
+ [-\b--\b-u\bun\bni\bit\bts\bs=\b=s\bsi\bi]
- With this option y-axis values on logarithmic graphs will be
- scaled to the appropriate units (k, M, etc.) instead of using
- exponential notation. Note that for linear graphs, SI notation
- is used by default.
+ With this option y-axis values on logarithmic graphs will be scaled
+ to the appropriate units (k, M, etc.) instead of using exponential
+ notation. Note that for linear graphs, SI notation is used by
+ default.
Miscellaneous
[-\b-z\bz|-\b--\b-l\bla\baz\bzy\by]
-1.2.26 2007-11-20 RRDGRAPH(1)
+1.2.27 2008-02-17 RRDGRAPH(1)
diff --git a/doc/rrdgraph_data.1 b/doc/rrdgraph_data.1
index 1731aa6225c21b6fa531d338f6cae061654fbbef..5c427f69fdeec7eb9f4d8266e3cc55ca7c04d0e1 100644 (file)
--- a/doc/rrdgraph_data.1
+++ b/doc/rrdgraph_data.1
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_DATA 1"
-.TH RRDGRAPH_DATA 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_DATA 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_data \- preparing data for graphing in rrdtool graph
.SH "SYNOPSIS"
diff --git a/doc/rrdgraph_data.txt b/doc/rrdgraph_data.txt
index 23fd3160d541110acf19c4b81aa7653eba8265dd..e6f6923da270f94c559e546a138647797925a646 100644 (file)
--- a/doc/rrdgraph_data.txt
+++ b/doc/rrdgraph_data.txt
-1.2.26 2007-11-20 RRDGRAPH_DATA(1)
+1.2.27 2008-02-17 RRDGRAPH_DATA(1)
index 163f34fcea48c4f5496918403a0547c81469c108..80fd8424737380df6c130dbcbe63847ac1f769d7 100644 (file)
--- a/doc/rrdgraph_examples.1
+++ b/doc/rrdgraph_examples.1
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_EXAMPLES 1"
-.TH RRDGRAPH_EXAMPLES 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_EXAMPLES 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_examples \- Examples for rrdtool graph
.SH "SYNOPSIS"
index 369e3b5562da12cf90fe4d33fcd93ea36fd76abc..ca58ce7696ad29b0f477179e27f1b50f3a83e366 100644 (file)
-1.2.26 2007-11-20 RRDGRAPH_EXAMPLES(1)
+1.2.27 2008-02-17 RRDGRAPH_EXAMPLES(1)
diff --git a/doc/rrdgraph_graph.1 b/doc/rrdgraph_graph.1
index 24e39dd23e9257d768cedaf788615ecb2f947dcc..f7429f9f109b835c54afc498a9a538351a63d4b5 100644 (file)
--- a/doc/rrdgraph_graph.1
+++ b/doc/rrdgraph_graph.1
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_GRAPH 1"
-.TH RRDGRAPH_GRAPH 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_GRAPH 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_graph \- rrdtool graph command reference
.SH "SYNOPSIS"
These instructions allow you to generate your image or report.
If you don't use any graph elements, no graph is generated.
Similarly, no report is generated if you don't use print options.
-.SH "PRINT"
-.IX Header "PRINT"
+.Sh "\s-1PRINT\s0"
+.IX Subsection "PRINT"
.IP "\fB\s-1PRINT:\s0\fR\fIvname\fR\fB:\fR\fIformat\fR[\fB:strftime\fR]" 4
.IX Item "PRINT:vname:format[:strftime]"
Depending on the context, either the value component or the time
can be:
.Sp
For printing values:
-.RS 4
-.IP "\fB%%\fR" 4
-.IX Item "%%"
-just prints a literal '%' character
-.IP "\fB%#.#le\fR" 4
-.IX Item "%#.#le"
-prints numbers like 1.2346e+04. The optional integers # denote field
+.Sp
+\&\fB%%\fR \- just prints a literal '%' character
+.Sp
+\&\fB%#.#le\fR \- prints numbers like 1.2346e+04. The optional integers # denote field
width and decimal precision.
-.IP "\fB%#.#lf\fR" 4
-.IX Item "%#.#lf"
-prints numbers like 12345.6789, with optional field width
+.Sp
+\&\fB%#.#lf\fR \- prints numbers like 12345.6789, with optional field width
and precision.
-.IP "\fB%s\fR" 4
-.IX Item "%s"
-place this after \fB%le\fR, \fB%lf\fR or \fB%lg\fR. This will be replaced by the
+.Sp
+\&\fB%s\fR \- place this after \fB%le\fR, \fB%lf\fR or \fB%lg\fR. This will be replaced by the
appropriate \s-1SI\s0 magnitude unit and the value will be scaled
accordingly (123456 \-> 123.456 k).
-.IP "\fB%S\fR" 4
-.IX Item "%S"
-is similar to \fB%s\fR. It does, however, use a previously defined
+.Sp
+\&\fB%S\fR \- is similar to \fB%s\fR. It does, however, use a previously defined
magnitude unit. If there is no such unit yet, it tries to define
one (just like \fB%s\fR) unless the value is zero, in which case the magnitude
unit stays undefined. Thus, formatter strings using \fB%S\fR and no \fB%s\fR
will all use the same magnitude unit except for zero values.
-.RE
-.RS 4
.Sp
If you \s-1PRINT\s0 a \s-1VDEF\s0 value, you can also print the time associated with it by appending the string
\&\fB:strftime\fR to the format. Note that rrdtool uses the strftime function of your OSs clibrary. This means that
the conversion specifier may vary. Check the manual page if you are uncertain. The following is a list of
conversion specifiers usually supported across the board.
-.IP "\fB%a\fR" 4
-.IX Item "%a"
-The abbreviated weekday name according to the current locale.
-.IP "\fB%A\fR" 4
-.IX Item "%A"
-The full weekday name according to the current locale.
-.IP "\fB%b\fR" 4
-.IX Item "%b"
-The abbreviated month name according to the current locale.
-.IP "\fB%B\fR" 4
-.IX Item "%B"
-The full month name according to the current locale.
-.IP "\fB%c\fR" 4
-.IX Item "%c"
-The preferred date and time representation for the current locale.
-.IP "\fB%d\fR" 4
-.IX Item "%d"
-The day of the month as a decimal number (range 01 to 31).
-.IP "\fB%H\fR" 4
-.IX Item "%H"
-The hour as a decimal number using a 24\-hour clock (range 00 to 23).
-.IP "\fB%I\fR" 4
-.IX Item "%I"
-The hour as a decimal number using a 12\-hour clock (range 01 to 12).
-.IP "\fB%j\fR" 4
-.IX Item "%j"
-The day of the year as a decimal number (range 001 to 366).
-.IP "\fB%m\fR" 4
-.IX Item "%m"
-The month as a decimal number (range 01 to 12).
-.IP "\fB%M\fR" 4
-.IX Item "%M"
-The minute as a decimal number (range 00 to 59).
-.IP "\fB%p\fR" 4
-.IX Item "%p"
-Either `\s-1AM\s0' or `\s-1PM\s0' according to the given time value, or the corresponding
+.Sp
+\&\fB%a\fR \- The abbreviated weekday name according to the current locale.
+.Sp
+\&\fB%A\fR \- The full weekday name according to the current locale.
+.Sp
+\&\fB%b\fR \- The abbreviated month name according to the current locale.
+.Sp
+\&\fB%B\fR \- The full month name according to the current locale.
+.Sp
+\&\fB%c\fR \- The preferred date and time representation for the current locale.
+.Sp
+\&\fB%d\fR \- The day of the month as a decimal number (range 01 to 31).
+.Sp
+\&\fB%H\fR \- The hour as a decimal number using a 24\-hour clock (range 00 to 23).
+.Sp
+\&\fB%I\fR \- The hour as a decimal number using a 12\-hour clock (range 01 to 12).
+.Sp
+\&\fB%j\fR \- The day of the year as a decimal number (range 001 to 366).
+.Sp
+\&\fB%m\fR \- The month as a decimal number (range 01 to 12).
+.Sp
+\&\fB%M\fR \- The minute as a decimal number (range 00 to 59).
+.Sp
+\&\fB%p\fR \- Either `\s-1AM\s0' or `\s-1PM\s0' according to the given time value, or the corresponding
strings for the current locale. Noon is treated as `pm' and midnight as
`am'. Note that in many locales and `pm' notation is unsupported and in
such cases \f(CW%p\fR will return an empty string.
-.IP "\fB%S\fR" 4
-.IX Item "%S"
-The second as a decimal number (range 00 to 61).
-.IP "\fB%U\fR" 4
-.IX Item "%U"
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+.Sp
+\&\fB%S\fR \- The second as a decimal number (range 00 to 61).
+.Sp
+\&\fB%U\fR \- The week number of the current year as a decimal number, range 00 to 53, starting with the
first Sunday as the first day of week 01. See also \f(CW%V\fR and \f(CW%W\fR.
-.IP "\fB%V\fR" 4
-.IX Item "%V"
-The \s-1ISO\s0 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
+.Sp
+\&\fB%V\fR \- The \s-1ISO\s0 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
week 1 is the first week that has at least 4 days in the current year, and with Monday as the
first day of the week. See also \f(CW%U\fR and \f(CW%W\fR.
-.IP "\fB%w\fR" 4
-.IX Item "%w"
-The day of the week as a decimal, range 0 to 6, Sunday being 0. See also \f(CW%u\fR.
-.IP "\fB%W\fR" 4
-.IX Item "%W"
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+.Sp
+\&\fB%w\fR \- The day of the week as a decimal, range 0 to 6, Sunday being 0. See also \f(CW%u\fR.
+.Sp
+\&\fB%W\fR \- The week number of the current year as a decimal number, range 00 to 53, starting with the
first Monday as the first day of week 01.
-.IP "\fB%x\fR" 4
-.IX Item "%x"
-The preferred date representation for the current locale without the time.
-.IP "\fB%X\fR" 4
-.IX Item "%X"
-The preferred time representation for the current locale without the date.
-.IP "\fB%y\fR" 4
-.IX Item "%y"
-The year as a decimal number without a century (range 00 to 99).
-.IP "\fB%Y\fR" 4
-.IX Item "%Y"
-The year as a decimal number including the century.
-.IP "\fB%Z\fR" 4
-.IX Item "%Z"
-The time zone or name or abbreviation.
-.IP "\fB%%\fR" 4
-.IX Item "%%"
-A literal `%' character.
-.RE
-.RS 4
-.RE
+.Sp
+\&\fB%x\fR \- The preferred date representation for the current locale without the time.
+.Sp
+\&\fB%X\fR \- The preferred time representation for the current locale without the date.
+.Sp
+\&\fB%y\fR \- The year as a decimal number without a century (range 00 to 99).
+.Sp
+\&\fB%Y\fR \- The year as a decimal number including the century.
+.Sp
+\&\fB%Z\fR \- The time zone or name or abbreviation.
+.Sp
+\&\fB%%\fR \- A literal `%' character.
.IP "\fB\s-1PRINT:\s0\fR\fIvname\fR\fB:\fR\fI\s-1CF\s0\fR\fB:\fR\fIformat\fR" 4
.IX Item "PRINT:vname:CF:format"
\&\fIDeprecated. Use the new form of this command in new scripts.\fR
The first form of this command is to be used with \fB\s-1CDEF\s0\fR \fIvname\fRs.
-.SH "GRAPH"
-.IX Header "GRAPH"
+.Sh "\s-1GRAPH\s0"
+.IX Subsection "GRAPH"
.IP "\fB\s-1GPRINT\s0\fR\fB:\fR\fIvname\fR\fB:\fR\fIformat\fR" 4
.IX Item "GPRINT:vname:format"
This is the same as \f(CW\*(C`PRINT\*(C'\fR, but printed inside the graph.
index 88c86831e3f61299b8fb68eb6af301ec00080303..78aae248891171cbce61f122b8c4bf1044f2fa16 100644 (file)
--- a/doc/rrdgraph_graph.html
+++ b/doc/rrdgraph_graph.html
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
- <li><a href="#print">PRINT</a></li>
- <li><a href="#graph">GRAPH</a></li>
+ <ul>
+
+ <li><a href="#print">PRINT</a></li>
+ <li><a href="#graph">GRAPH</a></li>
+ </ul>
+
<li><a href="#notes_on_legend_arguments">NOTES on legend arguments</a></li>
<ul>
Similarly, no report is generated if you don't use print options.</p>
<p>
</p>
-<hr />
-<h1><a name="print">PRINT</a></h1>
+<h2><a name="print">PRINT</a></h2>
<dl>
<dt><strong><a name="item_print_3avname_3aformat_5b_3astrftime_5d"><strong>PRINT:</strong><em>vname</em><strong>:</strong><em>format</em>[<strong>:strftime</strong>]</a></strong>
<dd>
<p>For printing values:</p>
</dd>
-<dl>
-<dt><strong><a name="item___"><strong>%%</strong></a></strong>
-
<dd>
-<p>just prints a literal '%' character</p>
+<p><strong>%%</strong> - just prints a literal '%' character</p>
</dd>
-</li>
-<dt><strong><a name="item_____le"><strong>%#.#le</strong></a></strong>
-
<dd>
-<p>prints numbers like 1.2346e+04. The optional integers # denote field
+<p><strong>%#.#le</strong> - prints numbers like 1.2346e+04. The optional integers # denote field
width and decimal precision.</p>
</dd>
-</li>
-<dt><strong><a name="item_____lf"><strong>%#.#lf</strong></a></strong>
-
<dd>
-<p>prints numbers like 12345.6789, with optional field width
+<p><strong>%#.#lf</strong> - prints numbers like 12345.6789, with optional field width
and precision.</p>
</dd>
-</li>
-<dt><strong><a name="item__s"><strong>%s</strong></a></strong>
-
<dd>
-<p>place this after <strong>%le</strong>, <strong>%lf</strong> or <strong>%lg</strong>. This will be replaced by the
+<p><strong>%s</strong> - place this after <strong>%le</strong>, <strong>%lf</strong> or <strong>%lg</strong>. This will be replaced by the
appropriate SI magnitude unit and the value will be scaled
accordingly (123456 -> 123.456 k).</p>
</dd>
-</li>
-<dt><strong><a name="item__s"><strong>%S</strong></a></strong>
-
<dd>
-<p>is similar to <strong>%s</strong>. It does, however, use a previously defined
+<p><strong>%S</strong> - is similar to <strong>%s</strong>. It does, however, use a previously defined
magnitude unit. If there is no such unit yet, it tries to define
one (just like <strong>%s</strong>) unless the value is zero, in which case the magnitude
unit stays undefined. Thus, formatter strings using <strong>%S</strong> and no <strong>%s</strong>
will all use the same magnitude unit except for zero values.</p>
</dd>
-</li>
-</dl>
+<dd>
<p>If you PRINT a VDEF value, you can also print the time associated with it by appending the string
<strong>:strftime</strong> to the format. Note that rrdtool uses the strftime function of your OSs clibrary. This means that
the conversion specifier may vary. Check the manual page if you are uncertain. The following is a list of
conversion specifiers usually supported across the board.</p>
-<dl>
-<dt><strong><a name="item__a"><strong>%a</strong></a></strong>
-
+</dd>
<dd>
-<p>The abbreviated weekday name according to the current locale.</p>
+<p><strong>%a</strong> - The abbreviated weekday name according to the current locale.</p>
</dd>
-</li>
-<dt><strong><a name="item__a"><strong>%A</strong></a></strong>
-
<dd>
-<p>The full weekday name according to the current locale.</p>
+<p><strong>%A</strong> - The full weekday name according to the current locale.</p>
</dd>
-</li>
-<dt><strong><a name="item__b"><strong>%b</strong></a></strong>
-
<dd>
-<p>The abbreviated month name according to the current locale.</p>
+<p><strong>%b</strong> - The abbreviated month name according to the current locale.</p>
</dd>
-</li>
-<dt><strong><a name="item__b"><strong>%B</strong></a></strong>
-
<dd>
-<p>The full month name according to the current locale.</p>
+<p><strong>%B</strong> - The full month name according to the current locale.</p>
</dd>
-</li>
-<dt><strong><a name="item__c"><strong>%c</strong></a></strong>
-
<dd>
-<p>The preferred date and time representation for the current locale.</p>
+<p><strong>%c</strong> - The preferred date and time representation for the current locale.</p>
</dd>
-</li>
-<dt><strong><a name="item__d"><strong>%d</strong></a></strong>
-
<dd>
-<p>The day of the month as a decimal number (range 01 to 31).</p>
+<p><strong>%d</strong> - The day of the month as a decimal number (range 01 to 31).</p>
</dd>
-</li>
-<dt><strong><a name="item__h"><strong>%H</strong></a></strong>
-
<dd>
-<p>The hour as a decimal number using a 24-hour clock (range 00 to 23).</p>
+<p><strong>%H</strong> - The hour as a decimal number using a 24-hour clock (range 00 to 23).</p>
</dd>
-</li>
-<dt><strong><a name="item__i"><strong>%I</strong></a></strong>
-
<dd>
-<p>The hour as a decimal number using a 12-hour clock (range 01 to 12).</p>
+<p><strong>%I</strong> - The hour as a decimal number using a 12-hour clock (range 01 to 12).</p>
</dd>
-</li>
-<dt><strong><a name="item__j"><strong>%j</strong></a></strong>
-
<dd>
-<p>The day of the year as a decimal number (range 001 to 366).</p>
+<p><strong>%j</strong> - The day of the year as a decimal number (range 001 to 366).</p>
</dd>
-</li>
-<dt><strong><a name="item__m"><strong>%m</strong></a></strong>
-
<dd>
-<p>The month as a decimal number (range 01 to 12).</p>
+<p><strong>%m</strong> - The month as a decimal number (range 01 to 12).</p>
</dd>
-</li>
-<dt><strong><a name="item__m"><strong>%M</strong></a></strong>
-
<dd>
-<p>The minute as a decimal number (range 00 to 59).</p>
+<p><strong>%M</strong> - The minute as a decimal number (range 00 to 59).</p>
</dd>
-</li>
-<dt><strong><a name="item__p"><strong>%p</strong></a></strong>
-
<dd>
-<p>Either `AM' or `PM' according to the given time value, or the corresponding
+<p><strong>%p</strong> - Either `AM' or `PM' according to the given time value, or the corresponding
strings for the current locale. Noon is treated as `pm' and midnight as
`am'. Note that in many locales and `pm' notation is unsupported and in
such cases %p will return an empty string.</p>
</dd>
-</li>
-<dt><strong><strong>%S</strong></strong>
-
<dd>
-<p>The second as a decimal number (range 00 to 61).</p>
+<p><strong>%S</strong> - The second as a decimal number (range 00 to 61).</p>
</dd>
-</li>
-<dt><strong><a name="item__u"><strong>%U</strong></a></strong>
-
<dd>
-<p>The week number of the current year as a decimal number, range 00 to 53, starting with the
+<p><strong>%U</strong> - The week number of the current year as a decimal number, range 00 to 53, starting with the
first Sunday as the first day of week 01. See also %V and %W.</p>
</dd>
-</li>
-<dt><strong><a name="item__v"><strong>%V</strong></a></strong>
-
<dd>
-<p>The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
+<p><strong>%V</strong> - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
week 1 is the first week that has at least 4 days in the current year, and with Monday as the
first day of the week. See also %U and %W.</p>
</dd>
-</li>
-<dt><strong><a name="item__w"><strong>%w</strong></a></strong>
-
<dd>
-<p>The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.</p>
+<p><strong>%w</strong> - The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.</p>
</dd>
-</li>
-<dt><strong><a name="item__w"><strong>%W</strong></a></strong>
-
<dd>
-<p>The week number of the current year as a decimal number, range 00 to 53, starting with the
+<p><strong>%W</strong> - The week number of the current year as a decimal number, range 00 to 53, starting with the
first Monday as the first day of week 01.</p>
</dd>
-</li>
-<dt><strong><a name="item__x"><strong>%x</strong></a></strong>
-
<dd>
-<p>The preferred date representation for the current locale without the time.</p>
+<p><strong>%x</strong> - The preferred date representation for the current locale without the time.</p>
</dd>
-</li>
-<dt><strong><a name="item__x"><strong>%X</strong></a></strong>
-
<dd>
-<p>The preferred time representation for the current locale without the date.</p>
+<p><strong>%X</strong> - The preferred time representation for the current locale without the date.</p>
</dd>
-</li>
-<dt><strong><a name="item__y"><strong>%y</strong></a></strong>
-
<dd>
-<p>The year as a decimal number without a century (range 00 to 99).</p>
+<p><strong>%y</strong> - The year as a decimal number without a century (range 00 to 99).</p>
</dd>
-</li>
-<dt><strong><a name="item__y"><strong>%Y</strong></a></strong>
-
<dd>
-<p>The year as a decimal number including the century.</p>
+<p><strong>%Y</strong> - The year as a decimal number including the century.</p>
</dd>
-</li>
-<dt><strong><a name="item__z"><strong>%Z</strong></a></strong>
-
<dd>
-<p>The time zone or name or abbreviation.</p>
+<p><strong>%Z</strong> - The time zone or name or abbreviation.</p>
</dd>
-</li>
-<dt><strong><strong>%%</strong></strong>
-
<dd>
-<p>A literal `%' character.</p>
+<p><strong>%%</strong> - A literal `%' character.</p>
</dd>
</li>
-</dl>
<dt><strong><a name="item_print_3avname_3acf_3aformat"><strong>PRINT:</strong><em>vname</em><strong>:</strong><em>CF</em><strong>:</strong><em>format</em></a></strong>
<dd>
@@ -282,8 +200,7 @@ The first form of this command is to be used with <strong>CDEF</strong> <em>vnam
</dl>
<p>
</p>
-<hr />
-<h1><a name="graph">GRAPH</a></h1>
+<h2><a name="graph">GRAPH</a></h2>
<dl>
<dt><strong><a name="item_gprint_3avname_3aformat"><strong>GPRINT</strong><strong>:</strong><em>vname</em><strong>:</strong><em>format</em></a></strong>
diff --git a/doc/rrdgraph_graph.pod b/doc/rrdgraph_graph.pod
index 93bc1dd37f7769823f0d6eb6e058d3c1883e7c1c..85591e620c8ab179b79ac371772ebb6b822f2bf3 100644 (file)
--- a/doc/rrdgraph_graph.pod
+++ b/doc/rrdgraph_graph.pod
B<SHIFT>B<:>I<vname>B<:>I<offset>
-=cut
-
-#
-#B<PART>B<:>I<vname>B<#>I<rrggbb>[I<aa>][B<:>I<legend>]
-#
-
-=pod
-
B<PRINT>B<:>I<vname>B<:>I<CF>B<:>I<format> (deprecated)
B<GPRINT>B<:>I<vname>B<:>I<CF>B<:>I<format> (deprecated)
-
B<STACK>B<:>I<vname>B<#>I<color>[B<:>I<legend>] (deprecated)
=head1 DESCRIPTION
If you don't use any graph elements, no graph is generated.
Similarly, no report is generated if you don't use print options.
-=head1 PRINT
-
-=over 4
+=head2 PRINT
+=over
=item B<PRINT:>I<vname>B<:>I<format>[B<:strftime>]
For printing values:
-=over 4
+B<%%> - just prints a literal '%' character
-=item B<%%>
-
-just prints a literal '%' character
-
-=item B<%#.#le>
-
-prints numbers like 1.2346e+04. The optional integers # denote field
+B<%#.#le> - prints numbers like 1.2346e+04. The optional integers # denote field
width and decimal precision.
-=item B<%#.#lf>
-
-prints numbers like 12345.6789, with optional field width
+B<%#.#lf> - prints numbers like 12345.6789, with optional field width
and precision.
-=item B<%s>
-
-place this after B<%le>, B<%lf> or B<%lg>. This will be replaced by the
+B<%s> - place this after B<%le>, B<%lf> or B<%lg>. This will be replaced by the
appropriate SI magnitude unit and the value will be scaled
accordingly (123456 -> 123.456 k).
-=item B<%S>
-
-is similar to B<%s>. It does, however, use a previously defined
+B<%S> - is similar to B<%s>. It does, however, use a previously defined
magnitude unit. If there is no such unit yet, it tries to define
one (just like B<%s>) unless the value is zero, in which case the magnitude
unit stays undefined. Thus, formatter strings using B<%S> and no B<%s>
will all use the same magnitude unit except for zero values.
-=back
-
If you PRINT a VDEF value, you can also print the time associated with it by appending the string
B<:strftime> to the format. Note that rrdtool uses the strftime function of your OSs clibrary. This means that
the conversion specifier may vary. Check the manual page if you are uncertain. The following is a list of
conversion specifiers usually supported across the board.
-=over 4
-
-=item B<%a>
-
-The abbreviated weekday name according to the current locale.
-
-=item B<%A>
-
-The full weekday name according to the current locale.
-
-=item B<%b>
-
-The abbreviated month name according to the current locale.
-
-=item B<%B>
-
-The full month name according to the current locale.
+B<%a> - The abbreviated weekday name according to the current locale.
-=item B<%c>
+B<%A> - The full weekday name according to the current locale.
-The preferred date and time representation for the current locale.
+B<%b> - The abbreviated month name according to the current locale.
-=item B<%d>
+B<%B> - The full month name according to the current locale.
-The day of the month as a decimal number (range 01 to 31).
+B<%c> - The preferred date and time representation for the current locale.
-=item B<%H>
+B<%d> - The day of the month as a decimal number (range 01 to 31).
-The hour as a decimal number using a 24-hour clock (range 00 to 23).
+B<%H> - The hour as a decimal number using a 24-hour clock (range 00 to 23).
-=item B<%I>
+B<%I> - The hour as a decimal number using a 12-hour clock (range 01 to 12).
-The hour as a decimal number using a 12-hour clock (range 01 to 12).
+B<%j> - The day of the year as a decimal number (range 001 to 366).
-=item B<%j>
+B<%m> - The month as a decimal number (range 01 to 12).
-The day of the year as a decimal number (range 001 to 366).
+B<%M> - The minute as a decimal number (range 00 to 59).
-=item B<%m>
-
-The month as a decimal number (range 01 to 12).
-
-=item B<%M>
-
-The minute as a decimal number (range 00 to 59).
-
-=item B<%p>
-
-Either `AM' or `PM' according to the given time value, or the corresponding
+B<%p> - Either `AM' or `PM' according to the given time value, or the corresponding
strings for the current locale. Noon is treated as `pm' and midnight as
`am'. Note that in many locales and `pm' notation is unsupported and in
such cases %p will return an empty string.
-=item B<%S>
-
-The second as a decimal number (range 00 to 61).
+B<%S> - The second as a decimal number (range 00 to 61).
-=item B<%U>
-
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+B<%U> - The week number of the current year as a decimal number, range 00 to 53, starting with the
first Sunday as the first day of week 01. See also %V and %W.
-=item B<%V>
-
-The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
+B<%V> - The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where
week 1 is the first week that has at least 4 days in the current year, and with Monday as the
first day of the week. See also %U and %W.
-=item B<%w>
-
-The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.
+B<%w> - The day of the week as a decimal, range 0 to 6, Sunday being 0. See also %u.
-=item B<%W>
-
-The week number of the current year as a decimal number, range 00 to 53, starting with the
+B<%W> - The week number of the current year as a decimal number, range 00 to 53, starting with the
first Monday as the first day of week 01.
-=item B<%x>
-
-The preferred date representation for the current locale without the time.
+B<%x> - The preferred date representation for the current locale without the time.
-=item B<%X>
+B<%X> - The preferred time representation for the current locale without the date.
-The preferred time representation for the current locale without the date.
+B<%y> - The year as a decimal number without a century (range 00 to 99).
-=item B<%y>
+B<%Y> - The year as a decimal number including the century.
-The year as a decimal number without a century (range 00 to 99).
+B<%Z> - The time zone or name or abbreviation.
-=item B<%Y>
-
-The year as a decimal number including the century.
-
-=item B<%Z>
-
-The time zone or name or abbreviation.
-
-=item B<%%>
-
-A literal `%' character.
-
-=back
+B<%%> - A literal `%' character.
=item B<PRINT:>I<vname>B<:>I<CF>B<:>I<format>
=back
-=head1 GRAPH
+=head2 GRAPH
-=over 4
+=over
=item B<GPRINT>B<:>I<vname>B<:>I<format>
As with the other graphing elements, you can specify a number or
a variable here.
-=cut
-
-# This section describes the curruently defunct
-# PieChart code.
-#
-# =item B<PART>B<:>I<vname>B<#>I<rrggbb>[I<aa>][B<:>I<legend>]
-#
-# B<RRDtool> has now support for B<pie charts>. If you include the
-# B<PART> command, the canvas is extended to make room for a chart.
-# The size of the canvas is determined by the lesser of
-# L<width and height|rrdgraph/item_Size>.
-#
-# Pie parts will be concatenated, the first one will start at the
-# top and parts will be created clockwise. The size of the part
-# is defined by the value part of the L<VDEF|rrdgraph_data/VDEF>
-# function. It should return a number between 0 and 100, being a
-# percentage. Providing wrong input will produce undefined results.
-#
-#
-
-=pod
-
=item B<STACK>B<:>I<vname>B<#>I<color>[B<:>I<legend>]
I<Deprecated. Use the B<STACK> modifiers on the other commands.>
diff --git a/doc/rrdgraph_graph.txt b/doc/rrdgraph_graph.txt
index f024a06ba14c6d7dd53135f460d6b214938ee1fb..800dcca6e79b3e6ad018559caaec01b2486793f8 100644 (file)
--- a/doc/rrdgraph_graph.txt
+++ b/doc/rrdgraph_graph.txt
don't use any graph elements, no graph is generated. Similarly, no
report is generated if you don't use print options.
-P\bPR\bRI\bIN\bNT\bT
+ P\bPR\bRI\bIN\bNT\bT
+
+
P\bPR\bRI\bIN\bNT\bT:\b:_\bv_\bn_\ba_\bm_\be:\b:_\bf_\bo_\br_\bm_\ba_\bt[:\b:s\bst\btr\brf\bft\bti\bim\bme\be]
Depending on the context, either the value component or the time
component of a V\bVD\bDE\bEF\bF is printed using _\bf_\bo_\br_\bm_\ba_\bt. It is an error to
For printing values:
- %\b%%\b% just prints a literal '%' character
+ %\b%%\b% - just prints a literal '%' character
- %\b%#\b#.\b.#\b#l\ble\be
- prints numbers like 1.2346e+04. The optional integers # denote
- field width and decimal precision.
+ %\b%#\b#.\b.#\b#l\ble\be - prints numbers like 1.2346e+04. The optional integers #
+ denote field width and decimal precision.
- %\b%#\b#.\b.#\b#l\blf\bf
- prints numbers like 12345.6789, with optional field width and
- precision.
+ %\b%#\b#.\b.#\b#l\blf\bf - prints numbers like 12345.6789, with optional field width
+ and precision.
- %\b%s\bs place this after %\b%l\ble\be, %\b%l\blf\bf or %\b%l\blg\bg. This will be replaced by the
- appropriate SI magnitude unit and the value will be scaled
- accordingly (123456 -> 123.456 k).
+ %\b%s\bs - place this after %\b%l\ble\be, %\b%l\blf\bf or %\b%l\blg\bg. This will be replaced by the
+ appropriate SI magnitude unit and the value will be scaled accord-
+ ingly (123456 -> 123.456 k).
- %\b%S\bS is similar to %\b%s\bs. It does, however, use a previously defined
- magnitude unit. If there is no such unit yet, it tries to
- define one (just like %\b%s\bs) unless the value is zero, in which
- case the magnitude unit stays undefined. Thus, formatter
- strings using %\b%S\bS and no %\b%s\bs will all use the same magnitude unit
- except for zero values.
+ %\b%S\bS - is similar to %\b%s\bs. It does, however, use a previously defined
+ magnitude unit. If there is no such unit yet, it tries to define
+ one (just like %\b%s\bs) unless the value is zero, in which case the
+ magnitude unit stays undefined. Thus, formatter strings using %\b%S\bS
+ and no %\b%s\bs will all use the same magnitude unit except for zero val-
+ ues.
If you PRINT a VDEF value, you can also print the time associated
with it by appending the string :\b:s\bst\btr\brf\bft\bti\bim\bme\be to the format. Note that
you are uncertain. The following is a list of conversion specifiers
usually supported across the board.
- %\b%a\ba The abbreviated weekday name according to the current locale.
+ %\b%a\ba - The abbreviated weekday name according to the current locale.
- %\b%A\bA The full weekday name according to the current locale.
+ %\b%A\bA - The full weekday name according to the current locale.
- %\b%b\bb The abbreviated month name according to the current locale.
+ %\b%b\bb - The abbreviated month name according to the current locale.
- %\b%B\bB The full month name according to the current locale.
+ %\b%B\bB - The full month name according to the current locale.
- %\b%c\bc The preferred date and time representation for the current
- locale.
+ %\b%c\bc - The preferred date and time representation for the current
+ locale.
- %\b%d\bd The day of the month as a decimal number (range 01 to 31).
+ %\b%d\bd - The day of the month as a decimal number (range 01 to 31).
- %\b%H\bH The hour as a decimal number using a 24-hour clock (range 00 to
- 23).
+ %\b%H\bH - The hour as a decimal number using a 24-hour clock (range 00
+ to 23).
- %\b%I\bI The hour as a decimal number using a 12-hour clock (range 01 to
- 12).
+ %\b%I\bI - The hour as a decimal number using a 12-hour clock (range 01
+ to 12).
- %\b%j\bj The day of the year as a decimal number (range 001 to 366).
+ %\b%j\bj - The day of the year as a decimal number (range 001 to 366).
- %\b%m\bm The month as a decimal number (range 01 to 12).
+ %\b%m\bm - The month as a decimal number (range 01 to 12).
- %\b%M\bM The minute as a decimal number (range 00 to 59).
+ %\b%M\bM - The minute as a decimal number (range 00 to 59).
- %\b%p\bp Either `AM' or `PM' according to the given time value, or the
- corresponding strings for the current locale. Noon is treated
- as `pm' and midnight as `am'. Note that in many locales and
- `pm' notation is unsupported and in such cases %p will return
- an empty string.
+ %\b%p\bp - Either `AM' or `PM' according to the given time value, or the
+ corresponding strings for the current locale. Noon is treated as
+ `pm' and midnight as `am'. Note that in many locales and `pm'
+ notation is unsupported and in such cases %p will return an empty
+ string.
- %\b%S\bS The second as a decimal number (range 00 to 61).
+ %\b%S\bS - The second as a decimal number (range 00 to 61).
- %\b%U\bU The week number of the current year as a decimal number,
- range 00 to 53, starting with the first Sunday as the first day
- of week 01. See also %V and %W.
+ %\b%U\bU - The week number of the current year as a decimal number,
+ range 00 to 53, starting with the first Sunday as the first day of
+ week 01. See also %V and %W.
- %\b%V\bV The ISO 8601:1988 week number of the current year as a decimal
- number, range 01 to 53, where week 1 is the first week that
- has at least 4 days in the current year, and with Monday as the
- first day of the week. See also %U and %W.
+ %\b%V\bV - The ISO 8601:1988 week number of the current year as a decimal
+ number, range 01 to 53, where week 1 is the first week that has
+ at least 4 days in the current year, and with Monday as the first
+ day of the week. See also %U and %W.
- %\b%w\bw The day of the week as a decimal, range 0 to 6, Sunday being 0.
- See also %u.
+ %\b%w\bw - The day of the week as a decimal, range 0 to 6, Sunday being
+ 0. See also %u.
- %\b%W\bW The week number of the current year as a decimal number, range
- 00 to 53, starting with the first Monday as the first day
- of week 01.
+ %\b%W\bW - The week number of the current year as a decimal number, range
+ 00 to 53, starting with the first Monday as the first day of
+ week 01.
- %\b%x\bx The preferred date representation for the current locale with-
- out the time.
+ %\b%x\bx - The preferred date representation for the current locale with-
+ out the time.
- %\b%X\bX The preferred time representation for the current locale with-
- out the date.
+ %\b%X\bX - The preferred time representation for the current locale with-
+ out the date.
- %\b%y\by The year as a decimal number without a century (range 00 to
- 99).
+ %\b%y\by - The year as a decimal number without a century (range 00 to
+ 99).
- %\b%Y\bY The year as a decimal number including the century.
+ %\b%Y\bY - The year as a decimal number including the century.
- %\b%Z\bZ The time zone or name or abbreviation.
+ %\b%Z\bZ - The time zone or name or abbreviation.
- %\b%%\b% A literal `%' character.
+ %\b%%\b% - A literal `%' character.
P\bPR\bRI\bIN\bNT\bT:\b:_\bv_\bn_\ba_\bm_\be:\b:_\bC_\bF:\b:_\bf_\bo_\br_\bm_\ba_\bt
_\bD_\be_\bp_\br_\be_\bc_\ba_\bt_\be_\bd_\b. _\bU_\bs_\be _\bt_\bh_\be _\bn_\be_\bw _\bf_\bo_\br_\bm _\bo_\bf _\bt_\bh_\bi_\bs _\bc_\bo_\bm_\bm_\ba_\bn_\bd _\bi_\bn _\bn_\be_\bw _\bs_\bc_\br_\bi_\bp_\bt_\bs_\b. The
first form of this command is to be used with C\bCD\bDE\bEF\bF _\bv_\bn_\ba_\bm_\bes.
-G\bGR\bRA\bAP\bPH\bH
+ G\bGR\bRA\bAP\bPH\bH
+
+
G\bGP\bPR\bRI\bIN\bNT\bT:\b:_\bv_\bn_\ba_\bm_\be:\b:_\bf_\bo_\br_\bm_\ba_\bt
This is the same as "PRINT", but printed inside the graph.
-1.2.26 2007-11-20 RRDGRAPH_GRAPH(1)
+1.2.27 2008-02-17 RRDGRAPH_GRAPH(1)
diff --git a/doc/rrdgraph_rpn.1 b/doc/rrdgraph_rpn.1
index 0a7c7409f062317a37f3939825c752abecb83800..a51f542b380098ba35e9fff84b15b54da9afa2bf 100644 (file)
--- a/doc/rrdgraph_rpn.1
+++ b/doc/rrdgraph_rpn.1
.\" ========================================================================
.\"
.IX Title "RRDGRAPH_RPN 1"
-.TH RRDGRAPH_RPN 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDGRAPH_RPN 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdgraph_rpn \- About RPN Math in rrdtool graph
.SH "SYNOPSIS"
mean that any value other than 0 is considered to be true.
.Sp
Example: \f(CW\*(C`A,B,C,IF\*(C'\fR should be read as \f(CW\*(C`if (A) then (B) else (C)\*(C'\fR
-.Sp
-\&\&
.IP "Comparing values" 4
.IX Item "Comparing values"
\&\fB\s-1MIN\s0, \s-1MAX\s0\fR
.Sp
Example: \f(CW\*(C`CDEF:a=alpha,0,100,LIMIT\*(C'\fR will return \fIunknown\fR if
alpha is lower than 0 or if it is higher than 100.
-.Sp
-\&\&
.IP "Arithmetics" 4
.IX Item "Arithmetics"
\&\fB+, \-, *, /, %\fR
.Sp
Duplicate the top element, remove the top element, exchange the two
top elements.
-.Sp
-\&\&
.SH "VARIABLES"
.IX Header "VARIABLES"
These operators work only on \fB\s-1VDEF\s0\fR statements. Note that currently \s-1ONLY\s0 these work for \fB\s-1VDEF\s0\fR.
diff --git a/doc/rrdgraph_rpn.html b/doc/rrdgraph_rpn.html
index aef75cf764bc9e3ed38f0cc8366118596479e8ec..a972313afc9ce6f654144cd929d415d9d6743b80 100644 (file)
--- a/doc/rrdgraph_rpn.html
+++ b/doc/rrdgraph_rpn.html
<dd>
<p>Example: <code>A,B,C,IF</code> should be read as <code>if (A) then (B) else (C)</code></p>
</dd>
-<dd>
-<p></p>
-</dd>
</li>
<dt><strong><a name="item_comparing_values">Comparing values</a></strong>
<p>Example: <code>CDEF:a=alpha,0,100,LIMIT</code> will return <em>unknown</em> if
alpha is lower than 0 or if it is higher than 100.</p>
</dd>
-<dd>
-<p></p>
-</dd>
</li>
<dt><strong><a name="item_arithmetics">Arithmetics</a></strong>
<p>Duplicate the top element, remove the top element, exchange the two
top elements.</p>
</dd>
-<dd>
-<p></p>
-</dd>
</li>
</dl>
<p>
diff --git a/doc/rrdgraph_rpn.pod b/doc/rrdgraph_rpn.pod
index b2a84dd9daa4a1c55d3a354e9de577918e94cc14..454f7367691a045fefa0ae1e1ce295d84eb5b299 100644 (file)
--- a/doc/rrdgraph_rpn.pod
+++ b/doc/rrdgraph_rpn.pod
Example: C<A,B,C,IF> should be read as C<if (A) then (B) else (C)>
-Z<>
-
=item Comparing values
B<MIN, MAX>
Example: C<CDEF:a=alpha,0,100,LIMIT> will return I<unknown> if
alpha is lower than 0 or if it is higher than 100.
-Z<>
-
=item Arithmetics
B<+, -, *, /, %>
Duplicate the top element, remove the top element, exchange the two
top elements.
-Z<>
-
=back
=head1 VARIABLES
diff --git a/doc/rrdgraph_rpn.txt b/doc/rrdgraph_rpn.txt
index d115537bdb9df0a1849f52bc6292dea62cc695e7..5f022a444a91bd80ecd83d1e478471a3a1fa6625 100644 (file)
--- a/doc/rrdgraph_rpn.txt
+++ b/doc/rrdgraph_rpn.txt
Example: "A,B,C,IF" should be read as "if (A) then (B) else (C)"
-
-
Comparing values
M\bMI\bIN\bN,\b, M\bMA\bAX\bX
Example: "CDEF:a=alpha,0,100,LIMIT" will return _\bu_\bn_\bk_\bn_\bo_\bw_\bn if alpha is
lower than 0 or if it is higher than 100.
-
-
Arithmetics
+\b+,\b, -\b-,\b, *\b*,\b, /\b/,\b, %\b%
Duplicate the top element, remove the top element, exchange the two
top elements.
-
-
V\bVA\bAR\bRI\bIA\bAB\bBL\bLE\bES\bS
These operators work only on V\bVD\bDE\bEF\bF statements. Note that currently ONLY
these work for V\bVD\bDE\bEF\bF.
-1.2.26 2007-11-20 RRDGRAPH_RPN(1)
+1.2.27 2008-02-17 RRDGRAPH_RPN(1)
diff --git a/doc/rrdinfo.1 b/doc/rrdinfo.1
index 69f48fa98d527666bae9ff21be984d48abe3a308..bab666fa6e0a6fa43ead3f96a79ca6f32e723703 100644 (file)
--- a/doc/rrdinfo.1
+++ b/doc/rrdinfo.1
.\" ========================================================================
.\"
.IX Title "RRDINFO 1"
-.TH RRDINFO 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDINFO 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdinfo \- extract header information from an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdinfo.txt b/doc/rrdinfo.txt
index c59a5b52c97f4a9ae108996aa0ce5f9fb4a5f6c2..e6a173114f13381be267c09d08ef862d4adfe54d 100644 (file)
--- a/doc/rrdinfo.txt
+++ b/doc/rrdinfo.txt
-1.2.26 2007-11-20 RRDINFO(1)
+1.2.27 2008-02-17 RRDINFO(1)
diff --git a/doc/rrdlast.1 b/doc/rrdlast.1
index 1e93c14932bd57e65652649c9f0648b055e5c1bc..41191397a0123d397d661904756e0a0ff37c16c2 100644 (file)
--- a/doc/rrdlast.1
+++ b/doc/rrdlast.1
.\" ========================================================================
.\"
.IX Title "RRDLAST 1"
-.TH RRDLAST 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDLAST 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdlast \- Return the date of the last data sample in an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdlast.txt b/doc/rrdlast.txt
index bb2e70751f202518befea73910da0abfc7b51a65..14e28a3310d0b4c40b0ad12706b59def9e2e2d43 100644 (file)
--- a/doc/rrdlast.txt
+++ b/doc/rrdlast.txt
-1.2.26 2007-11-20 RRDLAST(1)
+1.2.27 2008-02-17 RRDLAST(1)
diff --git a/doc/rrdlastupdate.1 b/doc/rrdlastupdate.1
index 459daaec4dae03a5cbdf7c255142ac7412baefef..4d1a19d4b9d00fca58033782d4f3861923fd86e6 100644 (file)
--- a/doc/rrdlastupdate.1
+++ b/doc/rrdlastupdate.1
.\" ========================================================================
.\"
.IX Title "RRDLASTUPDATE 1"
-.TH RRDLASTUPDATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDLASTUPDATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdlastupdate \- Return the most recent update to an RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdlastupdate.txt b/doc/rrdlastupdate.txt
index 8264e800f6e5ca30c1e7ba675d332249328c110f..70b5e863b4be4bff60260960e98927574d828a3d 100644 (file)
--- a/doc/rrdlastupdate.txt
+++ b/doc/rrdlastupdate.txt
-1.2.26 2007-11-20 RRDLASTUPDATE(1)
+1.2.27 2008-02-17 RRDLASTUPDATE(1)
diff --git a/doc/rrdresize.1 b/doc/rrdresize.1
index 61e45771e1ca0d4d7a31e4f91fb1dd76b7339607..2ad3df2c14b1a47304183d830911a826f2225cd6 100644 (file)
--- a/doc/rrdresize.1
+++ b/doc/rrdresize.1
.\" ========================================================================
.\"
.IX Title "RRDRESIZE 1"
-.TH RRDRESIZE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDRESIZE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdresize \- alters the size of an RRA and creates a new .rrd file
.SH "SYNOPSIS"
diff --git a/doc/rrdresize.txt b/doc/rrdresize.txt
index 3c703a4314582b8a4b2d4ecce15122004e24928f..817090ec8d3e27a6fe2029029422a63c30f182fb 100644 (file)
--- a/doc/rrdresize.txt
+++ b/doc/rrdresize.txt
-1.2.26 2007-11-20 RRDRESIZE(1)
+1.2.27 2008-02-17 RRDRESIZE(1)
diff --git a/doc/rrdrestore.1 b/doc/rrdrestore.1
index 997f308f22a7bc0946b2e2cd736b4258c82064ab..fcd8455e4e39ccc1a477f9f197a595c2210eb713 100644 (file)
--- a/doc/rrdrestore.1
+++ b/doc/rrdrestore.1
.\" ========================================================================
.\"
.IX Title "RRDRESTORE 1"
-.TH RRDRESTORE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDRESTORE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdrestore \- Restore the contents of an RRD from its XML dump format
.SH "SYNOPSIS"
diff --git a/doc/rrdrestore.txt b/doc/rrdrestore.txt
index d8c11366ad85e6223c6bad3fccee0e0eed53b9d7..49abd7690655e592f82c13f0b251c92209084366 100644 (file)
--- a/doc/rrdrestore.txt
+++ b/doc/rrdrestore.txt
-1.2.26 2007-11-20 RRDRESTORE(1)
+1.2.27 2008-02-17 RRDRESTORE(1)
diff --git a/doc/rrdthreads.1 b/doc/rrdthreads.1
index 214c122a45b40fa115988ed23e263183a9751d61..d3b496e322b62d72183ff4057e5715dd4be0936d 100644 (file)
--- a/doc/rrdthreads.1
+++ b/doc/rrdthreads.1
.\" ========================================================================
.\"
.IX Title "RRDTHREADS 1"
-.TH RRDTHREADS 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTHREADS 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdthreads \- Provisions for linking the RRD library to use in multi\-threaded programs
.SH "SYNOPSIS"
diff --git a/doc/rrdthreads.txt b/doc/rrdthreads.txt
index a186f8cbe240794c5821788589bf0a7e7bcc866d..86adb3a59cdbbf43176fc1714a1c1bf3a737be61 100644 (file)
--- a/doc/rrdthreads.txt
+++ b/doc/rrdthreads.txt
-1.2.26 2007-11-20 RRDTHREADS(1)
+1.2.27 2008-02-17 RRDTHREADS(1)
diff --git a/doc/rrdtool.1 b/doc/rrdtool.1
index 8212c4506d01c894d6e85ff193d74e6bd7e40890..4d20cc898ec9bc6041834efffb00030272eeea3b 100644 (file)
--- a/doc/rrdtool.1
+++ b/doc/rrdtool.1
.\" ========================================================================
.\"
.IX Title "RRDTOOL 1"
-.TH RRDTOOL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTOOL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtool \- Round Robin Database Tool
.SH "SYNOPSIS"
diff --git a/doc/rrdtool.txt b/doc/rrdtool.txt
index 9c6c6dc6d194e88a589df8129cde50c5065f26a5..3e986ac73e196fc8ac19e57b0e6fc56f2cac3ab3 100644 (file)
--- a/doc/rrdtool.txt
+++ b/doc/rrdtool.txt
-1.2.26 2007-11-20 RRDTOOL(1)
+1.2.27 2008-02-17 RRDTOOL(1)
diff --git a/doc/rrdtune.1 b/doc/rrdtune.1
index 8dbc4400a683f1962b33a1e7bae403a9179f1ea8..a961ee86f35fd7dfa7bfbcd62628d59b91ae73aa 100644 (file)
--- a/doc/rrdtune.1
+++ b/doc/rrdtune.1
.\" ========================================================================
.\"
.IX Title "RRDTUNE 1"
-.TH RRDTUNE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTUNE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtune \- Modify some basic properties of a Round Robin Database
.SH "SYNOPSIS"
diff --git a/doc/rrdtune.txt b/doc/rrdtune.txt
index e09b2730bcef0b6cbce67dfc317355a71afa119c..0ce504666de1d35b164a71e40a983375b57a0b30 100644 (file)
--- a/doc/rrdtune.txt
+++ b/doc/rrdtune.txt
-1.2.26 2007-11-20 RRDTUNE(1)
+1.2.27 2008-02-17 RRDTUNE(1)
diff --git a/doc/rrdtutorial.1 b/doc/rrdtutorial.1
index efec405f0805d1406db3229584a2402c5a8bd9aa..7efe014f5ce9bed028ca317f8adad3e5ffb19365 100644 (file)
--- a/doc/rrdtutorial.1
+++ b/doc/rrdtutorial.1
.\" ========================================================================
.\"
.IX Title "RRDTUTORIAL 1"
-.TH RRDTUTORIAL 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDTUTORIAL 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdtutorial \- Alex van den Bogaerdt's RRDtool tutorial
.SH "DESCRIPTION"
more important, some background information of how it works.
.PP
You will need to know something about hexadecimal numbers. If you don't
-then start with reading bin_dec_hex before you continue here.
+then start with reading bin_dec_hex tutorial before you continue here.
.Sh "Your first Round Robin Database"
.IX Subsection "Your first Round Robin Database"
In my opinion the best way to learn something is to actually do it.
diff --git a/doc/rrdtutorial.html b/doc/rrdtutorial.html
index 86eb7dba1d59f948910c56a1cfae6786993e2a51..7ae3bf180a14be2317a2e64a201a5e753ad7d71e 100644 (file)
--- a/doc/rrdtutorial.html
+++ b/doc/rrdtutorial.html
<p>By following the examples you get some hands-on experience and, even
more important, some background information of how it works.</p>
<p>You will need to know something about hexadecimal numbers. If you don't
-then start with reading <a href="././bin_dec_hex.html">the bin_dec_hex manpage</a> before you continue here.</p>
+then start with reading bin_dec_hex tutorial before you continue here.</p>
<p>
</p>
<h2><a name="your_first_round_robin_database">Your first Round Robin Database</a></h2>
diff --git a/doc/rrdtutorial.pod b/doc/rrdtutorial.pod
index 30a4868d30c7b175cff702e884f076106ed2ce1e..1ccfa379f9fde51f873c16e32a6500beac5c1ec0 100644 (file)
--- a/doc/rrdtutorial.pod
+++ b/doc/rrdtutorial.pod
more important, some background information of how it works.
You will need to know something about hexadecimal numbers. If you don't
-then start with reading L<bin_dec_hex> before you continue here.
+then start with reading bin_dec_hex tutorial before you continue here.
=head2 Your first Round Robin Database
diff --git a/doc/rrdtutorial.txt b/doc/rrdtutorial.txt
index 3e64a168a46d7ad4b1a86c3a7f6d857b815ebc42..e223045993be53b431018be706c6e2bf98f1f9b5 100644 (file)
--- a/doc/rrdtutorial.txt
+++ b/doc/rrdtutorial.txt
more important, some background information of how it works.
You will need to know something about hexadecimal numbers. If you don't
- then start with reading bin_dec_hex before you continue here.
+ then start with reading bin_dec_hex tutorial before you continue here.
Y\bYo\bou\bur\br f\bfi\bir\brs\bst\bt R\bRo\bou\bun\bnd\bd R\bRo\bob\bbi\bin\bn D\bDa\bat\bta\bab\bba\bas\bse\be
-1.2.26 2007-11-20 RRDTUTORIAL(1)
+1.2.27 2008-02-17 RRDTUTORIAL(1)
diff --git a/doc/rrdupdate.1 b/doc/rrdupdate.1
index 326b82a3b356f2afe25d1f94aeef883ec8710178..cb1e9edd861b6ff0b05a64de888ac0a536a70087 100644 (file)
--- a/doc/rrdupdate.1
+++ b/doc/rrdupdate.1
.\" ========================================================================
.\"
.IX Title "RRDUPDATE 1"
-.TH RRDUPDATE 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDUPDATE 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdupdate \- Store a new set of values into the RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdupdate.txt b/doc/rrdupdate.txt
index 63b032ab061d9766227272c6f31e7039e5f8e980..582da4e677b194de6add50303f7a9bc11dbb9f0f 100644 (file)
--- a/doc/rrdupdate.txt
+++ b/doc/rrdupdate.txt
-1.2.26 2007-11-20 RRDUPDATE(1)
+1.2.27 2008-02-17 RRDUPDATE(1)
diff --git a/doc/rrdxport.1 b/doc/rrdxport.1
index 88d57e295c2315819cf248074d01d99fc6d02bea..276852a4f8dd9db9002b47e858c51c9ba41b54b8 100644 (file)
--- a/doc/rrdxport.1
+++ b/doc/rrdxport.1
.\" ========================================================================
.\"
.IX Title "RRDXPORT 1"
-.TH RRDXPORT 1 "2007-11-20" "1.2.26" "rrdtool"
+.TH RRDXPORT 1 "2008-02-17" "1.2.27" "rrdtool"
.SH "NAME"
rrdxport \- Export data in XML format based on data from one or several RRD
.SH "SYNOPSIS"
diff --git a/doc/rrdxport.txt b/doc/rrdxport.txt
index 120ec80366d44712a8b0545a7e460ae9ac5ff426..b9f8d305d3f9a8f2c7119d25c9543b422d9e4004 100644 (file)
--- a/doc/rrdxport.txt
+++ b/doc/rrdxport.txt
-1.2.26 2007-11-20 RRDXPORT(1)
+1.2.27 2008-02-17 RRDXPORT(1)
diff --git a/netware/Makefile b/netware/Makefile
index c138dfa0b06d81b0df263291aac83e25b0837e40..e8d6a4730f6305865e6818bac49de5a436b30927 100644 (file)
--- a/netware/Makefile
+++ b/netware/Makefile
# All library code is statically linked to avoid problems with other lib NLMs.
# Edit the path below to point to your libpng sources or set environment var.
ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.16
+LIBPNG = $(LIBBASE)/libpng-1.2.23
endif
# Edit the path below to point to your freetype sources or set environment var.
ifndef LIBFT2
-LIBFT2 = $(LIBBASE)/freetype-2.3.4
+LIBFT2 = $(LIBBASE)/freetype-2.3.5
endif
# Edit the path below to point to your libart sources or set environment var.
ifndef LIBART
ifndef DISTDIR
DISTDIR = rrdtool-$(RRD_VERSION_STR)-nw
endif
-DISTARC = $(DISTDIR).zip
+ifndef DISTARC
+DISTARC = $(DISTDIR).$(ARCEXT)
+endif
# Edit the path below to point to your distribution folder.
ifndef DEVLDIR
DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-nw
endif
-DEVLARC = $(DEVLDIR).zip
+ifndef DEVLARC
+DEVLARC = $(DEVLDIR).$(ARCEXT)
+endif
# whatever...
# NO_NULL_REALLOC = 1
# Here you can find a native Win32 binary of the original awk:
# http://www.gknw.net/development/prgtools/awk.zip
AWK = awk
-ZIP = zip -qzr9
MV = mv -fv
+ifndef ARCBIN
+ARCBIN = zip -qzr9
+ARCEXT = zip
+#ARCBIN = 7za a
+#ARCEXT = 7z
+endif
+
# must be equal to DEBUG or NDEBUG
DB = NDEBUG
OBJCGI := $(OBJS) $(OBJDIR)/rrd_cgi.o
OBJTOOL := $(OBJS) $(OBJDIR)/rrd_tool.o
-LDLIBS += $(LIBFT2)/builds/netware/libc/libft2.$(LIBEXT)
+LDLIBS += $(LIBFT2)/builds/netware/LIBC/libft2.$(LIBEXT)
all: rrdtool rrdcgi
@-$(CP) $(PROOT)/NEWS $(DISTDIR)
@-$(CP) $(PROOT)/README $(DISTDIR)
@echo Creating $(DISTARC)
- @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+ @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-mkdir $(DEVLDIR)$(DS)include
@-$(CP) $(PROOT)/NEWS $(DEVLDIR)
@-$(CP) $(PROOT)/README $(DEVLDIR)
@echo Creating $(DEVLARC)
- @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
+ @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
clean:
-$(RM) -r $(OBJDIR)
diff --git a/rrd_config.h.in b/rrd_config.h.in
index 9190c629752813094657ec9a3b00fc81ba30f390..303bac7f39dce8b59289ab5b2f3d2dd0f8bd7696 100644 (file)
--- a/rrd_config.h.in
+++ b/rrd_config.h.in
/* realloc does not support NULL as argument */
#undef NO_NULL_REALLOC
+/* lets enable madvise defines in NetBSD */
+#if defined(__NetBSD__)
+# if !defined(_NETBSD_SOURCE)
+# define _NETBSD_SOURCE
+# endif
+#endif
+
/* Define to 1 if you have the `chdir' function. */
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
+/* Define to 1 if you have the <features.h> header file. */
+#undef HAVE_FEATURES_H
+
/* Define to 1 if you have the `finite' function. */
#undef HAVE_FINITE
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
+/* Define to 1 if you have the `msync' function. */
+#undef HAVE_MSYNC
+
+/* Define to 1 if you have the `munmap' function. */
+#undef HAVE_MUNMAP
+
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the `posix_fadvise' function. */
#undef HAVE_POSIX_FADVISE
+/* Define to 1 if you have the `posix_madvise' function. */
+#undef HAVE_POSIX_MADVISE
+
/* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD
*/
#undef HAVE_SYS_DIR_H
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
#undef HAVE_SYS_NDIR_H
#undef const
-/* enable posix_fadvise on linux */
-#if defined(HAVE_POSIX_FADVISE) && defined(HAVE_FCNTL_H)
+#ifdef HAVE_FEATURES_H
#define _XOPEN_SOURCE 600
+#undef _BSD_SOURCE /* comment to prevent configure from modifying this line */
+#define _BSD_SOURCE 1
+# include <features.h>
+#endif
+
+#ifdef HAVE_ERRNO_H
+# include <errno.h>
+#endif
+
+#if defined(HAVE_SYS_MMAN_H)
+#include <sys/mman.h>
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
+#ifndef MAXPATH
+# ifdef PATH_MAX
+# define MAXPATH PATH_MAX
+# endif
+#endif
+#ifndef MAXPATH
+/* else try the BSD variant */
+# ifdef MAXPATHLEN
+# define MAXPATH MAXPATHLEN
+# endif
+#endif
+
+#if !defined HAVE_MADVISE && defined HAVE_POSIX_MADVISE
+/* use posix_madvise family */
+# define madvise posix_madvise
+# define MADV_NORMAL POSIX_MADV_NORMAL
+# define MADV_RANDOM POSIX_MADV_RANDOM
+# define MADV_SEQUENTIAL POSIX_MADV_SEQUENTIAL
+# define MADV_WILLNEED POSIX_MADV_WILLNEED
+# define MADV_DONTNEED POSIX_MADV_DONTNEED
+#endif
+
+#if defined POSIX_MADV_RANDOM && !defined MADV_RANDOM
+#define MADV_RANDOM POSIX_MADV_RANDOM
+#endif
+
+
+
+#if defined HAVE_MADVISE || defined HAVE_POSIX_MADVISE
+# define USE_MADVISE 1
+#endif
+
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifdef TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+
+#ifdef HAVE_SYS_TIMES_H
+# include <sys/times.h>
+#endif
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#if (defined(__svr4__) && defined(__sun__))
+/* Solaris headers (pre 2.6) don't have a getrusage prototype.
+ Use this instead. */
+extern int getrusage(int, struct rusage *);
+#endif /* __svr4__ && __sun__ */
+#endif
+
/* define strrchr, strchr and memcpy, memmove in terms of bsd funcs
make sure you are NOT using bcopy, index or rindex in the code */
/* for Solaris */
#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
# define HAVE_ISINF 1
+# ifdef isinf
+# undef isinf /* confuse autoconf */
+# endif
# define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF)
#endif
/* solaris 10 it defines isnan such that only forte can compile it ... bad bad */
#if (defined(HAVE_ISNAN) && defined(isnan) && defined(HAVE_FPCLASS))
-# undef isnan
+# undef isnan /* confuse autoconf to NOT remove this */
# define isnan(a) (fpclass(a) == FP_SNAN || fpclass(a) == FP_QNAN)
#endif
diff --git a/rrdtool.spec b/rrdtool.spec
index 7d169c618fc730f61ed52f90311660892e7f7590..4db9ea9da09f9a7f0fec21e5feb084d6dd58bb61 100644 (file)
--- a/rrdtool.spec
+++ b/rrdtool.spec
Summary: Round Robin Database Tool to store and display time-series data
Name: rrdtool
-Version: 1.2.26
+Version: 1.2.27
Release: 5%{?dist}
License: GPL
Group: Applications/Databases
diff --git a/src/Makefile.am b/src/Makefile.am
index f3c476ec9ec21cb14075784bb40cc16e7d216ec3..73f1113844c69c50fe45f08064bb5a6207aec9b2 100644 (file)
--- a/src/Makefile.am
+++ b/src/Makefile.am
# your package will not be binary compatible with any other release.
#
# see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation
-librrd_la_LDFLAGS = -version-info 2:12:0
+librrd_la_LDFLAGS = -version-info 2:13:0
librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c
librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS)
-librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0
+librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0
librrd_th_la_LIBADD = $(ALL_LIBS)
include_HEADERS = rrd.h
diff --git a/src/Makefile.in b/src/Makefile.in
index ac1342bbe309bd51bf7dbac2232b4bbd2232832b..f3489dfe472cb05fb51edce3cf9e97fff205e79d 100644 (file)
--- a/src/Makefile.in
+++ b/src/Makefile.in
# your package will not be binary compatible with any other release.
#
# see http://www.gnu.org/software/libtool/manual.html#SEC32 for explanation
-librrd_la_LDFLAGS = -version-info 2:12:0
+librrd_la_LDFLAGS = -version-info 2:13:0
librrd_th_la_SOURCES = $(UPD_C_FILES) $(RRD_C_FILES) rrd_thread_safe.c
librrd_th_la_CFLAGS = $(MULTITHREAD_CFLAGS)
-librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:11:0
+librrd_th_la_LDFLAGS = $(MULTITHREAD_LDFLAGS) -version-info 2:13:0
librrd_th_la_LIBADD = $(ALL_LIBS)
include_HEADERS = rrd.h
rrdcgi_SOURCES = rrd_cgi.c
diff --git a/src/pngsize.c b/src/pngsize.c
index 6b8b264e7fe9594219407fc5672363c39b5655ce..c9254d48f65f915ed315848df78939effd9f1dc6 100644 (file)
--- a/src/pngsize.c
+++ b/src/pngsize.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* pngsize.c determine the size of a PNG image
*****************************************************************************/
diff --git a/src/rrd.h b/src/rrd.h
index e63236a3fa4d8a463472137b64ae13a339aeabba..d58662f7c9e5bc1d9cd110530b59506b629c4004 100644 (file)
--- a/src/rrd.h
+++ b/src/rrd.h
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrdlib.h Public header file for librrd
*****************************************************************************
- * $Id: rrd.h 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd.h 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.9 2005/02/13 16:13:33 oetiker
* let rrd_graph return the actual value range it picked ...
diff --git a/src/rrd_afm.c b/src/rrd_afm.c
index 5277230e439a6eac6a63da37b0b2944fd70dcf14..59ead88d6c7fc2d147404a6854216571e271d3c1 100644 (file)
--- a/src/rrd_afm.c
+++ b/src/rrd_afm.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm.h Parsing afm tables to find width of strings.
****************************************************************************
- * $Id: rrd_afm.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_afm.c 1286 2008-02-17 10:08:10Z oetiker $
*/
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
diff --git a/src/rrd_afm.h b/src/rrd_afm.h
index a9f28d8c25ec53a35be0aa005f222670028f4aab..94d93eb53bc10365bd07a0df1b72dcc097ba76f1 100644 (file)
--- a/src/rrd_afm.h
+++ b/src/rrd_afm.h
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm.h Parsing afm tables to find width of strings.
****************************************************************************/
diff --git a/src/rrd_afm_data.c b/src/rrd_afm_data.c
index ab7f1aa8a61e2731a3ae20fe2dd94c9d2c6d3af3..2c7ab4419b643f0afc986cca0adb04bc9e140653 100644 (file)
--- a/src/rrd_afm_data.c
+++ b/src/rrd_afm_data.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm_data.c Encoded afm (Adobe Font Metrics) for selected fonts.
****************************************************************************
diff --git a/src/rrd_afm_data.h b/src/rrd_afm_data.h
index 6be2607094dd48e41fe31263198015237e924e53..076e95950cd33ceb452a7b565f7158a71b6ac33b 100644 (file)
--- a/src/rrd_afm_data.h
+++ b/src/rrd_afm_data.h
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_afm_data.h Encoded afm (Adobe Font Metrics) for selected fonts.
****************************************************************************/
diff --git a/src/rrd_cgi.c b/src/rrd_cgi.c
index 8038a3082334dedf411a0e7f70f0102125b1c181..e87c70cc5bf59e46b32e7ebafe517f83bafbf3a9 100644 (file)
--- a/src/rrd_cgi.c
+++ b/src/rrd_cgi.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_cgi.c RRD Web Page Generator
*****************************************************************************/
if (i<numargs) {
/* try to find out if there's already such a variable */
- for (k=0; k<i && (strncmp (result[k]->name,cp, esp-cp) || !(strlen (result[k]->name) == esp-cp)); k++);
+ for (k=0; k<i && (strncmp (result[k]->name,cp, esp-cp) || !(strlen (result[k]->name) == (size_t)(esp-cp))); k++);
if (k == i) { /* No such variable yet */
if ((result[i] = (s_var *)malloc(sizeof(s_var))) == NULL)
diff --git a/src/rrd_create.c b/src/rrd_create.c
index 05b372d5b55afadcc3bb29bf67c4a70ff4ce889d..9e5b0557a8fa51d1a33fa33b4ca86e47ba3d2f40 100644 (file)
--- a/src/rrd_create.c
+++ b/src/rrd_create.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_create.c creates new rrds
*****************************************************************************/
diff --git a/src/rrd_diff.c b/src/rrd_diff.c
index 3cc29075e900aba9978e71649dbf176806ecc17f..d8ca8389f263052217a57032af16c1c98a3bbcdb 100644 (file)
--- a/src/rrd_diff.c
+++ b/src/rrd_diff.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This code is stolen from rateup (mrtg-2.x) by Dave Rand
*****************************************************************************
* diff calculate the difference between two very long integers available as
* strings
*****************************************************************************
- * $Id: rrd_diff.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_diff.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.4 2003/03/10 00:30:34 oetiker
* handle cases with two negative numbers
diff --git a/src/rrd_dump.c b/src/rrd_dump.c
index b37e9a132b4de2bdf1cd9d9a03f2283d88e08c5d..bb6859313749e51e8dfdf131ee949bcbad8a7d07 100644 (file)
--- a/src/rrd_dump.c
+++ b/src/rrd_dump.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_dump Display a RRD
*****************************************************************************
- * $Id: rrd_dump.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_dump.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.7 2004/05/25 20:53:21 oetiker
* prevent small leak when resources are exhausted -- Mike Slifcak
diff --git a/src/rrd_error.c b/src/rrd_error.c
index a3c958c08577504b85a36cef844d3a5313eed6d4..6aaf7f29fd6b07cc05feae00eb9cce4482ded506 100644 (file)
--- a/src/rrd_error.c
+++ b/src/rrd_error.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_error.c Common Header File
*****************************************************************************
- * $Id: rrd_error.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_error.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.4 2003/02/22 21:57:03 oetiker
* a patch to avoid a memory leak and a Makefile.am patch to
diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c
index 5dfcaab7e573fe5d93b7877badfac5edccfa73d2..82d35f374b75450175c5e9c34d2bbc4ab4b033a3 100644 (file)
--- a/src/rrd_fetch.c
+++ b/src/rrd_fetch.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_fetch.c read date from an rrd to use for further processing
*****************************************************************************
- * $Id: rrd_fetch.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_fetch.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.8 2004/05/18 18:53:03 oetiker
* big spell checking patch -- slif@bellsouth.net
diff --git a/src/rrd_first.c b/src/rrd_first.c
index f1267af0e750221615685eac5f724cc7171c0177..eba83be375d19cdfafcd5ed4e267973756fce1c9 100644 (file)
--- a/src/rrd_first.c
+++ b/src/rrd_first.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_first Return
*****************************************************************************
diff --git a/src/rrd_format.c b/src/rrd_format.c
index bccc0d49b240b1a29fc7e7014c7c7a4105aa4aee..b7ca3a1eba756e03af4af6ac2fd3cba05d15a2d4 100644 (file)
--- a/src/rrd_format.c
+++ b/src/rrd_format.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_format.c RRD Database Format helper functions
*****************************************************************************
- * $Id: rrd_format.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_format.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.5 2004/05/18 18:53:03 oetiker
* big spell checking patch -- slif@bellsouth.net
diff --git a/src/rrd_format.h b/src/rrd_format.h
index 34022f2d52bffb8509ac78d9413f3ffde76e2d51..b8c8a81c9968da0603b3556c4b9937e72db5c3ee 100644 (file)
--- a/src/rrd_format.h
+++ b/src/rrd_format.h
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_format.h RRD Database Format header
*****************************************************************************/
diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c
index 3db7bdf6487ae6f6b9920207f5390700172d46d7..a94afbf1b08af0220e868fc91b4660978d2434eb 100644 (file)
--- a/src/rrd_gfx.c
+++ b/src/rrd_gfx.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_gfx.c graphics wrapper for rrdtool
**************************************************************************/
diff --git a/src/rrd_gfx.h b/src/rrd_gfx.h
index 8df390282b33158b2e5cfbc74d27ce4b0e776e49..15680a1bddd232cf5860a81d305b9897ea27b2b8 100644 (file)
--- a/src/rrd_gfx.h
+++ b/src/rrd_gfx.h
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_gfx.h generic graphics adapter library
****************************************************************************/
diff --git a/src/rrd_graph.c b/src/rrd_graph.c
index b3822d6816a77fbc9c26d39cab5da57ff43d26f8..deb23cf4723fc017671321f39c24e3d3fff46bfc 100644 (file)
--- a/src/rrd_graph.c
+++ b/src/rrd_graph.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd__graph.c produce graphs from data in rrdfiles
****************************************************************************/
{10, 0, TMT_MINUTE,5, TMT_MINUTE,20, TMT_MINUTE,20, 0,"%H:%M"},
{30, 0, TMT_MINUTE,10, TMT_HOUR,1, TMT_HOUR,1, 0,"%H:%M"},
{60, 0, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,2, 0,"%H:%M"},
- {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,4, 0,"%a %H:%M"},
+ {60, 24*3600, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,6, 0,"%a %H:%M"},
{180, 0, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,6, 0,"%H:%M"},
{180, 24*3600, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,12, 0,"%a %H:%M"},
/*{300, 0, TMT_HOUR,3, TMT_HOUR,12, TMT_HOUR,12, 12*3600,"%a %p"}, this looks silly*/
case 'n':{
char prop[15];
double size = 1;
- char font[1024] = "";
-
+ int end;
if(sscanf(optarg,
- "%10[A-Z]:%lf:%1000s",
- prop,&size,font) >= 2){
+ "%10[A-Z]:%lf%n",
+ prop,&size,&end) >= 2){
int sindex,propidx;
if((sindex=text_prop_conv(prop)) != -1){
for (propidx=sindex;propidx<TEXT_PROP_LAST;propidx++){
if (size > 0){
im->text_prop[propidx].size=size;
- }
- if (strlen(font) > 0){
- strcpy(im->text_prop[propidx].font,font);
+ }
+ if (strlen(prop) > end){
+ if (prop[end] == ':'){
+ strncpy(im->text_prop[propidx].font,prop+end+1,255);
+ im->text_prop[propidx].font[255] = '\0';
+ } else {
+ rrd_set_error("expected after font size in '%s'",prop);
+ return;
+ }
}
if (propidx==sindex && sindex != 0) break;
}
diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c
index 53da69553212acbf23553dcdcc53e078a94e46fb..86a2467aeeaa038583c9dbaebb42a404af12f1bf 100644 (file)
--- a/src/rrd_graph_helper.c
+++ b/src/rrd_graph_helper.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_graph_helper.c commandline parser functions
* this code initially written by Alex van den Bogaerdt
diff --git a/src/rrd_hw.c b/src/rrd_hw.c
index 2641cdbe45573af987c900c7f4e584386415e23e..43158fde321b54e8501bdcadc105cdc9172ea33d 100644 (file)
--- a/src/rrd_hw.c
+++ b/src/rrd_hw.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
*****************************************************************************
diff --git a/src/rrd_hw.h b/src/rrd_hw.h
index df2ca5e4073fdb7e9cfe5c2580bcdded1b3fb644..54f150f97eeeebdd94ccbf17f71039a8d1052441 100644 (file)
--- a/src/rrd_hw.h
+++ b/src/rrd_hw.h
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_hw.h : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection
*****************************************************************************/
diff --git a/src/rrd_info.c b/src/rrd_info.c
index 02e7bff66338ab9190565ea75328fc039577f2aa..b2a55d959c923e8697600c913d965b195074ad13 100644 (file)
--- a/src/rrd_info.c
+++ b/src/rrd_info.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_info Get Information about the configuration of an RRD
*****************************************************************************/
index 5fff45de6ac53d3160b1f03c9eea56c768a8f4f6..15d876df93a09e28401cb21e4d1440140c6651f2 100644 (file)
--- a/src/rrd_is_thread_safe.h
+++ b/src/rrd_is_thread_safe.h
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
*****************************************************************************
* rrd_is_thread_safe.c Poisons some nasty function calls using GNU cpp
*****************************************************************************
- * $Id: rrd_is_thread_safe.h 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_is_thread_safe.h 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#ifndef _RRD_IS_THREAD_SAFE_H
diff --git a/src/rrd_last.c b/src/rrd_last.c
index 3697aca0ef0450404896e3c712647ba5339b9f12..a0a7cbbf785698da361e96c326300feba7a17dd0 100644 (file)
--- a/src/rrd_last.c
+++ b/src/rrd_last.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_last.c
*****************************************************************************
diff --git a/src/rrd_lastupdate.c b/src/rrd_lastupdate.c
index dad2c7a71e00420c1f4246deb7d4b64bd8c82fa1..159aafaf28ef7f01e921fc01eed1c3118e186894 100644 (file)
--- a/src/rrd_lastupdate.c
+++ b/src/rrd_lastupdate.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_lastupdate Get the last datum entered for each DS
*****************************************************************************/
index 7504d6eff4f68bdd12cde91542911bc2094c70d5..ccc40fff5cf4282c5059b471157345cdbeb5f32f 100644 (file)
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
* rrd_not_thread_safe.c Contains routines used when thread safety is not
* an issue
*****************************************************************************
- * $Id: rrd_not_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_not_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include "rrd.h"
#include "rrd_tool.h"
diff --git a/src/rrd_open.c b/src/rrd_open.c
index 418e5fec638ce646972cf2a3cf1b27a0a500c898..72999eee32889691fa1cddae0fc5f168c8ce8843 100644 (file)
--- a/src/rrd_open.c
+++ b/src/rrd_open.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_open.c Open an RRD File
*****************************************************************************
- * $Id: rrd_open.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_open.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.10 2004/05/26 22:11:12 oetiker
* reduce compiler warnings. Many small fixes. -- Mike Slifcak <slif@bellsouth.net>
diff --git a/src/rrd_resize.c b/src/rrd_resize.c
index 7219953ea28bd5b2f9c5e11ec26c9625acb9e63b..9779c9762a4da11b2f4ee3df7560dced5a5448c5 100644 (file)
--- a/src/rrd_resize.c
+++ b/src/rrd_resize.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_resize.c Alters size of an RRA
*****************************************************************************
diff --git a/src/rrd_restore.c b/src/rrd_restore.c
index 9c5c1c6db88dc4ac4178adc8fe6a79aaa2edf392..4fb1dab4a49c8ed14e0ed4ccd15cb706f5e69ba3 100644 (file)
--- a/src/rrd_restore.c
+++ b/src/rrd_restore.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_restore.c creates new rrd from data dumped by rrd_dump.c
*****************************************************************************/
diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c
index 75b10e9241a46a1ea4189f96113a77430fa12fca..db1c883d176e3b026012237eab513fc00f7a56c6 100644 (file)
--- a/src/rrd_rpncalc.c
+++ b/src/rrd_rpncalc.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_rpncalc.c RPN calculator functions
****************************************************************************/
diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h
index d0f7be8a29b3051c7ceca7bcfa1448b0b4f7ebe2..b00cca928e5743614829246488cb41c20e13e296 100644 (file)
--- a/src/rrd_rpncalc.h
+++ b/src/rrd_rpncalc.h
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_rpncalc.h RPN calculator functions
****************************************************************************/
diff --git a/src/rrd_thread_safe.c b/src/rrd_thread_safe.c
index fb63f4dbaf89c89a56212eec8a5aa4c2486bec02..f4e6a5482aee6bbeaf298563df08f542ef6e9fea 100644 (file)
--- a/src/rrd_thread_safe.c
+++ b/src/rrd_thread_safe.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
*****************************************************************************
* rrd_thread_safe.c Contains routines used when thread safety is required
*****************************************************************************
- * $Id: rrd_thread_safe.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_thread_safe.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include <pthread.h>
index 6e4c305edbe3ab68c3a259f9e73a55a16a620486..13780abab762f1a5fd01a12679257354f8116820 100644 (file)
--- a/src/rrd_thread_safe_nt.c
+++ b/src/rrd_thread_safe_nt.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
* This file: Copyright 2003 Peter Stamfest <peter@stamfest.at>
* & Tobias Oetiker
* Distributed under the GPL
* rrd_thread_safe.c Contains routines used when thread safety is required
* for win32
*****************************************************************************
- * $Id: rrd_thread_safe_nt.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_thread_safe_nt.c 1286 2008-02-17 10:08:10Z oetiker $
*************************************************************************** */
#include <windows.h>
diff --git a/src/rrd_tool.c b/src/rrd_tool.c
index 5dbef0ea6bd5cb1115ba1f6447ed93284b8b1eab..894b4df2c0f4de5ba9f7a599475d344844214dcc 100644 (file)
--- a/src/rrd_tool.c
+++ b/src/rrd_tool.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_tool.c Startup wrapper
*****************************************************************************/
{
char help_main[] =
- "RRDtool " PACKAGE_VERSION " Copyright 1997-2007 by Tobias Oetiker <tobi@oetiker.ch>\n"
+ "RRDtool " PACKAGE_VERSION " Copyright 1997-2008 by Tobias Oetiker <tobi@oetiker.ch>\n"
" Compiled " __DATE__ " " __TIME__ "\n\n"
"Usage: rrdtool [options] command command_options\n\n";
diff --git a/src/rrd_tool.h b/src/rrd_tool.h
index 852bfece11f4efe2b0d573214739d48132648a26..22c404f960cb4e15794fd37449c6d3b700d869ce 100644 (file)
--- a/src/rrd_tool.h
+++ b/src/rrd_tool.h
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_tool.h Common Header File
*****************************************************************************/
# include <sys/stat.h>
#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
#if HAVE_STRINGS_H
# include <strings.h>
#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
-#if HAVE_SYS_TIMES_H
-# include <sys/times.h>
-#endif
-
-
-#if HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#if (defined(__svr4__) && defined(__sun__))
-/* Solaris headers (pre 2.6) don't have a getrusage prototype.
- Use this instead. */
-extern int getrusage(int, struct rusage *);
-#endif /* __svr4__ && __sun__ */
-#endif
-
#include "rrd.h"
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
diff --git a/src/rrd_tune.c b/src/rrd_tune.c
index 3d9f4d940af153033b3ca1c11e013cd39ea3c591..d7f08fd05323ea0cc1f03a439c556a010d58ec58 100644 (file)
--- a/src/rrd_tune.c
+++ b/src/rrd_tune.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* change header parameters of an rrd
*****************************************************************************
- * $Id: rrd_tune.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_tune.c 1286 2008-02-17 10:08:10Z oetiker $
* $Log$
* Revision 1.6 2004/05/26 22:11:12 oetiker
* reduce compiler warnings. Many small fixes. -- Mike Slifcak <slif@bellsouth.net>
diff --git a/src/rrd_update.c b/src/rrd_update.c
index c224119f50ad85df7a30df391b6296bf5e62d0bc..57e0fbbeb74318496fc62425825eb0884db4de1a 100644 (file)
--- a/src/rrd_update.c
+++ b/src/rrd_update.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_update.c RRD Update Function
*****************************************************************************
- * $Id: rrd_update.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrd_update.c 1286 2008-02-17 10:08:10Z oetiker $
*****************************************************************************/
#include "rrd_tool.h"
#include <sys/types.h>
#include <fcntl.h>
-#ifdef HAVE_MMAP
-# include <sys/mman.h>
-#endif
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
#include <sys/locking.h>
*/
#include <sys/timeb.h>
-#ifndef __MINGW32__
+#if (defined(__MINGW32__) && \
+ ((__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 12) || __MINGW32_MAJOR_VERSION > 3))
+#include <sys/time.h>
+#else
+
struct timeval {
time_t tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
-#endif
struct __timezone {
int tz_minuteswest; /* minutes W of Greenwich */
return 0;
}
+#endif /* mingw32 3.4.5 */
#endif
+
/*
* normilize time as returned by gettimeofday. usec part must
* be always >= 0
@@ -427,10 +429,10 @@ _rrd_update(const char *filename, const char *tmplt, int argc, const char **argv
fclose(rrd_file);
return(-1);
}
-#ifdef HAVE_MADVISE
+#ifdef USE_MADVISE
/* when we use mmaping we tell the kernel the mmap equivalent
of POSIX_FADV_RANDOM */
- madvise(rrd_mmaped_file,rrd_filesize,POSIX_MADV_RANDOM);
+ madvise(rrd_mmaped_file,rrd_filesize,MADV_RANDOM);
#endif
#endif
/* loop through the arguments. */
diff --git a/src/rrd_version.c b/src/rrd_version.c
index cd71269bd6d2f04a1de13397e5239f95354c4be6..a2de839649381ba1f052f9a1b4597f22705f4022 100644 (file)
--- a/src/rrd_version.c
+++ b/src/rrd_version.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrd_version Return
*****************************************************************************
diff --git a/src/rrd_xport.c b/src/rrd_xport.c
index f1e7908a4e15dfbe61c689139dbb7079563df995..0d4660e96f6067ad16f7940b69a05d18dd4bf258 100644 (file)
--- a/src/rrd_xport.c
+++ b/src/rrd_xport.c
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_xport.c export RRD data
****************************************************************************/
diff --git a/src/rrd_xport.h b/src/rrd_xport.h
index e9e19e838edf38fa8c4d150f1834fc71af990b84..09fdeef1d6f43dbd230481872df4705a961135ed 100644 (file)
--- a/src/rrd_xport.h
+++ b/src/rrd_xport.h
/****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
****************************************************************************
* rrd_xport.h contains XML related constants
****************************************************************************/
diff --git a/src/rrdupdate.c b/src/rrdupdate.c
index d396522a6dc1512f9e8b29f054cfbd4101570ce7..f61061484600bf69e16795359e5f74153574455d 100644 (file)
--- a/src/rrdupdate.c
+++ b/src/rrdupdate.c
/*****************************************************************************
- * RRDtool 1.2.26 Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.27 Copyright by Tobi Oetiker, 1997-2008
*****************************************************************************
* rrdupdate.c Main program for the (standalone) rrdupdate utility
*****************************************************************************
- * $Id: rrdupdate.c 1235 2007-11-20 00:15:07Z oetiker $
+ * $Id: rrdupdate.c 1286 2008-02-17 10:08:10Z oetiker $
*****************************************************************************/
#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
main(int argc, char **argv){
rrd_update(argc,argv);
if (rrd_test_error()) {
- printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2007\n\n"
+ printf("RRDtool " PACKAGE_VERSION " Copyright by Tobi Oetiker, 1997-2008\n\n"
"Usage: rrdupdate filename\n"
"\t\t\t[--template|-t ds-name:ds-name:...]\n"
"\t\t\ttime|N:value[:value...]\n\n"
diff --git a/win32/Makefile b/win32/Makefile
index 8c392d55201ebbf044689c0a8043655b2feafd73..6e3dc2c7728d8f8110dd66614c4387e9d46df9de 100644 (file)
--- a/win32/Makefile
+++ b/win32/Makefile
# All library code is statically linked to avoid problems with other lib DLLs.
# Edit the path below to point to your libpng sources or set environment var.
ifndef LIBPNG
-LIBPNG = $(LIBBASE)/libpng-1.2.16
+LIBPNG = $(LIBBASE)/libpng-1.2.23
endif
# Edit the path below to point to your freetype sources or set environment var.
ifndef LIBFT2
-#LIBFT2 = $(LIBBASE)/freetype-2.3.4
-LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.4
+#LIBFT2 = $(LIBBASE)/freetype-2.3.5
+LIBFT2 = $(LIBBASE)/../mingw32/freetype-2.3.5
endif
# Edit the path below to point to your libart sources or set environment var.
ifndef LIBART
ifndef DISTDIR
DISTDIR = rrdtool-$(RRD_VERSION_STR)-w32
endif
-DISTARC = $(DISTDIR).zip
+ifndef DISTARC
+DISTARC = $(DISTDIR).$(ARCEXT)
+endif
# Edit the path below to point to your distribution folder.
ifndef DEVLDIR
DEVLDIR = rrdtool-$(RRD_VERSION_STR)-sdk-w32
endif
-DEVLARC = $(DEVLDIR).zip
+ifndef DEVLARC
+DEVLARC = $(DEVLDIR).$(ARCEXT)
+endif
# whatever...
NO_NULL_REALLOC = 1
ifdef METROWERKS
CC = mwcc
else
- CC = gcc
+ CC = $(CRPREFIX)gcc
endif
# RM = rm -f
CP = cp -afv
# Here you can find a native Win32 binary of the original awk:
# http://www.gknw.net/development/prgtools/awk.zip
AWK = awk
-ZIP = zip -qzr9
+ifndef ARCBIN
+ARCBIN = zip -qzr9
+ARCEXT = zip
+#ARCBIN = 7za a
+#ARCEXT = 7z
+endif
# must be equal to DEBUG or NDEBUG
DB = NDEBUG
@@ -114,8 +123,8 @@ CFLAGS += -nostdinc -gccinc -msgstyle gcc -inline off -opt nointrinsics -proc 58
CFLAGS += -ir "$(METROWERKS)/MSL" -ir "$(METROWERKS)/Win32-x86 Support"
CFLAGS += -w on,nounused,nounusedexpr # -ansi strict
else
-LD = gcc
-RC = windres
+LD = $(CRPREFIX)gcc
+RC = $(CRPREFIX)windres
LDFLAGS = -s
AR = ar
ARFLAGS = -cq
CFLAGS += -Wall -Wno-unused # -pedantic
endif
-ifeq ($(findstring msys,$(OSTYPE)),msys)
+ifdef __MSYS__
DL = '
DS = /
else
@-$(CP) $(PROOT)/NEWS $(DISTDIR)
@-$(CP) $(PROOT)/README $(DISTDIR)
@echo Creating $(DISTARC)
- @$(ZIP) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
+ @$(ARCBIN) $(DISTARC) $(DISTDIR)/* < $(DISTDIR)/readme.txt
dev: librrd $(DEVLDIR) $(DEVLDIR)/readme.txt
@-mkdir $(DEVLDIR)$(DS)include
@-$(CP) $(PROOT)/NEWS $(DEVLDIR)
@-$(CP) $(PROOT)/README $(DEVLDIR)
@echo Creating $(DEVLARC)
- @$(ZIP) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
+ @$(ARCBIN) $(DEVLARC) $(DEVLDIR)/* < $(DEVLDIR)/readme.txt
clean:
-$(RM) -r $(OBJDIR)