diff --git a/src/fs_sendfile.cpp b/src/fs_sendfile.cpp index db8c14b5..1af25458 100644 --- a/src/fs_sendfile.cpp +++ b/src/fs_sendfile.cpp @@ -14,27 +14,8 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include - -#if defined __linux__ -#include -#endif - -#include "fs_sendfile.hpp" - -namespace fs -{ - ssize_t - sendfile(const int fdin, - const int fdout, - const size_t count) - { -#if defined __linux__ - off_t offset = 0; - - return ::sendfile(fdout,fdin,&offset,count); +#ifdef __linux__ +# include "fs_sendfile_linux.icpp" #else - return (errno=EINVAL,-1); +# include "fs_sendfile_unsupported.icpp" #endif - } -} diff --git a/src/fs_sendfile_linux.icpp b/src/fs_sendfile_linux.icpp new file mode 100644 index 00000000..344bc261 --- /dev/null +++ b/src/fs_sendfile_linux.icpp @@ -0,0 +1,31 @@ +/* + Copyright (c) 2016, Antonio SJ Musumeci + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include +#include + +namespace fs +{ + ssize_t + sendfile(const int fdin, + const int fdout, + const size_t count) + { + off_t offset = 0; + + return ::sendfile(fdout,fdin,&offset,count); + } +} diff --git a/src/fs_sendfile_unsupported.icpp b/src/fs_sendfile_unsupported.icpp new file mode 100644 index 00000000..87af18fd --- /dev/null +++ b/src/fs_sendfile_unsupported.icpp @@ -0,0 +1,28 @@ +/* + Copyright (c) 2016, Antonio SJ Musumeci + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include + +namespace fs +{ + ssize_t + sendfile(const int fdin, + const int fdout, + const size_t count) + { + return (errno=EINVAL,-1); + } +}