Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rdemeter
GitHub Repository: rdemeter/so
Path: blob/master/lab2/io-wrapper.c
221 views
1
#include "io-wrapper.h"
2
#ifdef __linux__
3
//
4
// todo: os_open()
5
6
os_ssize os_read(os_handle fd, void *buffer, os_size count) {
7
return read(fd, buffer, count);
8
}
9
os_ssize os_write(os_handle fd, const void *buffer, os_size count) {
10
return write(fd, buffer, count);
11
}
12
13
//
14
//todo: os_close()
15
16
#elif defined(_WIN32)
17
//
18
// todo: os_open
19
20
os_ssize os_read(os_handle fd, void *buffer, os_size count) {
21
os_ssize result = -1;
22
ReadFile(fd, buffer, count, &result, NULL);
23
return result;
24
}
25
os_ssize os_write(os_handle fd, void *buffer, os_size count) {
26
os_ssize result = -1;
27
WriteFile(fd, buffer, count, &result, NULL);
28
return result;
29
}
30
31
//
32
// todo: os_close()
33
34
#endif
35
36
int main(void) {
37
char buf[101];
38
os_handle fd = os_open(filename);
39
os_read(fd, buf, 100);
40
printf("buf=%s\n",buf);
41
os_close(fd);
42
}
43
44
45