diff options
Diffstat (limited to 'src/internal/tpax_driver_impl.h')
-rw-r--r-- | src/internal/tpax_driver_impl.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/internal/tpax_driver_impl.h b/src/internal/tpax_driver_impl.h index 2bcb486..02e0d84 100644 --- a/src/internal/tpax_driver_impl.h +++ b/src/internal/tpax_driver_impl.h @@ -7,6 +7,7 @@ #ifndef TPAX_DRIVER_IMPL_H #define TPAX_DRIVER_IMPL_H +#include <regex.h> #include <stdint.h> #include <dirent.h> #include <stdio.h> @@ -31,6 +32,9 @@ #define TPAX_ITEM_SYMLINK 0X4 #define TPAX_ITEM_NAMEREF 0x8 +#define TPAX_REPL_GLOBAL 0x01 +#define TPAX_REPL_PRINT 0x02 + extern const struct argv_option tpax_default_options[]; enum app_tags { @@ -44,6 +48,8 @@ enum app_tags { TAG_FILE, TAG_FORMAT, TAG_BLKSIZE, + TAG_OPTIONS, + TAG_REPLSTR, TAG_RECURSE, TAG_NORECURSE, TAG_STRICT_PATH, @@ -58,7 +64,12 @@ struct tpax_dirent { int fdat; int depth; int flags; + int nlink; + int cpdev; + int cpino; + dev_t srdev; dev_t stdev; + ino_t stino; size_t nsize; const char * prefix; const struct tpax_dirent * parent; @@ -73,6 +84,14 @@ struct tpax_dirent_buffer { struct tpax_dirent dbuf[]; }; +struct tpax_replstr { + const char * replarg; + const char * replstr; + const char * regexp; + regex_t regex; + uint32_t flags; +}; + struct tpax_driver_ctx_impl { const char * file; struct tpax_common_ctx cctx; @@ -80,6 +99,10 @@ struct tpax_driver_ctx_impl { struct tpax_fd_ctx fdctx; const struct tpax_unit_ctx * euctx; const char * eunit; + struct stat srcstat; + struct argv_keyval ** keyvalv; + struct tpax_replstr * replstrv; + char * replstrs; struct tpax_error_info ** errinfp; struct tpax_error_info ** erricap; struct tpax_error_info * erriptr[64]; @@ -88,12 +111,18 @@ struct tpax_driver_ctx_impl { char ** prefixp; char ** prefcap; char * prefptr[64]; + struct tpax_dirent ** cpiov; struct tpax_dirent ** direntv; struct tpax_dirent_buffer * dirents; struct tpax_dirent * dirmark; void * dirbuff; void * bufaddr; size_t bufsize; + void * mapaddr; + size_t mapsize; + char * cacheaddr; + char * cachemark; + char * cachecap; size_t nqueued; off_t cpos; }; |