1/* vi: set sw=4 ts=4: */ 2#define F_IGNORE 0x01 /* %_A */ 3#define F_SETREP 0x02 /* rep count set, not default */ 4#define F_ADDRESS 0x001 /* print offset */ 5#define F_BPAD 0x002 /* blank pad */ 6#define F_C 0x004 /* %_c */ 7#define F_CHAR 0x008 /* %c */ 8#define F_DBL 0x010 /* %[EefGf] */ 9#define F_INT 0x020 /* %[di] */ 10#define F_P 0x040 /* %_p */ 11#define F_STR 0x080 /* %s */ 12#define F_U 0x100 /* %_u */ 13#define F_UINT 0x200 /* %[ouXx] */ 14#define F_TEXT 0x400 /* no conversions */ 15 16enum _vflag { ALL, DUP, FIRST, WAIT }; /* -v values */ 17 18typedef struct _pr { 19 struct _pr *nextpr; /* next print unit */ 20 unsigned int flags; /* flag values */ 21 int bcnt; /* byte count */ 22 char *cchar; /* conversion character */ 23 char *fmt; /* printf format */ 24 char *nospace; /* no whitespace version */ 25} PR; 26 27typedef struct _fu { 28 struct _fu *nextfu; /* next format unit */ 29 struct _pr *nextpr; /* next print unit */ 30 unsigned int flags; /* flag values */ 31 int reps; /* repetition count */ 32 int bcnt; /* byte count */ 33 char *fmt; /* format string */ 34} FU; 35 36typedef struct _fs { /* format strings */ 37 struct _fs *nextfs; /* linked list of format strings */ 38 struct _fu *nextfu; /* linked list of format units */ 39 int bcnt; 40} FS; 41 42extern void bb_dump_add(const char *fmt); 43extern int bb_dump_dump(char **argv); 44extern int bb_dump_size(FS * fs); 45 46extern FS *bb_dump_fshead; /* head of format strings */ 47extern int bb_dump_blocksize; /* data block size */ 48extern int bb_dump_length; /* max bytes to read */ 49extern enum _vflag bb_dump_vflag; 50extern off_t bb_dump_skip; /* bytes to skip */ 51