Fix mode_t posix definitions (fixes #12119) (#12132)

* fixes #12119
This commit is contained in:
pgkos 2019-09-06 20:15:07 +02:00 • committed by Andreas Rumpf
commit 5a8fddf29b
6 changed files with 37 additions and 26 deletions

View file

@ -95,9 +95,9 @@ const StatHasNanoseconds* = defined(linux) or defined(freebsd) or
# Platform specific stuff
when defined(linux) and defined(amd64):
when (defined(linux) and not defined(android)) and defined(amd64):
include posix_linux_amd64
elif (defined(macosx) or defined(bsd)) and defined(cpu64):
elif (defined(macos) or defined(macosx) or defined(bsd)) and defined(cpu64):
include posix_macos_amd64
elif defined(nintendoswitch):
include posix_nintendoswitch

View file

@ -147,7 +147,7 @@ type
Id* {.importc: "id_t", header: "<sys/types.h>".} = cuint
Ino* {.importc: "ino_t", header: "<sys/types.h>".} = culong
Key* {.importc: "key_t", header: "<sys/types.h>".} = cint
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = cint # cuint really!
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = uint32
Nlink* {.importc: "nlink_t", header: "<sys/types.h>".} = culong
Off* {.importc: "off_t", header: "<sys/types.h>".} = clong
Pid* {.importc: "pid_t", header: "<sys/types.h>".} = cint

View file

@ -140,7 +140,12 @@ type
Id* {.importc: "id_t", header: "<sys/types.h>".} = int
Ino* {.importc: "ino_t", header: "<sys/types.h>".} = int
Key* {.importc: "key_t", header: "<sys/types.h>".} = int
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = int16
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = (
when defined(openbsd) or defined(netbsd):
uint32
else:
uint16
)
Nlink* {.importc: "nlink_t", header: "<sys/types.h>".} = int16
Off* {.importc: "off_t", header: "<sys/types.h>".} = int64
Pid* {.importc: "pid_t", header: "<sys/types.h>".} = int32

View file

@ -123,7 +123,7 @@ type
Id* {.importc: "id_t", header: "<sys/types.h>".} = cuint
Ino* {.importc: "ino_t", header: "<sys/types.h>".} = culong
Key* {.importc: "key_t", header: "<sys/types.h>".} = cint
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = cint # cuint really!
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = uint16
Nlink* {.importc: "nlink_t", header: "<sys/types.h>".} = culong
Off* {.importc: "off_t", header: "<sys/types.h>".} = clong
Pid* {.importc: "pid_t", header: "<sys/types.h>".} = cint

View file

@ -149,7 +149,13 @@ type
Id* {.importc: "id_t", header: "<sys/types.h>".} = int
Ino* {.importc: "ino_t", header: "<sys/types.h>".} = int
Key* {.importc: "key_t", header: "<sys/types.h>".} = int
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = cint
Mode* {.importc: "mode_t", header: "<sys/types.h>".} = (
when defined(android) or defined(macos) or defined(macosx) or
(defined(bsd) and not defined(openbsd) and not defined(netbsd)):
uint16
else:
uint32
)
Nlink* {.importc: "nlink_t", header: "<sys/types.h>".} = int
Off* {.importc: "off_t", header: "<sys/types.h>".} = int64
Pid* {.importc: "pid_t", header: "<sys/types.h>".} = int32