chore(ViperOS): 落库内核侧进行中的改动(26 文件,+1573/-1805)
内容由用户产出,本次仅代为提交、未做任何语义修改;含 static 修饰符前置迁移等(新增 static 前缀 16 行)。提交消息为中性描述——如需更精确的说明请 amend。
This commit is contained in:
1 parent
1c3fcd6e1e
commit
dcb7c5c2c0
26 files changed
+1558
-1790
No files matched your search
@@ -9,10 +9,10 @@ define MAX_DIRECTORIES = 16
|
||||
define PATH_BUFFER_SIZE = 256
|
||||
|
||||
directories: [MAX_DIRECTORIES]devfs_directory = [0]
|
||||
directory_count: static int = 0
|
||||
static directory_count: int = 0
|
||||
|
||||
files: [MAX_DEVICE_FILES]devfs_file = [0]
|
||||
file_count: static int = 0
|
||||
static file_count: int = 0
|
||||
|
||||
|
||||
class _fd_table:
|
||||
@@ -88,7 +88,7 @@ virtual class devfs_file:
|
||||
@staticmethod
|
||||
def list_in_dir(dir_ptr: devfs_directory*, buffer: str, size: uint32, pos: int) -> int:
|
||||
for f in range(file_count):
|
||||
filep: devfs_file* = c.Addr(files[f])
|
||||
filep: devfs_file* = &files[f]
|
||||
if filep.parent_dir == dir_ptr:
|
||||
name_len: int = string.strlen(filep.name)
|
||||
if pos + name_len + 1 > size:
|
||||
@@ -124,7 +124,7 @@ class _DevFSObject:
|
||||
if directory_count >= MAX_DIRECTORIES: return None
|
||||
if string.strlen(dir_name) >= 64: return None
|
||||
|
||||
new_dir: devfs_directory* = c.Addr(directories[directory_count])
|
||||
new_dir: devfs_directory* = &directories[directory_count]
|
||||
directory_count += 1
|
||||
|
||||
string.strcpy(new_dir.name, dir_name)
|
||||
@@ -137,7 +137,7 @@ class _DevFSObject:
|
||||
if not path or string.samestr(path, "/"): return None
|
||||
|
||||
if not self.root_directory:
|
||||
self.root_directory = c.Addr(directories[directory_count])
|
||||
self.root_directory = &directories[directory_count]
|
||||
directory_count += 1
|
||||
string.strcpy(self.root_directory.name, "")
|
||||
self.root_directory.parent = None
|
||||
@@ -204,7 +204,7 @@ class _DevFSObject:
|
||||
file_ptr.parent_dir = dir_ptr
|
||||
files[file_count] = file_ptr
|
||||
else:
|
||||
new_file: devfs_file* = c.Addr(files[file_count])
|
||||
new_file: devfs_file* = &files[file_count]
|
||||
string.strcpy(new_file.name, file_name)
|
||||
new_file.private_data = private_data
|
||||
new_file.parent_dir = dir_ptr
|
||||
@@ -336,16 +336,16 @@ def serial0_read(self: rawptr, fd: int, buffer: rawptr, size: uint32) -> int:
|
||||
|
||||
def serial0_write(self: rawptr, fd: int, buffer: const rawptr, size: uint32) -> int:
|
||||
serial.puts("[serial0] write\n")
|
||||
serial.puts(str(buffer))
|
||||
serial.puts(buffer)
|
||||
serial.puts("\n")
|
||||
return size
|
||||
|
||||
def devfs_register_serial0() -> int:
|
||||
global serial0_file
|
||||
serial0_file = devfs_file()
|
||||
serial0_file.open = serial0_open
|
||||
serial0_file.open = serial0_open
|
||||
serial0_file.close = serial0_close
|
||||
serial0_file.read = serial0_read
|
||||
serial0_file.read = serial0_read
|
||||
serial0_file.write = serial0_write
|
||||
return devfs_create_file("/dev/serial0", serial0_file, None)
|
||||
|
||||
|
||||
Reference in new issue
Block a user