Browse Source

* updated/corrected TIPC_Perm record for Darwin 64 bit platforms (patch by
Werner Bochtler, mantis #32520)

git-svn-id: trunk@37888 -

Jonas Maebe 7 years ago
parent
commit
d448349330
1 changed files with 14 additions and 2 deletions
  1. 14 2
      packages/rtl-extra/src/unix/ipc.pp

+ 14 - 2
packages/rtl-extra/src/unix/ipc.pp

@@ -118,8 +118,19 @@ type
   End;
   End;
 {$elseif defined(darwin) }
 {$elseif defined(darwin) }
 {$packrecords 4}
 {$packrecords 4}
-{ This is also the strcut for FreeBSD up to version 7
-  renamed ipc_perm_old in /usr/include/sys/ipc.h in version 8 and after }
+  {$ifdef cpu64}
+    TIPC_Perm = record
+          cuid  : uid_t;    { creator user id }
+          cgid  : gid_t;    { creator group id }
+          uid   : uid_t;    { user id }
+          gid   : gid_t;    { group id }
+          mode  : mode_t;   { r/w permission }
+          seq   : cushort;  { sequence # (to generate unique msg/sem/shm id) }
+          key   : key_t;    { user specified msg/sem/shm key }
+    End;
+  {$else}
+    { This is also the struct for FreeBSD up to version 7
+      renamed ipc_perm_old in /usr/include/sys/ipc.h in version 8 and after }
   TIPC_Perm = record
   TIPC_Perm = record
         cuid  : cushort;  { creator user id }
         cuid  : cushort;  { creator user id }
         cgid  : cushort;  { creator group id }
         cgid  : cushort;  { creator group id }
@@ -129,6 +140,7 @@ type
         seq   : cushort;  { sequence # (to generate unique msg/sem/shm id) }
         seq   : cushort;  { sequence # (to generate unique msg/sem/shm id) }
         key   : key_t;    { user specified msg/sem/shm key }
         key   : key_t;    { user specified msg/sem/shm key }
   End;
   End;
+  {$endif}
 {$packrecords c}
 {$packrecords c}
 {$elseif defined(NetBSD) or defined(OpenBSD) or defined(FreeBSD) or defined(dragonfly)}
 {$elseif defined(NetBSD) or defined(OpenBSD) or defined(FreeBSD) or defined(dragonfly)}
   TIPC_Perm = record
   TIPC_Perm = record