Use native types on linux POSIX structs.

This commit is contained in:
Isaac Andrade
2024-08-28 19:08:48 -06:00
parent 45322023e3
commit f0e631cfa3
4 changed files with 3 additions and 32 deletions

View File

@@ -26,9 +26,6 @@ Pid :: distinct i32
File_Time :: distinct u64
Socket :: distinct int
ino_t :: u64
ino_t32 :: u32
INVALID_HANDLE :: ~Handle(0)
_Platform_Error :: linux.Errno

View File

@@ -202,33 +202,13 @@ when ODIN_OS == .Darwin {
} else when ODIN_OS == .Linux {
when ODIN_ARCH == .i386 || ODIN_ARCH == .wasm32 || ODIN_ARCH == .arm32 {
dirent :: struct {
d_ino: ino_t32, /* [PSX] file number of entry */
d_off: off_t32, /* directory offset of the next entry */
d_reclen: c.uint16_t, /* length of this record */
d_ino: u64, /* [PSX] file number of entry */
d_off: i64, /* directory offset of the next entry */
d_reclen: u16, /* length of this record */
d_type: D_Type, /* file type */
d_name: [256]c.char `fmt:"s,0"`, /* [PSX] entry name */
}
} else when ODIN_ARCH == .amd64 || ODIN_ARCH == .wasm64p32 || ODIN_ARCH == .arm64 {
dirent :: struct {
d_ino: ino_t, /* [PSX] file number of entry */
d_off: off_t, /* directory offset of the next entry */
d_reclen: c.uint16_t, /* length of this record */
d_type: D_Type, /* file type */
d_name: [256]c.char `fmt:"s,0"`, /* [PSX] entry name */
}
}
dirent64 :: struct {
d_ino: ino_t, /* [PSX] file number of entry */
d_off: off_t, /* directory offset of the next entry */
d_reclen: c.uint16_t, /* length of this record */
d_type: D_Type, /* file type */
d_name: [256]c.char `fmt:"s,0"`, /* [PSX] entry name */
}
} else {
#panic("posix is unimplemented for the current target")

View File

@@ -410,9 +410,6 @@ when ODIN_OS == .Darwin {
l_whence: c.short, /* [PSX] flag (Whence) of starting offset */
}
} else when ODIN_OS == .Linux {
off_t :: distinct c.uint64_t
off_t32 :: distinct c.uint32_t
} else {
#panic("posix is unimplemented for the current target")
}

View File

@@ -427,9 +427,6 @@ when ODIN_OS == .Darwin {
UTIME_NOW :: -2
UTIME_OMIT :: -1
} else when ODIN_OS == .Linux {
ino_t :: distinct u64
ino_t32 :: distinct u32
} else {
#panic("posix is unimplemented for the current target")
}