Lines Matching defs:at
87 // for formatted files, since we can't yet always know now at OPEN
191 std::size_t OpenFile::Read(FileOffset at, char *buffer, std::size_t minBytes,
197 if (!Seek(at, handler)) {
220 std::size_t OpenFile::Write(FileOffset at, const char *buffer,
226 if (!Seek(at, handler)) {
249 inline static int openfile_ftruncate(int fd, OpenFile::FileOffset at) {
251 return ::_chsize(fd, at);
253 return ::ftruncate(fd, at);
257 void OpenFile::Truncate(FileOffset at, IoErrorHandler &handler) {
259 if (!knownSize_ || *knownSize_ != at) {
260 if (openfile_ftruncate(fd_, at) != 0) {
263 knownSize_ = at;
271 FileOffset at, char *buffer, std::size_t bytes, IoErrorHandler &handler) {
276 auto chunk{::pread(fd_, buffer + got, bytes - got, at)};
278 auto chunk{Seek(at, handler) ? ::read(fd_, buffer + got, bytes - got) : -1};
291 at += chunk;
299 int OpenFile::WriteAsynchronously(FileOffset at, const char *buffer,
305 auto chunk{::pwrite(fd_, buffer + put, bytes - put, at)};
308 Seek(at, handler) ? ::write(fd_, buffer + put, bytes - put) : -1};
311 at += chunk;
374 bool OpenFile::Seek(FileOffset at, IoErrorHandler &handler) {
375 if (at == position_) {
377 } else if (RawSeek(at)) {
378 SetPosition(at);
386 bool OpenFile::RawSeek(FileOffset at) {
388 return ::lseek64(fd_, at, SEEK_SET) == at;
390 return ::lseek(fd_, at, SEEK_SET) == at;
396 std::int64_t at{::lseek64(fd_, 0, SEEK_END)};
398 std::int64_t at{::lseek(fd_, 0, SEEK_END)};
400 if (at >= 0) {
401 knownSize_ = at;
432 // Windows. Instead, define the flags as documented at