summaryrefslogtreecommitdiff
path: root/src/perl/PMDA/cvalue.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/perl/PMDA/cvalue.c')
-rw-r--r--src/perl/PMDA/cvalue.c155
1 files changed, 155 insertions, 0 deletions
diff --git a/src/perl/PMDA/cvalue.c b/src/perl/PMDA/cvalue.c
new file mode 100644
index 0000000..fe9723c
--- /dev/null
+++ b/src/perl/PMDA/cvalue.c
@@ -0,0 +1,155 @@
+/*
+ * Verifies that the information we see from PMDA.pm (perl) matches
+ * the local PCP installation (PMAPI) - used by test.pl: `make test`
+ *
+ * Copyright (c) 2004 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * 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.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <values.h>
+#include <pcp/pmapi.h>
+#include <pcp/impl.h>
+#include <pcp/pmda.h>
+
+void
+ids(void)
+{
+ printf("PMDA_PMID: 0,0 = %d\n", PMDA_PMID(0,0));
+ printf("PMDA_PMID: 1,1 = %d\n", PMDA_PMID(1,1));
+ printf("PMDA_PMID: 27,13 = %d\n", PMDA_PMID(27,13));
+ printf("PMDA_PMID: %d,0 = %d\n", MAXINT, PMDA_PMID(MAXINT,0));
+ printf("PMDA_PMID: 0,%d = %d\n", MAXINT, PMDA_PMID(0,MAXINT));
+ printf("PMDA_PMID: %d,%d = %d\n", MAXINT,MAXINT, PMDA_PMID(MAXINT,MAXINT));
+}
+
+void
+units(void)
+{
+ pmUnits forw;
+ pmUnits back;
+
+ forw.pad = back.pad = 0;
+ forw.dimSpace = back.scaleCount = 1;
+ forw.dimTime = back.scaleTime = 2;
+ forw.dimCount = back.scaleSpace = 3;
+ forw.scaleSpace = back.dimCount = 4;
+ forw.scaleTime = back.dimTime = 5;
+ forw.scaleCount = back.dimSpace = 6;
+ printf("pmUnits: 1,2,3,4,5,6 = %d\n", *(unsigned int *)&forw);
+ printf("pmUnits: 6,5,4,3,2,1 = %d\n", *(unsigned int *)&back);
+}
+
+void
+defines(void)
+{
+ printf("PM_ID_NULL=%u\n", PM_ID_NULL);
+ printf("PM_INDOM_NULL=%u\n", PM_INDOM_NULL);
+ printf("PM_IN_NULL=%u\n", PM_IN_NULL);
+
+ printf("PM_SPACE_BYTE=%u\n", PM_SPACE_BYTE);
+ printf("PM_SPACE_KBYTE=%u\n", PM_SPACE_KBYTE);
+ printf("PM_SPACE_MBYTE=%u\n", PM_SPACE_MBYTE);
+ printf("PM_SPACE_GBYTE=%u\n", PM_SPACE_GBYTE);
+ printf("PM_SPACE_TBYTE=%u\n", PM_SPACE_TBYTE);
+
+ printf("PM_TIME_NSEC=%u\n", PM_TIME_NSEC);
+ printf("PM_TIME_USEC=%u\n", PM_TIME_USEC);
+ printf("PM_TIME_MSEC=%u\n", PM_TIME_MSEC);
+ printf("PM_TIME_SEC=%u\n", PM_TIME_SEC);
+ printf("PM_TIME_MIN=%u\n", PM_TIME_MIN);
+ printf("PM_TIME_HOUR=%u\n", PM_TIME_HOUR);
+
+ printf("PM_TYPE_NOSUPPORT=%u\n", PM_TYPE_NOSUPPORT);
+ printf("PM_TYPE_32=%u\n", PM_TYPE_32);
+ printf("PM_TYPE_U32=%u\n", PM_TYPE_U32);
+ printf("PM_TYPE_64=%u\n", PM_TYPE_64);
+ printf("PM_TYPE_U64=%u\n", PM_TYPE_U64);
+ printf("PM_TYPE_FLOAT=%u\n", PM_TYPE_FLOAT);
+ printf("PM_TYPE_DOUBLE=%u\n", PM_TYPE_DOUBLE);
+ printf("PM_TYPE_STRING=%u\n", PM_TYPE_STRING);
+
+ printf("PM_SEM_COUNTER=%u\n", PM_SEM_COUNTER);
+ printf("PM_SEM_INSTANT=%u\n", PM_SEM_INSTANT);
+ printf("PM_SEM_DISCRETE=%u\n", PM_SEM_DISCRETE);
+
+ printf("PM_ERR_GENERIC=%d\n", PM_ERR_GENERIC);
+ printf("PM_ERR_PMNS=%d\n", PM_ERR_PMNS);
+ printf("PM_ERR_NOPMNS=%d\n", PM_ERR_NOPMNS);
+ printf("PM_ERR_DUPPMNS=%d\n", PM_ERR_DUPPMNS);
+ printf("PM_ERR_TEXT=%d\n", PM_ERR_TEXT);
+ printf("PM_ERR_APPVERSION=%d\n", PM_ERR_APPVERSION);
+ printf("PM_ERR_VALUE=%d\n", PM_ERR_VALUE);
+ printf("PM_ERR_TIMEOUT=%d\n", PM_ERR_TIMEOUT);
+ printf("PM_ERR_NODATA=%d\n", PM_ERR_NODATA);
+ printf("PM_ERR_RESET=%d\n", PM_ERR_RESET);
+ printf("PM_ERR_NAME=%d\n", PM_ERR_NAME);
+ printf("PM_ERR_PMID=%d\n", PM_ERR_PMID);
+ printf("PM_ERR_INDOM=%d\n", PM_ERR_INDOM);
+ printf("PM_ERR_INST=%d\n", PM_ERR_INST);
+ printf("PM_ERR_UNIT=%d\n", PM_ERR_UNIT);
+ printf("PM_ERR_CONV=%d\n", PM_ERR_CONV);
+ printf("PM_ERR_TRUNC=%d\n", PM_ERR_TRUNC);
+ printf("PM_ERR_SIGN=%d\n", PM_ERR_SIGN);
+ printf("PM_ERR_PROFILE=%d\n", PM_ERR_PROFILE);
+ printf("PM_ERR_IPC=%d\n", PM_ERR_IPC);
+ printf("PM_ERR_EOF=%d\n", PM_ERR_EOF);
+ printf("PM_ERR_NOTHOST=%d\n", PM_ERR_NOTHOST);
+ printf("PM_ERR_EOL=%d\n", PM_ERR_EOL);
+ printf("PM_ERR_MODE=%d\n", PM_ERR_MODE);
+ printf("PM_ERR_LABEL=%d\n", PM_ERR_LABEL);
+ printf("PM_ERR_LOGREC=%d\n", PM_ERR_LOGREC);
+ printf("PM_ERR_NOTARCHIVE=%d\n", PM_ERR_NOTARCHIVE);
+ printf("PM_ERR_LOGFILE=%d\n", PM_ERR_LOGFILE);
+ printf("PM_ERR_NOCONTEXT=%d\n", PM_ERR_NOCONTEXT);
+ printf("PM_ERR_PROFILESPEC=%d\n", PM_ERR_PROFILESPEC);
+ printf("PM_ERR_PMID_LOG=%d\n", PM_ERR_PMID_LOG);
+ printf("PM_ERR_INDOM_LOG=%d\n", PM_ERR_INDOM_LOG);
+ printf("PM_ERR_INST_LOG=%d\n", PM_ERR_INST_LOG);
+ printf("PM_ERR_NOPROFILE=%d\n", PM_ERR_NOPROFILE);
+ printf("PM_ERR_NOAGENT=%d\n", PM_ERR_NOAGENT);
+ printf("PM_ERR_PERMISSION=%d\n", PM_ERR_PERMISSION);
+ printf("PM_ERR_CONNLIMIT=%d\n", PM_ERR_CONNLIMIT);
+ printf("PM_ERR_AGAIN=%d\n", PM_ERR_AGAIN);
+ printf("PM_ERR_ISCONN=%d\n", PM_ERR_ISCONN);
+ printf("PM_ERR_NOTCONN=%d\n", PM_ERR_NOTCONN);
+ printf("PM_ERR_NEEDPORT=%d\n", PM_ERR_NEEDPORT);
+ printf("PM_ERR_NONLEAF=%d\n", PM_ERR_NONLEAF);
+ printf("PM_ERR_TYPE=%d\n", PM_ERR_TYPE);
+ printf("PM_ERR_TOOSMALL=%d\n", PM_ERR_TOOSMALL);
+ printf("PM_ERR_TOOBIG=%d\n", PM_ERR_TOOBIG);
+ printf("PM_ERR_PMDAREADY=%d\n", PM_ERR_PMDAREADY);
+ printf("PM_ERR_PMDANOTREADY=%d\n", PM_ERR_PMDANOTREADY);
+ printf("PM_ERR_NYI=%d\n", PM_ERR_NYI);
+}
+
+int
+main(int argc, char **argv)
+{
+ char *use = "Error: must provide one argument - either 'd', 'i' or 'u'\n";
+ if (argc != 2) {
+ fputs(use, stderr);
+ return 1;
+ }
+ else if (argv[1][0] == 'd')
+ defines();
+ else if (argv[1][0] == 'i')
+ ids();
+ else if (argv[1][0] == 'u')
+ units();
+ else {
+ fputs(use, stderr);
+ fprintf(stderr, "(ouch!!!! that really hurt! who throws a '%s' anyway? --Austin)\n", argv[1]);
+ return 1;
+ }
+ return 0;
+}