FreeNOS
lib
libposix
unistd
read.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009 Niek Linnenbank
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#include <
FileSystemClient.h
>
19
#include "
errno.h
"
20
#include "
unistd.h
"
21
22
ssize_t
read
(
int
fildes,
void
*buf,
size_t
nbyte)
23
{
24
// Read the file.
25
const
FileSystemClient
filesystem;
26
const
FileSystem::Result
result = filesystem.
readFile
(fildes,
27
(
char
*)buf,
28
&nbyte);
29
// Did the read succeed?
30
if
(result !=
FileSystem::Success
)
31
{
32
errno
=
ENOENT
;
33
return
-1;
34
}
35
36
return
nbyte;
37
}
errno
C int errno
The lvalue errno is used by many functions to return error values.
FileSystemClient
FileSystemClient provides a simple interface to a FileSystemServer.
Definition:
FileSystemClient.h:42
FileSystem::Success
@ Success
Definition:
FileSystem.h:54
read
ssize_t read(int fildes, void *buf, size_t nbyte)
Read from a file.
Definition:
read.cpp:22
FileSystemClient::readFile
FileSystem::Result readFile(const Size descriptor, void *buf, Size *size) const
Read a file.
Definition:
FileSystemClient.cpp:229
unistd.h
ENOENT
#define ENOENT
No such file or directory.
Definition:
errno.h:178
FileSystemClient.h
FileSystem::Result
Result
Result code for filesystem Actions.
Definition:
FileSystem.h:52
ssize_t
slong ssize_t
Used for a count of bytes or an error indication.
Definition:
types.h:38
errno.h
Generated by
1.8.17