X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fdump.h;h=4c237ef05fd3fa22cb16c07b6fce3c925b86265a;hb=2b9a45b9e87c1c935cf0a992303313d62e72dc67;hp=0e8dbe07f03a8c0c809b257cf1f25b3e1b44af70;hpb=55b2deda088ce2ce21ea059ca26783baffa778a9;p=oweals%2Fbusybox.git diff --git a/include/dump.h b/include/dump.h index 0e8dbe07f..4c237ef05 100644 --- a/include/dump.h +++ b/include/dump.h @@ -1,3 +1,7 @@ +/* vi: set sw=4 ts=4: */ + +PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN + #define F_IGNORE 0x01 /* %_A */ #define F_SETREP 0x02 /* rep count set, not default */ #define F_ADDRESS 0x001 /* print offset */ @@ -12,31 +16,41 @@ #define F_UINT 0x200 /* %[ouXx] */ #define F_TEXT 0x400 /* no conversions */ -enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */ +enum dump_vflag_t { ALL, DUP, FIRST, WAIT }; /* -v values */ -typedef struct _pr { - struct _pr *nextpr; /* next print unit */ - unsigned int flags; /* flag values */ +typedef struct PR { + struct PR *nextpr; /* next print unit */ + unsigned flags; /* flag values */ int bcnt; /* byte count */ char *cchar; /* conversion character */ char *fmt; /* printf format */ char *nospace; /* no whitespace version */ } PR; -typedef struct _fu { - struct _fu *nextfu; /* next format unit */ - struct _pr *nextpr; /* next print unit */ - unsigned int flags; /* flag values */ +typedef struct FU { + struct FU *nextfu; /* next format unit */ + struct PR *nextpr; /* next print unit */ + unsigned flags; /* flag values */ int reps; /* repetition count */ int bcnt; /* byte count */ char *fmt; /* format string */ } FU; -typedef struct _fs { /* format strings */ - struct _fs *nextfs; /* linked list of format strings */ - struct _fu *nextfu; /* linked list of format units */ +typedef struct FS { /* format strings */ + struct FS *nextfs; /* linked list of format strings */ + struct FU *nextfu; /* linked list of format units */ int bcnt; } FS; -void add(char *fmt); -int dump (char **argv); +typedef struct dumper_t { + off_t dump_skip; /* bytes to skip */ + int dump_length; /* max bytes to read */ + smallint dump_vflag; /*enum dump_vflag_t*/ + FS *fshead; +} dumper_t; + +dumper_t* alloc_dumper(void) FAST_FUNC; +extern void bb_dump_add(dumper_t *dumper, const char *fmt) FAST_FUNC; +extern int bb_dump_dump(dumper_t *dumper, char **argv) FAST_FUNC; + +POP_SAVED_FUNCTION_VISIBILITY