14#if defined (__cplusplus)
32#if defined(_MSC_VER) && (_MSC_VER >= 1400)
33# define UTIL_fseek _fseeki64
34#elif !defined(__64BIT__) && (PLATFORM_POSIX_VERSION >= 200112L)
35# define UTIL_fseek fseeko
36#elif defined(__MINGW32__) && defined(__MSVCRT__) && !defined(__STRICT_ANSI__) && !defined(__NO_MINGW_LFS)
37# define UTIL_fseek fseeko64
39# define UTIL_fseek fseek
48# define SET_REALTIME_PRIORITY SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS)
49# define UTIL_sleep(s) Sleep(1000*s)
50# define UTIL_sleepMilli(milli) Sleep(milli)
52#elif PLATFORM_POSIX_VERSION > 0
54# define UTIL_sleep(s) sleep(s)
55# if ZSTD_NANOSLEEP_SUPPORT
56# define UTIL_sleepMilli(milli) { struct timespec t; t.tv_sec=0; t.tv_nsec=milli*1000000ULL; nanosleep(&t, NULL); }
58# define UTIL_sleepMilli(milli)
60# if ZSTD_SETPRIORITY_SUPPORT
61# include <sys/resource.h>
62# define SET_REALTIME_PRIORITY setpriority(PRIO_PROCESS, 0, -20)
64# define SET_REALTIME_PRIORITY
69# define UTIL_sleepMilli(milli)
70# define SET_REALTIME_PRIORITY
77#if defined(__INTEL_COMPILER)
78# pragma warning(disable : 177)
81# define UTIL_STATIC static __attribute__((unused))
82#elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) )
83# define UTIL_STATIC static inline
84#elif defined(_MSC_VER)
85# define UTIL_STATIC static __inline
87# define UTIL_STATIC static
108 typedef struct __stat64
stat_t;
110#elif defined(__MINGW32__) && defined (__MSVCRT__)
111 typedef struct _stati64
stat_t;
113 typedef struct stat
stat_t;
116#if defined(_MSC_VER) || defined(__MINGW32__) || defined (__MSVCRT__)
118#define STRDUP(s) _strdup(s)
122#define STRDUP(s) strdup(s)
175int UTIL_chmod(
char const* filename,
const stat_t* statbuf, mode_t permissions);
176int UTIL_fchmod(
const int fd,
char const* filename,
const stat_t* statbuf, mode_t permissions);
211#define UTIL_FILESIZE_UNKNOWN ((U64)(-1))
244{
const char** fileNames;
247 size_t tableCapacity;
324# define UTIL_HAS_CREATEFILELIST
325#elif defined(__linux__) || (PLATFORM_POSIX_VERSION >= 200112L)
326# define UTIL_HAS_CREATEFILELIST
327# define UTIL_HAS_MIRRORFILELIST
341#if defined(_WIN32) || defined(WIN32)
342DWORD CountSetBits(ULONG_PTR bitMask);
355#if defined (__cplusplus)
UINT32 DWORD
Definition 7zTypes.h:194
static const void size_t const UInt64 * table
Definition XzCrc64.c:50
unsigned long long U64
Definition lz4.c:318
char buf[N_BUF]
Definition spewG.c:36
void UTIL_mirrorSourceFilesDirectories(const char **fileNamesTable, unsigned int nbFiles, const char *outDirName)
Definition util.c:1021
FileNamesTable * UTIL_createFNT_fromROTable(const char **filenames, size_t nbFilenames)
Definition util.c:1101
FileNamesTable * UTIL_createExpandedFNT(const char *const *filenames, size_t nbFilenames, int followLinks)
Definition util.c:1047
char * UTIL_createMirroredDestDirName(const char *srcFileName, const char *outDirRootName)
Definition util.c:900
int UTIL_isRegularFileStat(const stat_t *statbuf)
Definition util.c:141
int UTIL_compareStr(const void *p1, const void *p2)
Definition util.c:221
int UTIL_isBlockDevStat(const stat_t *statbuf)
Definition util.c:269
void UTIL_refFilename(FileNamesTable *fnt, const char *filename)
Definition util.c:512
int UTIL_isCompressedFile(const char *infilename, const char *extensionList[])
Definition util.c:720
UTIL_HumanReadableSize_t UTIL_makeHumanReadableSize(U64 size)
Definition util.c:311
int UTIL_isDirectoryStat(const stat_t *statbuf)
Definition util.c:212
int UTIL_isLink(const char *infilename)
Definition util.c:279
void UTIL_freeFileNamesTable(FileNamesTable *table)
Definition util.c:494
int UTIL_countLogicalCores(void)
Definition util.c:1392
FileNamesTable * UTIL_createFileNamesTable_fromFileName(const char *inputFileName)
Definition util.c:433
int UTIL_isFIFOStat(const stat_t *statbuf)
Definition util.c:258
int UTIL_isRegularFile(const char *infilename)
Definition util.c:135
FileNamesTable * UTIL_mergeFileNamesTable(FileNamesTable *table1, FileNamesTable *table2)
Definition util.c:529
FileNamesTable * UTIL_assembleFileNamesTable(const char **filenames, size_t tableSize, char *buf)
Definition util.c:489
int UTIL_chmod(char const *filename, const stat_t *statbuf, mode_t permissions)
Definition util.c:151
int UTIL_isFIFO(const char *infilename)
Definition util.c:246
int UTIL_isSameFile(const char *file1, const char *file2)
Definition util.c:225
FileNamesTable * UTIL_allocateFileNamesTable(size_t tableSize)
Definition util.c:502
int UTIL_utime(const char *filename, const stat_t *statbuf)
Definition util.c:163
int g_utilDisplayLevel
Definition util.c:88
int UTIL_requireUserConfirmation(const char *prompt, const char *abortMsg, const char *acceptableLetters, int hasStdinInput)
Definition util.c:90
int UTIL_countPhysicalCores(void)
Definition util.c:1387
void UTIL_expandFNT(FileNamesTable **fnt, int followLinks)
Definition util.c:1093
const char * UTIL_getFileExtension(const char *infilename)
Definition util.c:734
U64 UTIL_getFileSizeStat(const stat_t *statbuf)
Definition util.c:298
int UTIL_searchFileNamesTable(FileNamesTable *table, char const *name)
Definition util.c:737
void UTIL_fakeStdoutIsConsole(void)
Definition util.c:494
void UTIL_fakeStdinIsConsole(void)
Definition util.c:490
void UTIL_fakeStderrIsConsole(void)
Definition util.c:498
int UTIL_isSameFileStat(const char *file1, const char *file2, const stat_t *file1Stat, const stat_t *file2Stat)
Definition util.c:385
int UTIL_setFDStat(const int fd, const char *filename, const stat_t *statbuf)
Definition util.c:287
int UTIL_fchmod(const int fd, char const *filename, const stat_t *statbuf, mode_t permissions)
Definition util.c:218
int UTIL_isConsole(FILE *file)
Definition util.c:474
void UTIL_traceFileStat(void)
Definition util.c:156
#define UTIL_fstat
Definition util.h:145
UTIL_STATIC int UTIL_isDirectory(const char *infilename)
Definition util.h:303
UTIL_STATIC U64 UTIL_getTotalFileSize(const char **fileNamesTable, unsigned nbFiles)
Definition util.h:347
UTIL_STATIC int UTIL_setFileStat(const char *filename, stat_t *statbuf)
Definition util.h:228
int UTIL_countCores(void)
Definition util.c:155
#define UTIL_stat
Definition util.h:144
UTIL_STATIC U64 UTIL_getFileSize(const char *infilename)
Definition util.h:336
struct stat stat_t
Definition util.h:220
char name[NAME_LEN_MAX+1]
Name of the filter.
Definition string_conversion.c:450