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