aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux/mips.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/os/linux/mips.zig')
-rw-r--r--lib/std/os/linux/mips.zig160
1 files changed, 44 insertions, 116 deletions
diff --git a/lib/std/os/linux/mips.zig b/lib/std/os/linux/mips.zig
index 6412c847bd..7468396a09 100644
--- a/lib/std/os/linux/mips.zig
+++ b/lib/std/os/linux/mips.zig
@@ -1,32 +1,20 @@
const builtin = @import("builtin");
const std = @import("../../std.zig");
-const maxInt = std.math.maxInt;
-const linux = std.os.linux;
-const SYS = linux.SYS;
-const socklen_t = linux.socklen_t;
-const iovec = std.posix.iovec;
-const iovec_const = std.posix.iovec_const;
-const uid_t = linux.uid_t;
-const gid_t = linux.gid_t;
-const pid_t = linux.pid_t;
-const stack_t = linux.stack_t;
-const sigset_t = linux.sigset_t;
-const sockaddr = linux.sockaddr;
-const timespec = linux.timespec;
+const SYS = std.os.linux.SYS;
-pub fn syscall0(number: SYS) usize {
+pub fn syscall0(number: SYS) u32 {
return asm volatile (
\\ syscall
\\ beq $7, $zero, 1f
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
: .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall_pipe(fd: *[2]i32) usize {
+pub fn syscall_pipe(fd: *[2]i32) u32 {
return asm volatile (
\\ .set noat
\\ .set noreorder
@@ -39,47 +27,47 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
\\ sw $2, 0($4)
\\ sw $3, 4($4)
\\ 2:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(SYS.pipe)),
[fd] "{$4}" (fd),
: .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall1(number: SYS, arg1: usize) usize {
+pub fn syscall1(number: SYS, arg1: u32) u32 {
return asm volatile (
\\ syscall
\\ beq $7, $zero, 1f
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
: .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
+pub fn syscall2(number: SYS, arg1: u32, arg2: u32) u32 {
return asm volatile (
\\ syscall
\\ beq $7, $zero, 1f
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
: .{ .r1 = true, .r3 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
+pub fn syscall3(number: SYS, arg1: u32, arg2: u32, arg3: u32) u32 {
return asm volatile (
\\ syscall
\\ beq $7, $zero, 1f
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
@@ -87,14 +75,14 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
: .{ .r1 = true, .r3 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
+pub fn syscall4(number: SYS, arg1: u32, arg2: u32, arg3: u32, arg4: u32) u32 {
return asm volatile (
\\ syscall
\\ beq $7, $zero, 1f
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
@@ -103,7 +91,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
: .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
+pub fn syscall5(number: SYS, arg1: u32, arg2: u32, arg3: u32, arg4: u32, arg5: u32) u32 {
return asm volatile (
\\ .set noat
\\ subu $sp, $sp, 24
@@ -114,7 +102,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
@@ -129,13 +117,13 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
pub fn syscall6(
number: SYS,
- arg1: usize,
- arg2: usize,
- arg3: usize,
- arg4: usize,
- arg5: usize,
- arg6: usize,
-) usize {
+ arg1: u32,
+ arg2: u32,
+ arg3: u32,
+ arg4: u32,
+ arg5: u32,
+ arg6: u32,
+) u32 {
return asm volatile (
\\ .set noat
\\ subu $sp, $sp, 24
@@ -147,7 +135,7 @@ pub fn syscall6(
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
@@ -160,14 +148,14 @@ pub fn syscall6(
pub fn syscall7(
number: SYS,
- arg1: usize,
- arg2: usize,
- arg3: usize,
- arg4: usize,
- arg5: usize,
- arg6: usize,
- arg7: usize,
-) usize {
+ arg1: u32,
+ arg2: u32,
+ arg3: u32,
+ arg4: u32,
+ arg5: u32,
+ arg6: u32,
+ arg7: u32,
+) u32 {
return asm volatile (
\\ .set noat
\\ subu $sp, $sp, 32
@@ -180,7 +168,7 @@ pub fn syscall7(
\\ blez $2, 1f
\\ subu $2, $0, $2
\\ 1:
- : [ret] "={$2}" (-> usize),
+ : [ret] "={$2}" (-> u32),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
@@ -192,7 +180,7 @@ pub fn syscall7(
: .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
}
-pub fn clone() callconv(.naked) usize {
+pub fn clone() callconv(.naked) u32 {
// __clone(func, stack, flags, arg, ptid, tls, ctid)
// 3, 4, 5, 6, 7, 8, 9
//
@@ -243,47 +231,11 @@ pub fn clone() callconv(.naked) usize {
);
}
-pub const F = struct {
- pub const DUPFD = 0;
- pub const GETFD = 1;
- pub const SETFD = 2;
- pub const GETFL = 3;
- pub const SETFL = 4;
-
- pub const SETOWN = 24;
- pub const GETOWN = 23;
- pub const SETSIG = 10;
- pub const GETSIG = 11;
-
- pub const GETLK = 33;
- pub const SETLK = 34;
- pub const SETLKW = 35;
-
- pub const RDLCK = 0;
- pub const WRLCK = 1;
- pub const UNLCK = 2;
-
- pub const SETOWN_EX = 15;
- pub const GETOWN_EX = 16;
-
- pub const GETOWNER_UIDS = 17;
-};
-
pub const VDSO = struct {
pub const CGT_SYM = "__vdso_clock_gettime";
pub const CGT_VER = "LINUX_2.6";
};
-pub const Flock = extern struct {
- type: i16,
- whence: i16,
- __pad0: [4]u8,
- start: off_t,
- len: off_t,
- pid: pid_t,
- __unused: [4]u8,
-};
-
pub const blksize_t = u32;
pub const nlink_t = u32;
pub const time_t = i32;
@@ -300,51 +252,27 @@ pub const Stat = extern struct {
ino: ino_t,
mode: mode_t,
nlink: nlink_t,
- uid: uid_t,
- gid: gid_t,
+ uid: std.os.linux.uid_t,
+ gid: std.os.linux.gid_t,
rdev: dev_t,
__pad1: [2]u32,
size: off_t,
- atim: i32,
- atim_nsec: i32,
- mtim: i32,
- mtim_nsec: i32,
- ctim: i32,
- ctim_nsec: i32,
+ atim: std.os.linux.timespec,
+ mtim: std.os.linux.timespec,
+ ctim: std.os.linux.timespec,
blksize: blksize_t,
__pad3: u32,
blocks: blkcnt_t,
- pub fn atime(self: @This()) timespec {
- return .{
- .sec = self.atim,
- .nsec = self.atim_nsec,
- };
+ pub fn atime(self: @This()) std.os.linux.timespec {
+ return self.atim;
}
- pub fn mtime(self: @This()) timespec {
- return .{
- .sec = self.mtim,
- .nsec = self.mtim_nsec,
- };
+ pub fn mtime(self: @This()) std.os.linux.timespec {
+ return self.mtim;
}
- pub fn ctime(self: @This()) timespec {
- return .{
- .sec = self.ctim,
- .nsec = self.ctim_nsec,
- };
+ pub fn ctime(self: @This()) std.os.linux.timespec {
+ return self.ctim;
}
};
-
-pub const timeval = extern struct {
- sec: isize,
- usec: isize,
-};
-
-pub const timezone = extern struct {
- minuteswest: i32,
- dsttime: i32,
-};
-
-pub const Elf_Symndx = u32;