aboutsummaryrefslogtreecommitdiff
path: root/sys/linux
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
commit4bf477d5ed372fd44697d2f0df245b61b4f3f7b3 (patch)
treee52d8aa00de40b33c4f26cacba6841f299f97bb2 /sys/linux
parent8306b655f9d9a291126ed4947c481ea540c9b835 (diff)
filling out system layer
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/amd64/syscall.h2
-rw-r--r--sys/linux/port/arch/constants.h34
-rw-r--r--sys/linux/port/arch/errno.h268
-rw-r--r--sys/linux/port/arch/types.h35
4 files changed, 202 insertions, 137 deletions
diff --git a/sys/linux/amd64/syscall.h b/sys/linux/amd64/syscall.h
index f571b81..cba66be 100644
--- a/sys/linux/amd64/syscall.h
+++ b/sys/linux/amd64/syscall.h
@@ -419,5 +419,3 @@ long _syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6)
"d"(a3), "r"(r10), "r"(r8), "r"(r9) : "rcx", "r11", "memory");
return ret;
}
-
-
diff --git a/sys/linux/port/arch/constants.h b/sys/linux/port/arch/constants.h
index 2b26899..b8d3878 100644
--- a/sys/linux/port/arch/constants.h
+++ b/sys/linux/port/arch/constants.h
@@ -1,7 +1,8 @@
#pragma once
+/* open */
#define sys·OCreate 0x40u
-#define sys·ONotty 0x100u
+#define sys·ONoTTY 0x100u
#define sys·OTrunc 0x200u
#define sys·OAppend 0x400u
#define sys·ONoBlock 0x800u
@@ -11,3 +12,34 @@
#define sys·ODirectory 0x10000u
#define sys·ONoFollow 0x20000u
#define sys·OTmpFile 0x410000u
+
+/* mmap */
+#define sys·ProtNone 0
+#define sys·ProtRead 1
+#define sys·ProtWrite 2
+#define sys·ProtExec 4
+#define sys·ProtGrowsDown 0x01000000
+#define sys·ProtGrowsUp 0x02000000
+
+#define sys·MapFile 0
+#define sys·MapShared 0x01
+#define sys·MapPrivate 0x02
+#define sys·MapSharedValidate 0x03
+#define sys·MapType 0x0f
+#define sys·MapFixed 0x10
+#define sys·MapAnon 0x20
+#define sys·MapNoReserve 0x4000
+#define sys·MapGrowsDown 0x0100
+#define sys·MapDenyWrite 0x0800
+#define sys·MapExecutable 0x1000
+#define sys·MapLocked 0x2000
+#define sys·MapPopulate 0x8000
+#define sys·MapNonBlock 0x10000
+#define sys·MapStack 0x20000
+#define sys·MapHugetlb 0x40000
+#define sys·MapSync 0x80000
+#define sys·MapFixedNoReplace 0x100000
+
+#define sys·RemapCanMove 1
+#define sys·RemapFixed 2
+#define sys·RemapNoUnmap 4
diff --git a/sys/linux/port/arch/errno.h b/sys/linux/port/arch/errno.h
index dcd4bcc..9d7e66e 100644
--- a/sys/linux/port/arch/errno.h
+++ b/sys/linux/port/arch/errno.h
@@ -1,134 +1,134 @@
-#define sys·ErrorNotPermit 1
-#define sys·ErrorNoEntry 2
-#define sys·ErrorNoProc 3
-#define sys·ErrorInterrupt 4
-#define sys·ErrorIO 5
-#define sys·ErrorNoDevAddr 6
-#define sys·ErrorArgLen 7
-#define sys·ErrorExecFmt 8
-#define sys·ErrorBadFd 9
-#define sys·ErrorNoChild 10
-#define sys·ErrorAgain 11
-#define sys·ErrorNoMemory 12
-#define sys·ErrorAccess 13
-#define sys·ErrorBadAddr 14
-#define sys·ErrorNotBlk 15
-#define sys·ErrorBusy 16
-#define sys·ErrorExists 17
-#define sys·ErrorExDevice 18
-#define sys·ErrorNoDevice 19
-#define sys·ErrorNotDir 20
-#define sys·ErrorIsDir 21
-#define sys·ErrorBadArg 22
-#define sys·ErrorNoFiles 23
-#define sys·ErrorNoFd 24
-#define sys·ErrorNotTTY 25
-#define sys·ErrorTxtBusy 26
-#define sys·ErrorBigFile 27
-#define sys·ErrorNoSpace 28
-#define sys·ErrorNoSeek 29
-#define sys·ErrorReadOnly 30
-#define sys·ErrorNoLink 31
-#define sys·ErrorBadPipe 32
-#define sys·ErrorBadDomain 33
-#define sys·ErrorBadResult 34
-#define sys·ErrorDeadlock 35
-#define sys·ErrorNameLen 36
-#define sys·ErrorNoLock 37
-#define sys·ErrorNoSyscall 38
-#define sys·ErrorNotEmptyDir 39
-#define sys·ErrorLinkLoop 40
-#define sys·ErrorBlocks sys·ErrorAgain
-#define sys·ErrorNoMsg 42
-#define sys·ErrorNoIdent 43
-#define sys·ErrorBadChannel 44
-#define sys·ErrorLvl2NoSync 45
-#define sys·ErrorLvl3Halt 46
-#define sys·ErrorLvl3Reset 47
-#define sys·ErrorLongChannel 48
-#define sys·ErrorNoDriver 49
-#define sys·ErrorNoCSI 50
-#define sys·ErrorLvl2Halt 51
-#define sys·ErrorBadExchange 52
-#define sys·ErrorBadRequest 53
-#define sys·ErrorFullExchange 54
-#define sys·ErrorNoAnode 55
-#define sys·ErrorBadRequestCode 56
-#define sys·ErrorBadSlot 57
-#define sys·ErrorDeadlock2 sys·ErrorDeadlock
-#define sys·ErrorBadFont 59
-#define sys·ErrorNoStr 60
-#define sys·ErrorNoData 61
-#define sys·ErrorTimeout 62
-#define sys·ErrorNoStream 63
-#define sys·ErrorNoNet 64
-#define sys·ErrorNoPkg 65
-#define sys·ErrorIsRemote 66
-#define sys·ErrorDeadLink 67
-#define sys·ErrorAdv 68
-#define sys·ErrorSrmnt 69
-#define sys·ErrorCommunicate 70
-#define sys·ErrorProtocol 71
-#define sys·ErrorMultihop 72
-#define sys·ErrorDotDot 73
-#define sys·ErrorBadMsg 74
-#define sys·ErrorOverflow 75
-#define sys·ErrorNotUnique 76
-#define sys·ErrorBadFdState 77
-#define sys·ErrorNewAddress 78
-#define sys·ErrorShlibAccess 79
-#define sys·ErrorBadShlib 80
-#define sys·ErrorBadLibCode 81
-#define sys·ErrorShlibLen 82
-#define sys·ErrorSlibExec 83
-#define sys·ErrorBadWideChar 84
-#define sys·ErrorRestart 85
-#define sys·ErrorStreamPipe 86
-#define sys·ErrorUserLen 87
-#define sys·ErrorNotSocket 88
-#define sys·ErrorNeedDstAddr 89
-#define sys·ErrorMsgLen 90
-#define sys·ErrorBadProtocol 91
-#define sys·ErrorNoProtocol 92
-#define sys·ErrorNoProtocolSupport 93
-#define sys·ErrorNoSocketSupport 94
-#define sys·ErrorProtocolSupport 95
-#define sys·ErrorNoSupport sys·ErrorProtocolSupport
-#define sys·ErrorNoPFSupport 96
-#define sys·ErrorNoAFSupport 97
-#define sys·ErrorAddrInUse 98
-#define sys·ErrorAddrNotAvail 99
-#define sys·ErrorNetDown 100
-#define sys·ErrorNetHang 101
-#define sys·ErrorNetReset 102
-#define sys·ErrorAbortConnect 103
-#define sys·ErrorResetConnect 104
-#define sys·ErrorNoBuffer 105
-#define sys·ErrorIsConnect 106
-#define sys·ErrorNotConnect 107
-#define sys·ErrorShutdown 108
-#define sys·ErrorRefsLen 109
-#define sys·ErrorTimedOut 110
-#define sys·ErrorRefuseConnect 111
-#define sys·ErrorHostDown 112
-#define sys·ErrorHostHang 113
-#define sys·ErrorAlreadyConnect 114
-#define sys·ErrorInProgress 115
-#define sys·ErrorStale 116
-#define sys·ErrorNeedClean 117
-#define sys·ErrorNotNamed 118
-#define sys·ErrorNotAvail 119
-#define sys·ErrorIsNamed 120
-#define sys·ErrorRemoteIO 121
-#define sys·ErrorDiskQuota 122
-#define sys·ErrorNoMedium 123
-#define sys·ErrorBadMedium 124
-#define sys·ErrorCancel 125
-#define sys·ErrorNoKey 126
-#define sys·ErrorExpireKey 127
-#define sys·ErrorRevokeKey 128
-#define sys·ErrorRejectKey 129
-#define sys·ErrorOwnerDie 130
-#define sys·ErrorNoRecover 131
-#define sys·ErrorRFKill 132
-#define sys·ErrorHWPoison 133
+#define sys·ErrorNotPermit 1
+#define sys·ErrorNoEntry 2
+#define sys·ErrorNoProc 3
+#define sys·ErrorInterrupt 4
+#define sys·ErrorIO 5
+#define sys·ErrorNoDevAddr 6
+#define sys·ErrorArgLen 7
+#define sys·ErrorExecFmt 8
+#define sys·ErrorBadFd 9
+#define sys·ErrorNoChild 10
+#define sys·ErrorAgain 11
+#define sys·ErrorNoMemory 12
+#define sys·ErrorAccess 13
+#define sys·ErrorBadAddr 14
+#define sys·ErrorNotBlk 15
+#define sys·ErrorBusy 16
+#define sys·ErrorExists 17
+#define sys·ErrorExDevice 18
+#define sys·ErrorNoDevice 19
+#define sys·ErrorNotDir 20
+#define sys·ErrorIsDir 21
+#define sys·ErrorBadArg 22
+#define sys·ErrorNoFiles 23
+#define sys·ErrorNoFd 24
+#define sys·ErrorNotTTY 25
+#define sys·ErrorTxtBusy 26
+#define sys·ErrorBigFile 27
+#define sys·ErrorNoSpace 28
+#define sys·ErrorNoSeek 29
+#define sys·ErrorReadOnly 30
+#define sys·ErrorNoLink 31
+#define sys·ErrorBadPipe 32
+#define sys·ErrorBadDomain 33
+#define sys·ErrorBadResult 34
+#define sys·ErrorDeadlock 35
+#define sys·ErrorNameLen 36
+#define sys·ErrorNoLock 37
+#define sys·ErrorNoSyscall 38
+#define sys·ErrorNotEmptyDir 39
+#define sys·ErrorLinkLoop 40
+#define sys·ErrorBlocks sys·ErrorAgain
+#define sys·ErrorNoMsg 42
+#define sys·ErrorNoIdent 43
+#define sys·ErrorBadChannel 44
+#define sys·ErrorLvl2NoSync 45
+#define sys·ErrorLvl3Halt 46
+#define sys·ErrorLvl3Reset 47
+#define sys·ErrorLongChannel 48
+#define sys·ErrorNoDriver 49
+#define sys·ErrorNoCSI 50
+#define sys·ErrorLvl2Halt 51
+#define sys·ErrorBadExchange 52
+#define sys·ErrorBadRequest 53
+#define sys·ErrorFullExchange 54
+#define sys·ErrorNoAnode 55
+#define sys·ErrorBadRequestCode 56
+#define sys·ErrorBadSlot 57
+#define sys·ErrorDeadlock2 sys·ErrorDeadlock
+#define sys·ErrorBadFont 59
+#define sys·ErrorNoStr 60
+#define sys·ErrorNoData 61
+#define sys·ErrorTimeout 62
+#define sys·ErrorNoStream 63
+#define sys·ErrorNoNet 64
+#define sys·ErrorNoPkg 65
+#define sys·ErrorIsRemote 66
+#define sys·ErrorDeadLink 67
+#define sys·ErrorAdv 68
+#define sys·ErrorSrmnt 69
+#define sys·ErrorCommunicate 70
+#define sys·ErrorProtocol 71
+#define sys·ErrorMultihop 72
+#define sys·ErrorDotDot 73
+#define sys·ErrorBadMsg 74
+#define sys·ErrorOverflow 75
+#define sys·ErrorNotUnique 76
+#define sys·ErrorBadFdState 77
+#define sys·ErrorNewAddress 78
+#define sys·ErrorShlibAccess 79
+#define sys·ErrorBadShlib 80
+#define sys·ErrorBadLibCode 81
+#define sys·ErrorShlibLen 82
+#define sys·ErrorSlibExec 83
+#define sys·ErrorBadWideChar 84
+#define sys·ErrorRestart 85
+#define sys·ErrorStreamPipe 86
+#define sys·ErrorUserLen 87
+#define sys·ErrorNotSocket 88
+#define sys·ErrorNeedDstAddr 89
+#define sys·ErrorMsgLen 90
+#define sys·ErrorBadProtocol 91
+#define sys·ErrorNoProtocol 92
+#define sys·ErrorNoProtocolSupport 93
+#define sys·ErrorNoSocketSupport 94
+#define sys·ErrorProtocolSupport 95
+#define sys·ErrorNoSupport sys·ErrorProtocolSupport
+#define sys·ErrorNoPFSupport 96
+#define sys·ErrorNoAFSupport 97
+#define sys·ErrorAddrInUse 98
+#define sys·ErrorAddrNotAvail 99
+#define sys·ErrorNetDown 100
+#define sys·ErrorNetHang 101
+#define sys·ErrorNetReset 102
+#define sys·ErrorAbortConnect 103
+#define sys·ErrorResetConnect 104
+#define sys·ErrorNoBuffer 105
+#define sys·ErrorIsConnect 106
+#define sys·ErrorNotConnect 107
+#define sys·ErrorShutdown 108
+#define sys·ErrorRefsLen 109
+#define sys·ErrorTimedOut 110
+#define sys·ErrorRefuseConnect 111
+#define sys·ErrorHostDown 112
+#define sys·ErrorHostHang 113
+#define sys·ErrorAlreadyConnect 114
+#define sys·ErrorInProgress 115
+#define sys·ErrorStale 116
+#define sys·ErrorNeedClean 117
+#define sys·ErrorNotNamed 118
+#define sys·ErrorNotAvail 119
+#define sys·ErrorIsNamed 120
+#define sys·ErrorRemoteIO 121
+#define sys·ErrorDiskQuota 122
+#define sys·ErrorNoMedium 123
+#define sys·ErrorBadMedium 124
+#define sys·ErrorCancel 125
+#define sys·ErrorNoKey 126
+#define sys·ErrorExpireKey 127
+#define sys·ErrorRevokeKey 128
+#define sys·ErrorRejectKey 129
+#define sys·ErrorOwnerDie 130
+#define sys·ErrorNoRecover 131
+#define sys·ErrorRFKill 132
+#define sys·ErrorHWPoison 133
diff --git a/sys/linux/port/arch/types.h b/sys/linux/port/arch/types.h
new file mode 100644
index 0000000..014e4cb
--- /dev/null
+++ b/sys/linux/port/arch/types.h
@@ -0,0 +1,35 @@
+#pragma once
+
+// XXX: os vs sys prefix...
+
+typedef struct os·Directory os·Directory;
+typedef struct os·DirEntry os·DirEntry;
+
+struct os·Directory
+{
+ intptr off;
+ int fd;
+ int pad;
+ int pos, end;
+ /* buf needs fall on (off_t) 8 byte alignment */
+ char buf[2048];
+};
+
+struct os·DirEntry
+{
+ ulong ino; /* inode number */
+ ulong off; /* offset to next entry (from start of directory */
+ ushort len; /* length of entry (in bytes) */
+ uchar type; /* filetype */
+ char name[]; /* filename */
+};
+
+/* types of DirEntry (last byte) */
+#define os·EntryUnknown 0
+#define os·EntryFifo 1
+#define os·EntryChar 2
+#define os·EntryDir 4
+#define os·EntryBlock 6
+#define os·EntryFile 8
+#define os·EntryLink 10
+#define os·EntrySocket 12