aboutsummaryrefslogtreecommitdiff
path: root/src/gdbmtool.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gdbmtool.h')
-rw-r--r--src/gdbmtool.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/gdbmtool.h b/src/gdbmtool.h
index 84f1409..d0e9aa0 100644
--- a/src/gdbmtool.h
+++ b/src/gdbmtool.h
@@ -21,12 +21,14 @@
21#include "gdbmapp.h" 21#include "gdbmapp.h"
22#include <stdlib.h> 22#include <stdlib.h>
23#include <stdio.h> 23#include <stdio.h>
24#include <stdarg.h> 24#include <stdarg.h>
25#include <ctype.h> 25#include <ctype.h>
26 26
27#define ARG_UNUSED __attribute__ ((__unused__))
28
27/* Position in input file */ 29/* Position in input file */
28struct point 30struct point
29{ 31{
30 char *file; /* file name */ 32 char *file; /* file name */
31 unsigned line; /* line number */ 33 unsigned line; /* line number */
32 unsigned col; /* column number */ 34 unsigned col; /* column number */
@@ -91,32 +93,46 @@ typedef struct locus gdbm_yyltype_t;
91 93
92void vlerror (struct locus *loc, const char *fmt, va_list ap); 94void vlerror (struct locus *loc, const char *fmt, va_list ap);
93void lerror (struct locus *loc, const char *fmt, ...); 95void lerror (struct locus *loc, const char *fmt, ...);
94 96
95void terror (const char *fmt, ...); 97void terror (const char *fmt, ...);
96 98
97void print_prompt (void); 99char *make_prompt (void);
98 100
99int setsource (const char *filename, int intr); 101int setsource (const char *filename, int intr);
100 102
101extern char *file_name; 103extern char *file_name;
102extern int interactive; 104extern int interactive;
103extern int open_mode; 105extern int open_mode;
104 106
105#define GDBMTOOLRC ".gdbmtoolrc" 107#define GDBMTOOLRC ".gdbmtoolrc"
106#define GDBMTOOL_DEFFILE "junk.gdbm" 108#define GDBMTOOL_DEFFILE "junk.gdbm"
109
110ssize_t input_read (FILE *fp, char *buf, size_t size);
111void input_init (void);
112void input_done (void);
113
114struct handler_param;
115void input_history_handler (struct handler_param *param);
116int input_history_begin (struct handler_param *param, size_t *exp_count);
117
118void print_prompt_at_bol (void);
119char *command_generator (const char *text, int state);
107 120
108 121
109struct slist 122struct slist
110{ 123{
111 struct slist *next; 124 struct slist *next;
112 char *str; 125 char *str;
113}; 126};
114 127
115struct slist *slist_new (char *s); 128struct slist *slist_new (char const *s);
129struct slist *slist_new_s (char *s);
130struct slist *slist_new_l (char const *s, size_t l);
116void slist_free (struct slist *); 131void slist_free (struct slist *);
132void slist_insert (struct slist **where, struct slist *what);
117 133
118#define KV_STRING 0 134#define KV_STRING 0
119#define KV_LIST 1 135#define KV_LIST 1
120 136
121struct kvpair 137struct kvpair
122{ 138{
@@ -158,12 +174,20 @@ struct gdbmarg
158/* List of arguments */ 174/* List of arguments */
159struct gdbmarglist 175struct gdbmarglist
160{ 176{
161 struct gdbmarg *head, *tail; 177 struct gdbmarg *head, *tail;
162}; 178};
163 179
180struct handler_param
181{
182 int argc;
183 struct gdbmarg **argv;
184 FILE *fp;
185 void *data;
186};
187
164void gdbmarglist_init (struct gdbmarglist *, struct gdbmarg *); 188void gdbmarglist_init (struct gdbmarglist *, struct gdbmarg *);
165void gdbmarglist_add (struct gdbmarglist *, struct gdbmarg *); 189void gdbmarglist_add (struct gdbmarglist *, struct gdbmarg *);
166void gdbmarglist_free (struct gdbmarglist *lst); 190void gdbmarglist_free (struct gdbmarglist *lst);
167 191
168struct gdbmarg *gdbmarg_string (char *, struct locus *); 192struct gdbmarg *gdbmarg_string (char *, struct locus *);
169struct gdbmarg *gdbmarg_datum (datum *, struct locus *); 193struct gdbmarg *gdbmarg_datum (datum *, struct locus *);
@@ -259,6 +283,9 @@ int datum_scan (datum *dat, struct dsegm *ds, struct kvpair *kv);
259void dsprint (FILE *fp, int what, struct dsegm *ds); 283void dsprint (FILE *fp, int what, struct dsegm *ds);
260 284
261char *mkfilename (const char *dir, const char *file, const char *suf); 285char *mkfilename (const char *dir, const char *file, const char *suf);
262char *tildexpand (char *s); 286char *tildexpand (char *s);
263int vgetyn (const char *prompt, va_list ap); 287int vgetyn (const char *prompt, va_list ap);
264int getyn (const char *prompt, ...); 288int getyn (const char *prompt, ...);
289
290int getnum (int *pnum, char *arg, char **endp);
291int get_screen_lines (void);

Return to:

Send suggestions and report system problems to the System administrator.