[haiku-commits] BRANCH mmadia-github.separate-build-environment - in headers/build/posix_target/sys: . headers/build/posix_target

  • From: mmadia-github.separate-build-environment <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 8 Aug 2012 19:49:25 +0200 (CEST)

added 3 changesets to branch 
'refs/remotes/mmadia-github/separate-build-environment'
old head: 1019dc62ae1d7e65aa9b2069124c633c0238674a
new head: 873914185dbe4c830d88f3515c2ca64c1ccadaf7

----------------------------------------------------------------------------

61b2d0c: Added sys/target_stat.h

9c46194: Prefix references to the function name _compare_function().

8739141: Add missing closing parentheses.

                                        [ Matt Madia <mattmadia@xxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 232 insertions(+), 4 deletions(-)
headers/build/posix_target/sys/target_stat.h |  224 ++++++++++++++++++++++
headers/build/posix_target/target_stdlib.h   |   12 +-

############################################################################

Commit:      61b2d0c354b2568cbb67a17894618275feccccac

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Wed Aug  8 13:08:49 2012 UTC

Added sys/target_stat.h

----------------------------------------------------------------------------

diff --git a/headers/build/posix_target/sys/target_stat.h 
b/headers/build/posix_target/sys/target_stat.h
new file mode 100644
index 0000000..56768cf
--- /dev/null
+++ b/headers/build/posix_target/sys/target_stat.h
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2002-2012 Haiku, Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _SYS_STAT_H_
+#define _SYS_STAT_H_
+
+
+#include <sys/target_types.h>
+#include <target_time.h>
+
+
+struct stat {
+       _haiku_build_dev_t                      st_dev;                 /* 
device ID that this file resides on */
+       _haiku_build_ino_t                      st_ino;                 /* this 
file's serial inode ID */
+       _haiku_build_mode_t                     st_mode;                /* file 
mode (rwx for user, group, etc) */
+       _haiku_build_nlink_t            st_nlink;               /* number of 
hard links to this file */
+       _haiku_build_uid_t                      st_uid;                 /* user 
ID of the owner of this file */
+       _haiku_build_gid_t                      st_gid;                 /* 
group ID of the owner of this file */
+       _haiku_build_off_t                      st_size;                /* size 
in bytes of this file */
+       _haiku_build_dev_t                      st_rdev;                /* 
device type (not used) */
+       _haiku_build_blksize_t          st_blksize;             /* preferred 
block size for I/O */
+       struct _HAIKU_BUILD_IDENTIFIER(timespec)        st_atim;                
/* last access time */
+       struct _HAIKU_BUILD_IDENTIFIER(timespec)        st_mtim;                
/* last modification time */
+       struct _HAIKU_BUILD_IDENTIFIER(timespec)        st_ctim;                
/* last change time, not creation time */
+       struct _HAIKU_BUILD_IDENTIFIER(timespec)        st_crtim;               
/* creation time */
+       __haiku_build_haiku_uint32      st_type;                /* 
attribute/index type */
+       _haiku_build_blkcnt_t           st_blocks;              /* number of 
blocks allocated for object */
+};
+
+/* source compatibility with old stat structure */
+#define _haiku_build_st_atime  st_atim.tv_sec
+#define _haiku_build_st_mtime  st_mtim.tv_sec
+#define _haiku_build_st_ctime  st_ctim.tv_sec
+#define _haiku_build_st_crtime st_crtim.tv_sec
+
+
+/* extended file types */
+#define _HAIKU_BUILD_S_ATTR_DIR                        01000000000     /* 
attribute directory */
+#define _HAIKU_BUILD_S_ATTR                            02000000000     /* 
attribute */
+#define _HAIKU_BUILD_S_INDEX_DIR               04000000000     /* index (or 
index directory) */
+#define _HAIKU_BUILD_S_STR_INDEX               00100000000     /* string index 
*/
+#define _HAIKU_BUILD_S_INT_INDEX               00200000000     /* int32 index 
*/
+#define _HAIKU_BUILD_S_UINT_INDEX              00400000000     /* uint32 index 
*/
+#define _HAIKU_BUILD_S_LONG_LONG_INDEX 00010000000     /* int64 index */
+#define _HAIKU_BUILD_S_ULONG_LONG_INDEX        00020000000     /* uint64 index 
*/
+#define _HAIKU_BUILD_S_FLOAT_INDEX             00040000000     /* float index 
*/
+#define _HAIKU_BUILD_S_DOUBLE_INDEX            00001000000     /* double index 
*/
+#define _HAIKU_BUILD_S_ALLOW_DUPS              00002000000     /* allow 
duplicate entries (currently unused) */
+
+/* link types */
+#define _HAIKU_BUILD_S_LINK_SELF_HEALING       00001000000     /* link will be 
updated if you move its target */
+#define _HAIKU_BUILD_S_LINK_AUTO_DELETE                00002000000     /* link 
will be deleted if you delete its target */
+
+/* standard file types */
+#define _HAIKU_BUILD_S_IFMT                            00000170000 /* type of 
file */
+#define _HAIKU_BUILD_S_IFSOCK                  00000140000 /* socket */
+#define _HAIKU_BUILD_S_IFLNK                   00000120000 /* symbolic link */
+#define _HAIKU_BUILD_S_IFREG                   00000100000 /* regular */
+#define _HAIKU_BUILD_S_IFBLK                   00000060000 /* block special */
+#define _HAIKU_BUILD_S_IFDIR                   00000040000 /* directory */
+#define _HAIKU_BUILD_S_IFCHR                   00000020000 /* character 
special */
+#define _HAIKU_BUILD_S_IFIFO                   00000010000 /* fifo */
+
+#define _HAIKU_BUILD_S_ISREG(mode)             (((mode) & S_IFMT) == S_IFREG)
+#define _HAIKU_BUILD_S_ISLNK(mode)             (((mode) & S_IFMT) == S_IFLNK)
+#define _HAIKU_BUILD_S_ISBLK(mode)             (((mode) & S_IFMT) == S_IFBLK)
+#define _HAIKU_BUILD_S_ISDIR(mode)             (((mode) & S_IFMT) == S_IFDIR)
+#define _HAIKU_BUILD_S_ISCHR(mode)             (((mode) & S_IFMT) == S_IFCHR)
+#define _HAIKU_BUILD_S_ISFIFO(mode)            (((mode) & S_IFMT) == S_IFIFO)
+#define _HAIKU_BUILD_S_ISSOCK(mode)            (((mode) & S_IFMT) == S_IFSOCK)
+#define _HAIKU_BUILD_S_ISINDEX(mode)   (((mode) & S_INDEX_DIR) == S_INDEX_DIR)
+
+#define _HAIKU_BUILD_S_IUMSK 07777             /* user settable bits */
+
+#define _HAIKU_BUILD_S_ISUID 04000             /* set user id on execution */
+#define _HAIKU_BUILD_S_ISGID 02000             /* set group id on execution */
+
+#define _HAIKU_BUILD_S_ISVTX 01000             /* save swapped text even after 
use (sticky bit) */
+
+#define _HAIKU_BUILD_S_IRWXU 00700             /* read, write, execute: owner 
*/
+#define _HAIKU_BUILD_S_IRUSR 00400             /* read permission: owner */
+#define _HAIKU_BUILD_S_IWUSR 00200             /* write permission: owner */
+#define _HAIKU_BUILD_S_IXUSR 00100             /* execute permission: owner */
+#define _HAIKU_BUILD_S_IRWXG 00070             /* read, write, execute: group 
*/
+#define _HAIKU_BUILD_S_IRGRP 00040             /* read permission: group */
+#define _HAIKU_BUILD_S_IWGRP 00020             /* write permission: group */
+#define _HAIKU_BUILD_S_IXGRP 00010             /* execute permission: group */
+#define _HAIKU_BUILD_S_IRWXO 00007             /* read, write, execute: other 
*/
+#define _HAIKU_BUILD_S_IROTH 00004             /* read permission: other */
+#define _HAIKU_BUILD_S_IWOTH 00002             /* write permission: other */
+#define _HAIKU_BUILD_S_IXOTH 00001             /* execute permission: other */
+
+/* BSD extensions */
+#define _HAIKU_BUILD_S_IREAD           S_IRUSR
+#define _HAIKU_BUILD_S_IWRITE          S_IWUSR
+#define _HAIKU_BUILD_S_IEXEC           S_IXUSR
+
+#define _HAIKU_BUILD_ACCESSPERMS       (S_IRWXU | S_IRWXG | S_IRWXO)
+#define _HAIKU_BUILD_ALLPERMS          (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU 
| S_IRWXG | S_IRWXO)
+#define        _HAIKU_BUILD_DEFFILEMODE        (S_IRUSR | S_IWUSR | S_IRGRP | 
S_IWGRP | S_IROTH | S_IWOTH)
+       /* default file mode, everyone can read/write */
+
+/* special values for _HAIKU_BUILD_IDENTIFIER(timespec)::tv_nsec passed to 
utimensat(), futimens() */
+#define _HAIKU_BUILD_UTIME_NOW         1000000000
+#define _HAIKU_BUILD_UTIME_OMIT                1000000001
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_HAIKU_BUILD_DECLARE_FUNCTION(int, chmod,
+       (const char *path, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, fchmod, (int fd, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, fchmodat,
+       (int fd, const char *path, _haiku_build_mode_t mode, int flag))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, stat, (const char *path, struct stat *st))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, fstat, (int fd, struct stat *st))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, lstat, (const char *path, struct stat *st))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, fstatat,
+       (int fd, const char *path, struct stat *st, int flag))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, mkdir,
+       (const char *path, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, mkdirat,
+       (int fd, const char *path, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, mkfifo,
+       (const char *path, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, mkfifoat,
+       (int fd, const char *path, _haiku_build_mode_t mode))
+_HAIKU_BUILD_DECLARE_FUNCTION(_haiku_build_mode_t, umask,
+       (_haiku_build_mode_t cmask))
+
+_HAIKU_BUILD_DECLARE_FUNCTION(int, utimensat, (int fd, const char *path,
+       const struct _HAIKU_BUILD_IDENTIFIER(timespec) times[2], int flag))
+_HAIKU_BUILD_DECLARE_FUNCTION(int, futimens,
+       (int fd, const struct _HAIKU_BUILD_IDENTIFIER(timespec) times[2]))
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#ifndef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER
+/* source compatibility with old stat structure */
+#      define st_atime         _haiku_build_st_atime
+#      define st_mtime         _haiku_build_st_mtime
+#      define st_ctime         _haiku_build_st_ctime
+#      define st_crtime        _haiku_build_st_crtime
+
+
+/* extended file types */
+#      define S_ATTR_DIR                       _HAIKU_BUILD_S_ATTR_DIR /* 
attribute directory */
+#      define S_ATTR                           _HAIKU_BUILD_S_ATTR     /* 
attribute */
+#      define S_INDEX_DIR                      _HAIKU_BUILD_S_INDEX_DIR        
/* index (or index directory) */
+#      define S_STR_INDEX                      _HAIKU_BUILD_S_STR_INDEX        
/* string index */
+#      define S_INT_INDEX                      _HAIKU_BUILD_S_INT_INDEX        
/* int32 index */
+#      define S_UINT_INDEX                     _HAIKU_BUILD_S_UINT_INDEX       
/* uint32 index */
+#      define S_LONG_LONG_INDEX        _HAIKU_BUILD_S_LONG_LONG_INDEX  /* 
int64 index */
+#      define S_ULONG_LONG_INDEX       _HAIKU_BUILD_S_ULONG_LONG_INDEX /* 
uint64 index */
+#      define S_FLOAT_INDEX            _HAIKU_BUILD_S_FLOAT_INDEX      /* 
float index */
+#      define S_DOUBLE_INDEX           _HAIKU_BUILD_S_DOUBLE_INDEX     /* 
double index */
+#      define S_ALLOW_DUPS                     _HAIKU_BUILD_S_ALLOW_DUPS       
/* allow duplicate entries (currently unused) */
+
+/* link types */
+#      define  S_LINK_SELF_HEALING     _HAIKU_BUILD_S_LINK_SELF_HEALING        
/* link will be updated if you move its target */
+#      define S_LINK_AUTO_DELETE       _HAIKU_BUILD_S_LINK_AUTO_DELETE /* link 
will be deleted if you delete its target */
+
+/* standard file types */
+#      define S_IFMT                           _HAIKU_BUILD_S_IFMT /* type of 
file */
+#      define  S_IFSOCK                        _HAIKU_BUILD_S_IFSOCK /* socket 
*/
+#      define  S_IFLNK                         _HAIKU_BUILD_S_IFLNK /* 
symbolic link */
+#      define S_IFREG                          _HAIKU_BUILD_S_IFREG /* regular 
*/
+#      define S_IFBLK                          _HAIKU_BUILD_S_IFBLK /* block 
special */
+#      define S_IFDIR                          _HAIKU_BUILD_S_IFDIR /* 
directory */
+#      define S_IFCHR                          _HAIKU_BUILD_S_IFCHR /* 
character special */
+#      define S_IFIFO                          _HAIKU_BUILD_S_IFIFO /* fifo */
+
+#      define S_ISREG(mode)            _HAIKU_BUILD_S_ISREG(mode)
+#      define S_ISLNK(mode)            _HAIKU_BUILD_S_ISLNK(mode)
+#      define S_ISBLK(mode)            _HAIKU_BUILD_S_ISBLK(mode)
+#      define S_ISDIR(mode)            _HAIKU_BUILD_S_ISDIR(mode)
+#      define S_ISCHR(mode)            _HAIKU_BUILD_S_ISCHR(mode)
+#      define S_ISFIFO(mode)           _HAIKU_BUILD_S_ISFIFO(mode)
+#      define S_ISSOCK(mode)           _HAIKU_BUILD_S_ISSOCK(mode)
+#      define S_ISINDEX(mode)          _HAIKU_BUILD_S_ISINDEX(mode)
+
+#      define  S_IUMSK                         _HAIKU_BUILD_S_IUMSK            
/* user settable bits */
+
+#      define S_ISUID          _HAIKU_BUILD_S_ISUID    /* set user id on 
execution */
+#      define S_ISGID          _HAIKU_BUILD_S_ISGID    /* set group id on 
execution */
+
+#      define S_ISVTX          _HAIKU_BUILD_S_ISVTX    /* save swapped text 
even after use (sticky bit) */
+
+#      define S_IRWXU          _HAIKU_BUILD_S_IRWXU    /* read, write, 
execute: owner */
+#      define S_IRUSR          _HAIKU_BUILD_S_IRUSR    /* read permission: 
owner */
+#      define S_IWUSR          _HAIKU_BUILD_S_IWUSR    /* write permission: 
owner */
+#      define S_IXUSR          _HAIKU_BUILD_S_IXUSR    /* execute permission: 
owner */
+#      define S_IRWXG          _HAIKU_BUILD_S_IRWXG    /* read, write, 
execute: group */
+#      define S_IRGRP          _HAIKU_BUILD_S_IRGRP    /* read permission: 
group */
+#      define S_IWGRP          _HAIKU_BUILD_S_IWGRP    /* write permission: 
group */
+#      define S_IXGRP          _HAIKU_BUILD_S_IXGRP    /* execute permission: 
group */
+#      define S_IRWXO          _HAIKU_BUILD_S_IRWXO    /* read, write, 
execute: other */
+#      define S_IROTH          _HAIKU_BUILD_S_IROTH    /* read permission: 
other */
+#      define S_IWOTH          _HAIKU_BUILD_S_IWOTH    /* write permission: 
other */
+#      define S_IXOTH          _HAIKU_BUILD_S_IXOTH    /* execute permission: 
other */
+
+/* BSD extensions */
+#      define S_IREAD                          _HAIKU_BUILD_S_IREAD
+#      define S_IWRITE                         _HAIKU_BUILD_S_IWRITE
+#      define S_IEXEC                          _HAIKU_BUILD_S_IEXEC
+
+#      define ACCESSPERMS                      _HAIKU_BUILD_ACCESSPERMS
+#      define ALLPERMS                         _HAIKU_BUILD_ALLPERMS
+#      define  DEFFILEMODE                     _HAIKU_BUILD_DEFFILEMODE
+       /* default file mode, everyone can read/write */
+
+/* special values for timespec::tv_nsec passed to utimensat(), futimens() */
+#      define UTIME_NOW                        _HAIKU_BUILD_UTIME_NOW
+#      define UTIME_OMIT                       _HAIKU_BUILD_UTIME_OMIT
+
+#endif /* _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER */
+
+
+#endif /* _SYS_STAT_H_ */

############################################################################

Commit:      9c461941eb144c9e24d190c3c726f155eacff7f0

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Wed Aug  8 13:16:20 2012 UTC

Prefix references to the function name _compare_function().

----------------------------------------------------------------------------

diff --git a/headers/build/posix_target/target_stdlib.h 
b/headers/build/posix_target/target_stdlib.h
index 0a5eaa5..590d99b 100644
--- a/headers/build/posix_target/target_stdlib.h
+++ b/headers/build/posix_target/target_stdlib.h
@@ -173,16 +173,20 @@ _HAIKU_BUILD_DECLARE_FUNCTION(int*, _compare_function,
 
 _HAIKU_BUILD_DECLARE_FUNCTION(void*, bsearch, (const void *key,
        const void *base, _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
-               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement, 
_compare_function))
+               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
+                       _haiku_build__compare_function
 _HAIKU_BUILD_DECLARE_FUNCTION(int, heapsort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
-               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement, 
_compare_function))
+               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
+                       _haiku_build__compare_function
 _HAIKU_BUILD_DECLARE_FUNCTION(int, mergesort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
-               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement, 
_compare_function))
+               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
+                       _haiku_build__compare_function
 _HAIKU_BUILD_DECLARE_FUNCTION(void, qsort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
-               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement, 
_compare_function))
+               _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
+                       _haiku_build__compare_function
 _HAIKU_BUILD_DECLARE_FUNCTION(int, radixsort,
        (_haiku_build_u_char const **base, int numElements,
                _haiku_build_u_char const *table, _haiku_build_u_int endByte))

############################################################################

Commit:      873914185dbe4c830d88f3515c2ca64c1ccadaf7

Author:      Matt Madia <mattmadia@xxxxxxxxx>
Date:        Wed Aug  8 13:19:00 2012 UTC

Add missing closing parentheses.

----------------------------------------------------------------------------

diff --git a/headers/build/posix_target/target_stdlib.h 
b/headers/build/posix_target/target_stdlib.h
index 590d99b..2d3eae5 100644
--- a/headers/build/posix_target/target_stdlib.h
+++ b/headers/build/posix_target/target_stdlib.h
@@ -174,19 +174,19 @@ _HAIKU_BUILD_DECLARE_FUNCTION(int*, _compare_function,
 _HAIKU_BUILD_DECLARE_FUNCTION(void*, bsearch, (const void *key,
        const void *base, _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
                _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
-                       _haiku_build__compare_function
+                       _haiku_build__compare_function))
 _HAIKU_BUILD_DECLARE_FUNCTION(int, heapsort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
                _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
-                       _haiku_build__compare_function
+                       _haiku_build__compare_function))
 _HAIKU_BUILD_DECLARE_FUNCTION(int, mergesort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
                _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
-                       _haiku_build__compare_function
+                       _haiku_build__compare_function))
 _HAIKU_BUILD_DECLARE_FUNCTION(void, qsort, (void *base,
        _HAIKU_BUILD_FEATURE___SIZE_TYPE__ numElements,
                _HAIKU_BUILD_FEATURE___SIZE_TYPE__ sizeOfElement,
-                       _haiku_build__compare_function
+                       _haiku_build__compare_function))
 _HAIKU_BUILD_DECLARE_FUNCTION(int, radixsort,
        (_haiku_build_u_char const **base, int numElements,
                _haiku_build_u_char const *table, _haiku_build_u_int endByte))


Other related posts:

  • » [haiku-commits] BRANCH mmadia-github.separate-build-environment - in headers/build/posix_target/sys: . headers/build/posix_target - mmadia-github . separate-build-environment