Initial commit: Schunix as it stands before the SchOS rename
An x86-64 operating system built from xv6, now largely rewritten: SMP, a copy-on-write root filesystem (SchFS), PCI/USB/virtio drivers, a TTF rasteriser, and a Linux-numbered syscall ABI. No history before this point -- the tree was never under version control. This commit exists so the rename that follows has something to undo to.
This commit is contained in:
commit
d0f7acf9eb
275 changed files with 51417 additions and 0 deletions
24
include/stat.h
Normal file
24
include/stat.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#pragma once
|
||||
#include "types.h"
|
||||
|
||||
#define T_DIR 1 // Directory
|
||||
#define T_FILE 2 // File
|
||||
#define T_DEV 3 // Device
|
||||
#define T_SYMLINK 4 // Divesymlink
|
||||
#define T_EXTENT 5 // bmap & itrunc
|
||||
|
||||
struct stat {
|
||||
int32 type; // File type (T_DIR, T_FILE, or T_DEV)
|
||||
int32 dev; // File system's disk device ID
|
||||
uint64 ino; // Inode number
|
||||
int32 nlink; // Number of hard links to file
|
||||
uint32 pad; // Padding for 64-bit alignment
|
||||
uint64 size; // Size of file in bytes
|
||||
uint rwmode; // Permissions
|
||||
uint supermode; // Mode
|
||||
uint showmode; // Visiblity
|
||||
uint atime; // Last access time
|
||||
uint mtime; // Last modification time
|
||||
uint ctime; // Last metadata-change time
|
||||
uint addrs[12+3]; // Block Addresses
|
||||
};
|
||||
Loading…
Reference in a new issue