od_bloaty: fix debug code
[oweals/busybox.git] / include / dump.h
index 0e8dbe07f03a8c0c809b257cf1f25b3e1b44af70..4c237ef05fd3fa22cb16c07b6fce3c925b86265a 100644 (file)
@@ -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 */
 #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