SFUSE_Documentation
로딩중...
검색중...
일치하는것 없음
block.c
이 파일의 문서화 페이지로 가기
1// File: src/block.c
2
3#include "block.h"
4#include "super.h"
5#include <errno.h>
6#include <unistd.h>
7
15ssize_t read_block(int fd, uint32_t blk, void *out_buf) {
16 off_t offset = (off_t)blk * SFUSE_BLOCK_SIZE;
17 ssize_t n = pread(fd, out_buf, SFUSE_BLOCK_SIZE, offset);
18 if (n < 0) {
19 return -errno;
20 }
21 return n;
22}
23
31ssize_t write_block(int fd, uint32_t blk, const void *buf) {
32 off_t offset = (off_t)blk * SFUSE_BLOCK_SIZE;
33 ssize_t n = pwrite(fd, buf, SFUSE_BLOCK_SIZE, offset);
34 if (n < 0) {
35 return -errno;
36 }
37 return n;
38}
ssize_t read_block(int fd, uint32_t blk, void *out_buf)
지정한 블록 번호의 데이터를 읽어 버퍼에 저장
Definition block.c:15
ssize_t write_block(int fd, uint32_t blk, const void *buf)
버퍼의 내용을 지정한 블록 번호에 기록
Definition block.c:31
#define SFUSE_BLOCK_SIZE
블록 크기 (바이트 단위)
Definition super.h:20