dirent.h
来自「南京航空航天大学开发的一个类Unix和Linux的操作系统,好不好看看就知道了,」· C头文件 代码 · 共 53 行
H
53 行
#ifndef _FSDIRENT_H#define _FSDIRENT_H#include "minix.h"#include "buf.h"struct inode_t;class scandir_t { enum { READA = 4 }; inode_t * dir; buf_t * b; /* current buffer */ off_t off; int create; void advance();public: scandir_t(inode_t * dir_, int create_ = 0, off_t off_ = 0); ~scandir_t(); int more() { return off < dir->size; } void next(); minixde_t * curde() { assert(b); return (minixde_t*)(b->data + (off & (MINIXBSIZE - 1))); } buf_t * curb() { return b; } off_t curoff() { return off; }};struct dirent_t { long ino; long off; short reclen; char name[0]; dirent_t * next() { return (dirent_t*)((char*)this + reclen); }};class destream_t { char * room, * eroom; dirent_t * cursor;public: destream_t(dirent_t * de, int nbyte) { room = (char*) de; eroom = room + nbyte; cursor = de; } int write(ino_t ino_, off_t off_, char * name); int written() { return (char*)cursor - room; }};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?