Apache Mesos
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
3rdparty
stout
include
stout
os
windows
ftruncate.hpp
Go to the documentation of this file.
1
// Licensed under the Apache License, Version 2.0 (the "License");
2
// you may not use this file except in compliance with the License.
3
// You may obtain a copy of the License at
4
//
5
// http://www.apache.org/licenses/LICENSE-2.0
6
//
7
// Unless required by applicable law or agreed to in writing, software
8
// distributed under the License is distributed on an "AS IS" BASIS,
9
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
// See the License for the specific language governing permissions and
11
// limitations under the License.
12
13
#ifndef __STOUT_OS_WINDOWS_FTRUNCATE_HPP__
14
#define __STOUT_OS_WINDOWS_FTRUNCATE_HPP__
15
16
#include <io.h>
17
18
#include <
stout/error.hpp
>
19
#include <
stout/nothing.hpp
>
20
#include <
stout/stringify.hpp
>
21
#include <
stout/try.hpp
>
22
23
#include <
stout/os/windows/fd.hpp
>
24
25
26
namespace
os {
27
28
// Identical in functionality to POSIX standard `ftruncate`.
29
inline
Try<Nothing>
ftruncate
(
const
WindowsFD
& fd, __int64 length)
30
{
31
if
(::_chsize_s(fd.
crt
(), length) != 0) {
32
return
ErrnoError
(
33
"Failed to truncate file at file descriptor '"
+
stringify
(fd) +
"' to "
+
34
stringify
(length) +
" bytes."
);
35
}
36
37
return
Nothing
();
38
}
39
40
}
// namespace os {
41
42
#endif // __STOUT_OS_WINDOWS_FTRUNCATE_HPP__
Nothing
Definition:
nothing.hpp:16
fd.hpp
os::WindowsFD
Definition:
fd.hpp:47
Try
Definition:
try.hpp:34
ErrnoError
Definition:
errorbase.hpp:49
nothing.hpp
os::WindowsFD::crt
int crt() const
Definition:
fd.hpp:97
error.hpp
stringify.hpp
try.hpp
ns::stringify
std::string stringify(int flags)
os::ftruncate
Try< Nothing > ftruncate(int fd, off_t length)
Definition:
ftruncate.hpp:26
Generated by
1.8.5