summaryrefslogtreecommitdiff
path: root/lib/win32/emu.h
Commit message (Collapse)AuthorAge
* Fix Unix compilation using CMake.Chris Wilson2016-09-09
| | | | | | | | | | Add platform detection that's compatible with the old buildsystem and its m4 autoconfigury. Make Travis build and test using CMake as a separate target. Remove unused function BoxGetTemporaryDirectoryName() to fixes compile using CMake on Unix.
* Update platform feature detection to work with CMake.Chris Wilson2016-09-03
| | | | | | | Rewrite some macros in forms that can be parsed by our parser written in CMake language (fake m4 with regexps). Fix incorrect conditional includes and incorrect #if/#ifdef assumptions.
* Fix deletion of test fixture directories with unicode names on Windows.Chris Wilson2015-12-25
| | | | | | | | We need to use CreateProcessW() instead of system() to pass these filenames to the rd command. Fixes every test that runs after test_unicode_filenames_can_be_backed_up in test/bbackupd.
* Remove getpid() that should never have been addedChris Wilson2015-12-14
|
* Merge branch 'appveyor' of github.com:boxbackup/boxbackup into appveyorChris Wilson2015-12-14
|\
| * Fix Windows file locking to work with MSVCChris Wilson2015-12-14
| |
* | Add a getpid() emulation for test/bbackupd on MSVCChris Wilson2015-12-12
|/
* Remove #defines of POSIX functions deprecated by Microsoft.Chris Wilson2015-12-09
| | | | | | These defines are too wide-reaching in their effects on unrelated code. Add a replacement for strncasecmp.
* Remove non-standard BSD u_int* types.Chris Wilson2015-12-08
| | | | | | | MSVC doesn't like them, and they're not necessary now that we have stdint.h. Remove some compatibility typedefs from BoxPlatform.h and emu.h which are not needed any longer either.
* Fix warnings when compiling with MinGW64 headers.Chris Wilson2015-08-29
| | | | | | These headers define things that aren't defined by MinGW32 or MSVC, so make the definitions in emu.h conditional (feature detection).
* Add test for hardlink handling.Chris Wilson2015-01-04
|
* Compile fix for MSVC (Visual Studio) 2010.Chris Wilson2015-01-02
|
* Compile fix for loading BoxConfig.h in MinGWChris Wilson2015-01-02
|
* Fix more compile errors on MinGWChris Wilson2014-12-26
|
* Include getopt.h instead of box_getopt.h.Chris Wilson2014-11-23
| | | | Fixes compile errors on Windows. Thanks to Kai Liebenau!
* Split Win32 defines out of emu.h to enable Boxi to include them beforeChris Wilson2011-10-09
| | | | | | wx/wx.h (to set UNICODE properly) without also #including winnt.h before UNICODE is set properly.
* Recent Cygwin versions of MinGW now define O_BINARY as well, also inChris Wilson2011-10-08
| | | | | | fcntl.h, so include it if we can find it, and only define O_BINARY if it turns out to be missing.
* Silence warnings from new MinGW headers that expect __MINGW_FEATURES__Chris Wilson2011-10-08
| | | | | | | | to be defined. Check for fcntl.h and include it if we have it, not just on MSVC, now that MinGW also defines O_BINARY in newer versions.
* Use "more standard" Windows API functions FindFirstFileW and FindNextFileWChris Wilson2011-08-28
| | | | | | | | | | for directory enumeration instead of _wfindfirst and _wfindnext. Ignore reparse points when enumerating directories to avoid infinite loops. Convert VSS paths back to real paths when notifying users about backup progress.
* Remove getpid() emulation now that it's included in the SDK, which causesChris Wilson2011-04-20
| | | | | a conflict.
* Add VSS: prefix to VSS log messages.Chris Wilson2011-04-06
| | | | | | | Start a snapshot set and add backup locations as volumes. Modularise IVssAsync waiting code.
* Make ConvertFromWideString available to other modules.Chris Wilson2011-03-28
|
* Add inline definition of ftruncate to fix MSVC compile.Chris Wilson2011-03-27
|
* Define WINVER and _WIN32_WINNT to Windows 2000 to avoid importing WSAPollChris Wilson2011-03-26
| | | | | | from winsock2.h, which conflicts with our definition of struct pollfd, on Windows Vista and above.
* Provide a function to close a file handle on Windows, analogous toChris Wilson2009-04-26
| | | | | openfile().
* Fix missing LOG_* defines on Windows.Chris Wilson2009-04-02
|
* Fix tests (hopefully) on Win32 for struct stat ino_t change from 16 toChris Wilson2009-03-21
| | | | | 64 bits.
* Change ConvertTo/FromUtf8 to take a std::string instead of a const char Chris Wilson2008-12-30
| | | | | *, for convenience and C++ style.
* Fix the use of an unreasonably short type as the temporary storageChris Wilson2008-12-01
| | | | | | | | for inode numbers on Windows, resulting in all inode numbers being coerced into 2^16 space and many duplicates on systems with large numbers of files being backed up, possibly resulting in store corruption due to unwanted file rename operations.
* openfile() stores its Windows error code (from GetLastError() orChris Wilson2008-11-30
| | | | | synthetic) in winerrno, to enable better error handling outside.
* Add getpid() emulation.Chris Wilson2008-08-03
|
* Make Configuration take a std::string filename instead of a char array,Chris Wilson2007-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in C++ style. Add a function to get default config file paths at runtime, dependent on the location of the executable being run. Pass the config file name directly to Daemon::Main, instead of faking argv. No default raid file path at compile time on Windows, depends on executable location when run. Determine RaidFile path at runtime if not supplied in config file on Windows. Don't define default locations for config files at compile time on Windows, provide macros to determine them at runtime instead. Make FileHandleGuard take a std::string instead of a char array, C++ style. Determine config file location at runtime instead of hard-coding on Windows. Thanks to Paul MacKenzie, Per Thomsen, Pete Jalajas, Stuart Sanders, Dave Bamford and Gary for pushing me to do this. (fixes #12) Determine config file path at runtime. Call Daemon::Main with config file name instead of building fake argv. (refs #3, merges [1684] [1685] [1686] [1687] [1688] [1689] [1690] [1691] [1692])
* Disable some warnings under MSVC to reduce build noise, thanks Gary!Chris Wilson2007-07-26
| | | | | (refs #3, merges [1676])
* Add emulated rename() with path conversion. (refs #3, merges [1436] andChris Wilson2007-03-24
| | | | | [1438])
* Group remaining set*id() and get*id() functions. Improve comments aboutChris Wilson2007-03-10
| | | | | why they are being retained. (refs #3, related to [634])
* Add new syslog level emulations (refs #3, merges remainder of [1299])Chris Wilson2007-03-10
|
* Reorder for clarityChris Wilson2007-03-10
| | | | | | | | | Expose GetErrorMessage() Improve comments (refs #3, merges [1365])
* Remove #define BOX_VERSION since we now get it from BoxVersion.h viaChris Wilson2007-03-10
| | | | | | BoxPlatform.h when building with MSVC, and from the Makefiles when building with MinGW. (refs #3, merges part of [634])
* Use #defines to replace POSIX functions with emulated ones on MinGW,Chris Wilson2007-03-10
| | | | | | | | | | | | | like we do on MSVC. This allows us to #undef them when we really need to use the original platform function (if available). Disable emulated fstat() in raidfile (and use the platform one) by undefining fstat, since it doesn't use the other emulated file handling functions, or need Unicode support, and it can't take a filehandle returned by open() (only openfile()). (refs #3, merges [1045])
* Compile fix for [1397] (refs #3)Chris Wilson2007-03-10
|
* Added d_type member to struct dirent, initialise with S_IFDIR or S_IFREGChris Wilson2007-03-10
| | | | | | | MinGW compile fix (refs #3, merges [775])
* First attempt to achieve a more logical order in this chaos:Chris Wilson2007-03-10
| | | | | | reordered all typedefs to be clearer and more readable (refs #3, merges [766])
* Fix handling of O_EXCL to behave just like Unix, not abused to lock files.Chris Wilson2007-03-10
| | | | | | | Add a new constant which specifies that files are to be locked open. (refs #3, merges [1288])
* Expanded character set conversion API to allow arbitrary conversionsChris Wilson2007-03-10
| | | | | | (needed to handle command lines with international encodings) (refs #3, merges [1038])
* Compile fix (refs #3)Chris Wilson2006-10-15
|
* (refs #3)Chris Wilson2006-09-04
| | | | | | Remove inline ConvertFileTimeToTime_t, add prototypes for new versions in emu.cpp
* (refs #3)Chris Wilson2006-09-04
| | | | | Added prototypes for new emulated functions emu_utimes, readv and writev
* (refs #3)Chris Wilson2006-09-04
| | | | | Remove more vestiges of old getopt
* (refs #3)Chris Wilson2006-09-04
| | | | | Emulate readdir's d_type field
* (refs #3)Chris Wilson2006-09-04
| | | | | | | | | Fixed looking up message source in syslog() Flush stdout after writing to it Allow syslog() to log to console even when openlog() has not been called