• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Institute of Parallel And Distributed Systems (IPADS), Shanghai Jiao Tong University (SJTU)
3  * Licensed under the Mulan PSL v2.
4  * You can use this software according to the terms and conditions of the Mulan PSL v2.
5  * You may obtain a copy of Mulan PSL v2 at:
6  *     http://license.coscl.org.cn/MulanPSL2
7  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
8  * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
9  * PURPOSE.
10  * See the Mulan PSL v2 for more details.
11  */
12 
13 #ifndef SYS_FILEIO_H
14 #define SYS_FILEIO_H
15 
16 #include <stdint.h>
17 #include <stddef.h>
18 #include <fcntl.h>
19 
20 #define TAFS_MOUNTPOINT "/tafs"
21 
22 int32_t fileio_init(void);
23 int32_t open(const char *pathname, int32_t flags, ...);
24 int32_t close(int32_t fd);
25 ssize_t read(int32_t fd, void *buf, size_t count);
26 ssize_t write(int32_t fd, const void *buf, size_t count);
27 int32_t ftruncate(int32_t fd, int64_t length);
28 int32_t unlink(const char *pathname);
29 int32_t vfs_rename(int32_t fd, const char *new_name);
30 void *vfs_mmap(int32_t fd, uint64_t size, uint64_t off);
31 
32 #endif
33