mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 23:28:48 +00:00
Add POSIX Linux support for net_if and netdb.
This commit is contained in:
@@ -44,7 +44,7 @@ foreign lib {
|
|||||||
if_freenameindex :: proc(ptr: ^if_nameindex_t) ---
|
if_freenameindex :: proc(ptr: ^if_nameindex_t) ---
|
||||||
}
|
}
|
||||||
|
|
||||||
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD {
|
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD || ODIN_OS == .Linux {
|
||||||
|
|
||||||
// NOTE: `_t` suffix added due to name conflict.
|
// NOTE: `_t` suffix added due to name conflict.
|
||||||
|
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ Info_Errno :: enum c.int {
|
|||||||
OVERFLOW = EAI_OVERFLOW,
|
OVERFLOW = EAI_OVERFLOW,
|
||||||
}
|
}
|
||||||
|
|
||||||
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD {
|
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD || ODIN_OS == .OpenBSD {
|
||||||
|
|
||||||
hostent :: struct {
|
hostent :: struct {
|
||||||
h_name: cstring, /* [PSX] official name of host */
|
h_name: cstring, /* [PSX] official name of host */
|
||||||
@@ -412,9 +412,28 @@ when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS
|
|||||||
NI_NUMERICSERV :: 2
|
NI_NUMERICSERV :: 2
|
||||||
NI_NUMERICSCOPE :: 32
|
NI_NUMERICSCOPE :: 32
|
||||||
NI_DGRAM :: 16
|
NI_DGRAM :: 16
|
||||||
|
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
|
||||||
|
AI_PASSIVE :: 0x001
|
||||||
|
AI_CANONNAME :: 0x002
|
||||||
|
AI_NUMERICHOST :: 0x004
|
||||||
|
AI_NUMERICSERV :: 0x400
|
||||||
|
AI_V4MAPPED :: 0x008
|
||||||
|
AI_ALL :: 0x010
|
||||||
|
AI_ADDRCONFIG :: 0x020
|
||||||
|
|
||||||
|
NI_NOFQDN :: 4
|
||||||
|
NI_NUMERICHOST :: 1
|
||||||
|
NI_NAMEREQD :: 8
|
||||||
|
NI_NUMERICSERV :: 2
|
||||||
|
NI_NUMERICSCOPE :: 0 // NOTE: not implemented
|
||||||
|
NI_DGRAM :: 16
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
when ODIN_OS == .OpenBSD {
|
when ODIN_OS == .OpenBSD {
|
||||||
|
|
||||||
EAI_AGAIN :: -3
|
EAI_AGAIN :: -3
|
||||||
EAI_BADFLAGS :: -1
|
EAI_BADFLAGS :: -1
|
||||||
EAI_FAIL :: -4
|
EAI_FAIL :: -4
|
||||||
@@ -425,7 +444,22 @@ when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS
|
|||||||
EAI_SOCKTYPE :: -7
|
EAI_SOCKTYPE :: -7
|
||||||
EAI_SYSTEM :: -11
|
EAI_SYSTEM :: -11
|
||||||
EAI_OVERFLOW :: -14
|
EAI_OVERFLOW :: -14
|
||||||
|
|
||||||
|
} else when ODIN_OS == .Linux {
|
||||||
|
|
||||||
|
EAI_AGAIN :: -3
|
||||||
|
EAI_BADFLAGS :: -1
|
||||||
|
EAI_FAIL :: -4
|
||||||
|
EAI_FAMILY :: -6
|
||||||
|
EAI_MEMORY :: -10
|
||||||
|
EAI_NONAME :: -2
|
||||||
|
EAI_SERVICE :: -8
|
||||||
|
EAI_SOCKTYPE :: -7
|
||||||
|
EAI_SYSTEM :: -11
|
||||||
|
EAI_OVERFLOW :: -12
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
EAI_AGAIN :: 2
|
EAI_AGAIN :: 2
|
||||||
EAI_BADFLAGS :: 3
|
EAI_BADFLAGS :: 3
|
||||||
EAI_FAIL :: 4
|
EAI_FAIL :: 4
|
||||||
@@ -438,6 +472,6 @@ when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS
|
|||||||
EAI_OVERFLOW :: 14
|
EAI_OVERFLOW :: 14
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
} else {
|
||||||
#panic("posix is unimplemented for the current target")
|
#panic("posix is unimplemented for the current target")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user