summaryrefslogtreecommitdiff
path: root/graphics/pstex/args.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/pstex/args.h
Initial commit
Diffstat (limited to 'graphics/pstex/args.h')
-rw-r--r--graphics/pstex/args.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/graphics/pstex/args.h b/graphics/pstex/args.h
new file mode 100644
index 0000000000..4adfe562e9
--- /dev/null
+++ b/graphics/pstex/args.h
@@ -0,0 +1,124 @@
+/*
+ * Argument parsing utilies.
+ *
+ * Neil Hunt (Neil%Teleos.com@ai.sri.com).
+ *
+ * Copyright (c) 1989 Teleos Research, Inc 1989.
+ * Copyright (c) 1988 Schlumberger Technologies, Inc 1988.
+ *
+ * Anyone can use this software in any manner they choose,
+ * including modification and redistribution, provided they make
+ * no charge for it, and these conditions remain unchanged.
+ *
+ * This program is distributed as is, with all faults (if any), and
+ * without any wrranty. No author or distributor accepts responsibility
+ * to anyone for the consequences of using it, or for whether it serves any
+ * particular purpose at all, or any other reason.
+ *
+ * $Log: args.h,v $
+ * Revision 1.1 89/02/10 18:41:34 neil
+ * Initial revision
+ *
+ * Taken from newlib library:
+ * Revision 1.4 88/05/11 16:46:49 hunt
+ * Added a_getc and a_ungetc.
+ *
+ * Revision 1.3 88/03/17 18:31:19 hunt
+ * Added a_scaled function and some scale tables.
+ *
+ * Revision 1.2 88/01/12 18:42:09 hunt
+ * Added a_arg(argc, argv) function for completeness and to hide a_arg_ptr.
+ * Currently a_arg_ptr is not made static, so as not to break old code.
+ *
+ * Revision 1.1 87/11/24 11:27:40 hunt
+ * Initial revision
+ */
+
+#define A_ARG (-1)
+#define A_END 0
+
+/*
+ * a_prog_name holds the program name (argv[0]) after starting.
+ */
+
+extern char * a_prog_name;
+
+/*
+ * a_next:
+ * Called with argc, argv, returns one of the following:
+ * The next flag to be processed.
+ * A_ARG indicating a filename etc.
+ * A_END indicating the end of the args.
+ */
+
+extern char a_next();
+
+/*
+ * a_getc:
+ * Returns the next char in the current word,
+ * or '\0' if no more chars in word.
+ */
+
+extern char a_getc();
+
+/*
+ * a_ungetc:
+ * Pushes char back onto current word, if still available.
+ */
+
+extern void a_ungetc();
+
+/*
+ * a_arg:
+ * Called with argc, argv; returns the next word or part word.
+ */
+
+extern char *a_arg();
+
+/*
+ * a_number:
+ * Called with argc, argv, interprets the next word or part word
+ * as a number (double precision).
+ * In case there is a missing parameter, 0.0 is returned.
+ */
+
+double a_number();
+
+/*
+ * a_integer:
+ * Called with argc, argv, interprets the next word or part word
+ * as an integer.
+ * In case there is a missing parameter, 0 is returned.
+ */
+
+int a_integer();
+
+/*
+ * scale_table:
+ * List of scale names and factors.
+ */
+
+struct scale_table
+{
+ char *scale_name;
+ double scale_factor;
+};
+
+extern struct scale_table scale_units[];
+
+extern struct scale_table scale_inches[];
+extern struct scale_table scale_meters[];
+
+extern struct scale_table scale_seconds[];
+
+extern struct scale_table scale_kilograms[];
+extern struct scale_table scale_pounds[];
+
+/*
+ * a_scaled:
+ * Called with argc, argv, interprets the next word or part word
+ * as an integer with a units specifier.
+ * In case there is a missing parameter, 0 is returned.
+ */
+
+double a_scaled();