Commit Graph

590 Commits

Author SHA1 Message Date
Rene Gollent 8154643efe Updated AI_* flags to match up with our implementation. Should fix #3945.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-26 17:50:14 +00:00
Ingo Weinhold ea021b94d8 * Moved phys_addr_t definition to SupportDefs.h.
* Added phys_size_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-25 11:18:38 +00:00
Ingo Weinhold d34daac82a * config/{HaikuConfig.h,types.h}:
- Added macro __HAIKU_ARCH_BITS specifying the architecture bitness (32/64)
    (might be more convenient to use than __HAIKU_ARCH_{32,64}_BIT).
  - Added macros __HAIKU_ARCH_PHYSICAL_BITS, __HAIKU_ARCH_PHYSICAL_{32,64}_BIT,
    and the types __haiku_phys_[s]addr_t. The intention is to use separate
    macros and types for virtual and physical addresses, since for some
    architectures (e.g. x86 with PAE) those actually differ.
* sys/types.h, BeBuild.h, SupportDefs.h:
  - Added types phys_[s]addr_t and respective printf() format macros.
  - Added public macros B_HAIKU_BITS, B_HAIKU_PHYSICAL_BITS,
    B_HAIKU_PHYSICAL_{32,64}_BIT.

Might break the build under older Haiku installations. Will test next.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 19:55:38 +00:00
Ingo Weinhold 97901ec593 Patch by Nathan Mentley:
* Added a few header files in headers/posix/arch that'll allow for an x86_64
  haiku target to be compiled. fenv.h is src/lib/msun/amd64/fenv.h from
  freebsd.
* configure: Added support for x86_64 arch when running
  build_cross_tools_gcc4.
* config[_build]/HaikuConfig.h, BuildSetup: Added x86_64 recognition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-11 19:40:06 +00:00
Ingo Weinhold ef1716f81b Patch by Lucian Adrian Grijincu: Added pthread spinlock support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-17 19:38:01 +00:00
Ingo Weinhold f71274580b * Private libroot locking primitives:
- Reimplemented mutex to use the _kern_mutex*() syscalls.
  - The initializer functions cannot fail anymore -- changed their return type
    to void.
  - Changed the initializer function semantics to not copy the name by default
    anymore (as in the kernel). Also added *_etc() versions of them that take an
    additional flags.
  - Added static initializer macros.
  - Made the mutex (and thus recursive_lock) lock functions non-interruptable.
  - Got rid of the "lazy" version. They are no longer needed, since the
    initialization of the standard types can be done statically and cannot fail.
* Adjusted libroot, runtime loader, and other code using the private libroot
  locking primitives to the new semantics.
* pthreads mutexes and condition variables:
  - Reimplemented using the _kern_mutex*() syscalls.
  - Consistently use POSIX error codes.
  - Fixed some not quite POSIX compliant behavior.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 21:52:49 +00:00
Jérôme Duval 1590c69933 * added forkpty() and login_tty() to bsd compatibility, a test for forkpty().
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 13:48:28 +00:00
Ingo Weinhold 078dbb2d0e Defined more sysconf() and _POSIX_* constants required by POSIX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-07 18:52:25 +00:00
Ingo Weinhold 02e6d76c9c Replaced enums by macros as required by POSIX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-05 17:05:25 +00:00
Axel Dörfler 3d019c5f63 * Added missing IPv6 defines based on a patch by Andreas Färber in bug #5608.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-22 23:25:29 +00:00
Michael Lotz ac653a30df Add heap_debug_set_debugger_calls() which allows to disable debugger calls for
the heap debug panics. Instead syslog output is generated if turned off.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 21:35:07 +00:00
Michael Lotz c1502cf1b8 Add heap_debug_get_allocation_info() to retrieve the size of the allocation as
well as the thread allocating it. Can for example be used to verify that an
object or buffer is as large as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 20:57:52 +00:00
Michael Lotz 081ff2db28 * Add heap_debug_set_memory_reuse() which allows to disable memory reuse,
keeping all returned heap memory in the 0xdeadbeef state (including the
  first sizeof(void *) bytes otherwise for the free list). While wasting a lot
  of memory it allows you to rely on 0xdeadbeef being always present as no
  future allocation will reuse the freed memory block.
* Also added heap_debug_malloc_with_guard_page() which is intended to allocate
  a memory block so it is aligned that the start of invalid memory past the
  allocation is in an unmapped guard page. However the kernel backend that would
  guarantee this is not yet implemented, so right now this works only by chance
  if no other area happens to be allocated exactly past the created one. With a
  very specifc suspicion you can put that one allocation you get to good use
  though. It causes a crash when accessing memory past the allocation size so
  you actually get a backtrace from where the access happened instead of only
  after freeing/wall checking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 20:28:15 +00:00
Artur Wyszynski 38ecc1a764 Added FreeBSD fenv implementation - tested with dmd port, seems that it works
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-09 06:09:28 +00:00
Michael Lotz f6a6245c89 * Adding malloc_debug.h that exposes the malloc_debug API.
* Moving some functions around, removing and adding others for the public API.

I've written a blog post at haiku-os.org to go as documentation for this
introducing the API and the other helpful bits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-08 01:27:21 +00:00
Axel Dörfler a28ad48075 * Added _SIZEOF_ADDR_IFREQ() macro as existing on FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-04 20:40:35 +00:00
Axel Dörfler e054bfbf08 * Added missing IPv6 defines and in6addr_any, in6addr_loopback exports.
* This should get most IPv6 applications to link (they just can't open IPv6
  sockets yet, as the protocol is missing).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-28 09:55:41 +00:00
Stephan Aßmus 7f2f2fa041 Remove the ucontext.h header again, until the whole SA_SIGINFO backend is
implemented fully in order not to fool ported software into believing this
API can be used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 23:16:06 +00:00
Stephan Aßmus 1518a682f9 Patch by Andreas Faerber: Adding ucontext.h POSIX header. mcontext_h can be
typedef'd to the existing vregs type. Applies #5324. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 18:06:50 +00:00
Jérôme Duval 66204ee8cf forgot to add prototypes for pthread_getschedparam and pthread_setschedparam(), sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-16 19:33:34 +00:00
Axel Dörfler d9c5ba808b * Added missing HOST_NAME_MAX, and _POSIX_HOST_NAME_MAX.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-14 15:23:28 +00:00
Axel Dörfler 4e8123ba98 * Accidently moved the fdopendir() prototype around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-01 18:52:09 +00:00
Axel Dörfler 31e49a2f1d * Implemented missing alphasort(), and scandir() POSIX functions. Completely
untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-01 18:49:55 +00:00
Colin Günther cfcee452a4 Whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 16:53:28 +00:00
Jérôme Duval fe69204315 added more missing prototypes in math.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-13 16:35:25 +00:00
Jérôme Duval 0270440a97 added missing prototypes for fmin, fma, fmax functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-13 16:22:56 +00:00
Colin Günther 281f1ab86c Choosing an even number for SIOCEND as suggested by François. Thank you.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 20:51:26 +00:00
Colin Günther b56f3c65ff Add two more socket ioctl's as they are needed by the aironet (if_an.c) and
wavelan (if_wi.c) drivers I'm currently porting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 15:46:37 +00:00
Colin Günther ccc02f719a * Moved socket ioctls from FreeBSD compat layer into the corresponding Haiku
header. This shall ensure uniqueness of the ioctls.
* Added a special SIOCEND define to Haiku's sockio.h, so that drivers can define
  private ioctls as can be seen in src/add-ons/kernel/drivers/network/wlan/atheros/dev/ath/if_athioctl.h.
* Modified ioccom.h of the FreeBSD compat layer, to make use of the special
  SIOCEND define.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 11:11:03 +00:00
Axel Dörfler 486fffdaaf * Forgot to add linkat(), this really closes #4928 now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 16:30:16 +00:00
Axel Dörfler fb2500da15 * Added missing AT_EACCESS.
* Implemented renameat(), faccessat(), fchownat(), fchmodat(), and mkfifoat().
* Added stub for mknodat().
* The kernel backend for faccessat() does not yet differentiate between
  effective and real user/group IDs, though.
* Removed B_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT, as we now support everything
  (more or less). This also closes ticket #4928.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 16:17:17 +00:00
Axel Dörfler aec945c959 * Removed the O_* modes that we currently don't and probably won't support
(O_MOUNT, O_EXLOCK, and O_SHLOCK). I only left the non-standard O_TEMPORARY
  for the time being (as it shouldn't fool anyone).
* Fixed libutil that already used O_EXLOCK, even though it did not do anything.
* Moved O_NOCACHE, and O_NOFOLLOW to the section with implemented modes.
* Added O_DIRECTORY.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 14:17:46 +00:00
Ingo Weinhold 2222d0559d * Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
  abstraction by defining types and macros that allow the posix/ and os/
  headers to be mostly architecture/compiler agnostic. 
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
  and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
  types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
  macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
  unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
  defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 19:44:07 +00:00
Jérôme Duval b7b67e723a correctly ordered
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 15:26:19 +00:00
Jérôme Duval 8684e35ad7 added wcsdup to wchar.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 08:39:38 +00:00
Jérôme Duval ce80623dff added some definitions in termios.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-12 23:49:58 +00:00
Ingo Weinhold 6c00aabc9e Implemented POSIX.1-2008 functions unlinkat(), symlinkat(), mkdirat(),
utimensat(), and futimens().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-12 19:14:42 +00:00
Axel Dörfler e629da4a47 * Changed parameter back to socklen_t (which follows POSIX, but not RFC 2553;
obviously POSIX got it wrong, as socklen_t hardly makes sense here).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 17:03:34 +00:00
Axel Dörfler 119371a51e * Rewrote arpa/inet.h header, also dropping the __inet* defines.
* Resurrected the __inet* prefix for binary compatibility with older Haiku
  versions - this could be a temporary solution in case we want to export the
  inet_* functions not just as weak symbols. In that case, the __inet* versions
  would be dropped.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 14:28:18 +00:00
Axel Dörfler 338cf53758 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 14:26:11 +00:00
Ingo Weinhold db2b554fa3 Moved the POSIX *at() functions and AT_* macros out of the default namespace
as long as the full set hasn't been implemented. They are guarded by the
B_ENABLE_INCOMPLETE_POSIX_AT_SUPPORT macro until then. Fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 17:12:03 +00:00
Axel Dörfler b299a6e9d3 * Moved resolv.conf to /boot/common/settings/network/.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 16:42:03 +00:00
Ingo Weinhold a6147679a3 Added AT_SYMLINK_[NO]FOLLOW constants and fstatat(). Fixes the findutils
gnulib build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:51:25 +00:00
Ingo Weinhold b189a2014e Added readlinkat().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 11:24:46 +00:00
Ingo Weinhold 098906f1d4 * src/system/libroot/posix: Moved open.c and fcntl.c out of the unistd
directory, where they were misplaced, and joined them to fcntl.cpp.
* Added openat().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 11:15:35 +00:00
Axel Dörfler d6ac23c010 * Moved the location of the "hosts" file to
B_COMMON_SETTINGS_DIRECTORY/network/hosts.
* Moved the location of the "services" file to
  B_COMMON_DATA_DIRECTORY/network/services.
* Removed headers I forgot to remove.
* Made getnameinfo() use socklen_t internally as well.
* Removed _PATH_* constants from netdb.h that we don't deliver anymore.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 10:13:19 +00:00
Axel Dörfler 4bd3cce627 * Ported libbind-6.0 to Haiku, and into our libnetwork.so.
* Got rid of the TLS/multi-thread hacks of the previous port.
* Took over irs/lcl_sv.cpp, and irs/lcl_ho.c, and irs/lcl_pr.c from the previous
  version as they contain customizations.
* Removed unused files from libbind.
* Only barely tested, so beware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 22:18:34 +00:00
Axel Dörfler c73ea8216d * Removed superfluous wcstoul() version pointed out by Scott.
* Removed superfluous "int" before wcstol().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 08:43:32 +00:00
Ingo Weinhold d0b21f13dd Removed obsolete comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 08:20:00 +00:00
Jérôme Duval 15f18c0947 added missing posix functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-03 20:04:10 +00:00
Oliver Tappe 3c9dcb418e * corrected tab/space confusion of my last change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-02 19:23:18 +00:00
Oliver Tappe 7e0d60f5b7 adding POSIX-functions llround*(), which Maxime reported missing
* copied implementations for llround(), llroundf() and llroundl() from
  glibc-2.3.2
* added corresponding declarations to math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-02 19:13:15 +00:00
Axel Dörfler 954da749a5 * Added SCHED_SPORADIC, and sorted the constants the way it's done in the specs.
* Also changed their numbering.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 13:10:17 +00:00
Axel Dörfler d88b4037b0 * Reduce maximum priority to B_URGENT_DISPLAY_PRIORITY; real time threads isn't
really something to play with without knowing the outcome.
* Fixed indentation/coding style violations introduced with r33783. Please take
  more care when accepting patches!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-27 12:34:27 +00:00
Jérôme Duval f386c5910b Patch from Michael Franz (ticket #4696): sched.h and pthreads to allow setting of the thread priority
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-26 22:56:43 +00:00
Jérôme Duval 505a5551a4 added SOCK_SEQPACKET
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-24 01:01:17 +00:00
Oliver Tappe 571d840abf * dropped svn:keywords property from all files that carried it
to avoid recurring problems during migration of subversion checkouts
  (restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property 
* dropped svn:eol-style property for cleanup (they all contained 'native')



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 22:42:52 +00:00
Oliver Tappe 41426d9bac * Moved three locale-related headers back into a safe place (where no
software looking for them will find them) as a temporary fix for #4747.
  In the long run, the functions declared in these headers should be
  implemented by means of ICU and then the headers shall be made public again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-13 17:15:49 +00:00
Oliver Tappe 75f1522155 * reintegrated gsoc-locale-kit branch into trunk - there's more
work to do, but it's about time to give this code more exposure.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-18 22:23:34 +00:00
Ingo Weinhold adbf8b25f8 * Added fdopendir() (POSIX).
* Got rid of <dirent_private.h> -- the __DIR structure is private to dirent.c,
  now. The attribute directory, index directory, and query functions use the
  the public POSIX API, so does the kernel module code. Those components were
  not initializing the structure correctly anymore since the introduction of
  telldir()/seekdir().

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-29 20:25:24 +00:00
Axel Dörfler 4693495cf0 * ntohl(), and htonl() should return an uint32_t, so better cast the return
value we get from __swap_int32().
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-24 14:11:09 +00:00
Jonas Sundström 08cd7c0c06 Defining architecture dependent endian constants for arch mipsel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 15:12:13 +00:00
Rene Gollent 2252911973 Add missing definition for wcsstr. This was preventing clucene from building with wide chars enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:16:58 +00:00
Oliver Tappe 31a41b605d Fixing #3460:
* resolved a couple of redundant function declaration in our public headers
* adjusted zipomatic accordingly - everything else built fine

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:45:09 +00:00
Oliver Tappe a64a5357f2 * added missing declarations of all the scanf() variants, as we now provide
those, too. Among other things, this should facilitate making use of wstring
  with gcc4.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:41:10 +00:00
Oliver Tappe 51c5e9f685 fixing #4031:
* added declaration of strtof() to stdlib.h, as we now provide it alongside
  with strtod()

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:33:30 +00:00
Ingo Weinhold 64ccb6b58a Synced the different definitions of BUFSIZ with the internal one. What a mess...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 15:28:33 +00:00
François Revol 9463ff4cb7 [GSoC] [ARM] Patch by Johannes Wischert.
Add ARM defines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 17:19:02 +00:00
Axel Dörfler 0ca5323479 * Changed the enum into defines, so that apps can check whether or not they
exist (as mDNSResponder does, for example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 15:28:49 +00:00
Oliver Tappe f612278f55 * switched back libiconv to a static library and remove all references to
it (headers and library) from the image. The libiconv in our tree is 
  only used internally as a backend for libtextencoding. The real libiconv
  is provided as an optional package.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-08 01:00:22 +00:00
Axel Dörfler 7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Oliver Tappe 510c100a8f * synced wchar.h with POSIX and the implementations provided by our libroot
* added WCHAR_MIN and WCHAR_MAX - already as 32-bit values, since that's
  what wchar_t is going to become, soon (and those values could not have
  been used before, since they were missing)
* this is still work-in-progress though, I need to run more tests to find
  out which of these functions are actually working, too


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 19:48:36 +00:00
Jérôme Duval 59d67522ea added lrint and llrint functions to math.h
added generic implementations for ppc and m68k


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-02 20:24:18 +00:00
Jérôme Duval 7abb735ac6 * Includes termios.h in sys/ioctl.h, for TIOCGWINSZ.
* added watch command, which executes a program periodically, showing output full screen. 
* added watch to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-28 20:16:35 +00:00
Oliver Tappe a8149000f0 * removed three locale-related headers which currently just pretend that
haiku would support any of the declared functions (none of which are
  provided by libroot)
  These will come back once the locale kit has been integrated
  

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 20:46:49 +00:00
Oliver Tappe 440447ec2f closing #3481:
* applied a patch suggested by kaliber that seems to fix the issue for good,
  thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-26 11:21:56 +00:00
Ingo Weinhold bcfe344c53 * Made our struct stat POSIX compliant again -- the time_t fields have been
replaced by timespec fields. Via macros the structure is still source
  compatible with the old one.
* Introduced header <compat/sys/stat.h> that defines the old stat structure
  (as stat_beos) and conversion functions
* Introduced versions for [l,f]stat().
* Added symbol versions for BDirectory::GetStatFor() for sake of binary
  compatibility.
* BStatable::GetStat(): Renamed the old method, changed its parameter to
  stat_beos*, and and made it private. Added a new version (using up a
  reserved vtable slot). It remains source and binary compatible.
* BRefFilter::Filter(): Changed the struct stat* parameter to struct stat_beos*
  for sake of binary compatibility. This breaks source compatibility, though,
  which we can't help, since the class doesn't have reserved vtable slots.
* Fixed several issues with the stat structure change, mostly adjusted uses of
  BRefFilter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-22 15:15:16 +00:00
Jonas Sundström b7b7891476 Adding mipsel arch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 19:05:28 +00:00
Jonas Sundström 41a9e149b7 Adding a few directories for mipsel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 18:30:28 +00:00
Oliver Tappe 723383c0f4 Applied patch by PulkoMandy, adjusted and extended by myself:
* integrating most of the locale kit into the build (and image)
* removed LocaleBuild.h and _IMPEXP_LOCALE since that does not make
  sense for elf (which usually exports all symbols anyway)
* added a couple of locale kit related pseudo targets for convenience
Hey, some of that stuff already seems to work :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 21:56:16 +00:00
Oliver Tappe c3ac87e8fc * Copied imported OpenTracker Locale Kit files from the vendor branch
into their new homes (at least for now, might need some adjustment).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 19:23:59 +00:00
Axel Dörfler a87124634a * Our INADDR_* and IN_CLASS* macros were mostly wrong - they are supposed to
be in host endian order.
* Adapted ipv4 code that automatically finds a netmask to this change.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 19:21:52 +00:00
Stephan Aßmus a6f9e71c98 This should fix ticket #3481 again. It keeps the same semantics as before when
the header is used for compiling with -std=c99 or -std=gnu99 and GCC4, which
has a reverted meaning of "extern inline" (now standard compliant).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-16 09:40:33 +00:00
Ingo Weinhold 3967230d7f Reverted r29471. It breaks building kernel code including this heaader in
debug mode with gcc 2.95.3.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-15 23:45:05 +00:00
Stephan Aßmus 105c63e8cd To avoid problems of reversed meaning of "extern inline" in
GCC 4.3 and above (conforming to the standard when compiled with -std=c99
or -std=gnu99), define the inline functions as "static inline". I've had
another patch that maintains the previous behavior, but as titer pointed
out, we have no code in our repo that overrides the inlined functions
with their own version, and doing so for any other code would be
problematic, since for example Linux libio.h #defines these as macros.
In any case, I don't really know what I am doing, so please correct me
if I did something stupid! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-11 11:21:52 +00:00
Jérôme Duval 2c9d779293 * pthread.h should include sched.h (bug #3516)
* semaphore.h should include fcntl.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-08 13:56:15 +00:00
Ingo Weinhold 9af9826fca Fixed value of _POSIX_VDISABLE. cc_t is unsigned in Haiku. ATM we don't
support _POSIX_VDISABLE at all. It's even questionable whether the value
(unsigned char)-2 is a good choice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-06 12:35:01 +00:00
Ingo Weinhold 8eba0c540f Added O_NDELAY as synonym of O_NONBLOCK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-05 11:07:20 +00:00
Michael Lotz d0a06a0995 Add missing mkdtemp prototype.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-25 17:11:22 +00:00
Axel Dörfler b2cd5c48e7 * Applied Scott's patch to remove the duplicate definitions, thus closing
bug #2237. Thanks!
* Cleaned up the file a bit (removed the _P() and fixed indentation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-19 22:20:28 +00:00
Axel Dörfler 18f27bf19f * Added POSIX function strndup(), closing ticket #3309.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-18 20:27:12 +00:00
Axel Dörfler e38a38aacf * I obviously forgot to commit this: adds siginterrupt() prototype, and
does some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-14 13:52:13 +00:00
Salvatore Benedetto b3e849c2ce * Adding libgen.h as a public header
* Implementing dirname and basename

I removed dirname from glibc/misc and reimplemented in order
to (hopefully) keep thing tidy.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-11 23:38:27 +00:00
Axel Dörfler 0b6361ef3a * Replaced INADDR_ANY, INADDR_BROADCAST, and INADDR_NONE with constants, as
the endian doesn't matter for them. While I consider code that relies on this
  as broken (as they don't follow the standard), it doesn't hurt, anyway; this
  closes ticket #3121.
* Header cleanup, added license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-12 12:36:32 +00:00
Ingo Weinhold 0c85bd054e * Reworked undefined symbol resolution in the runtime loader. Got rid of
the per-root-image breadth-first sorted image array. Instead we have a
  per-image hook function to resolve the symbols. The default function
  uses the sLoadedImages list directly, which is breadth-first sorted
  anyway. There's also a BeOS function for old-style symbol resolution
  and one for add-ons, which lacks a proper implementation yet (just
  uses old-style ATM).
* Made the dl*() functions POSIX compliant:
  - dlopen() does no longer use load_add_on(), but loads the object as a
    library. It also properly supports a NULL name, now -- the previous
    "_APP_" work-around did only work, if this soname was set on the
    program (unlikely for programs using this API).
  - Implemented RTLD_{GLOBAL,LOCAL}.
  - dlsym() looks up symbols properly now, i.e. not just in the given
    image, but breadth-first for an actual image or in load order for
    the global scope. It also supports the not-quite POSIX RTLD_DEFAULT
    and RTLD_NEXT extensions. Our RTLD_NEXT finds more symbols than in
    Linux (also in later dlopen()ed libraries), but that should be fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-08 22:40:56 +00:00
Ingo Weinhold 3a39905b59 Implemented __freading(), __fpurge(), and fpurge().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 13:02:40 +00:00
Axel Dörfler 6e036f0479 * Updated glob.h and its implementation to FreeBSD current (1.10, 1.27),
adapted them to work on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 14:13:30 +00:00
Axel Dörfler e2040be893 * Applied patch by Romain Picard: added support for the GNU extension dladdr(),
thanks!
* This closes ticket #2818.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-24 09:53:48 +00:00
Axel Dörfler 051bb0bb64 * Added a comment to SO_BINDTODEVICE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-15 12:33:59 +00:00
Axel Dörfler 2716cfd3d7 * Threw away the broken stat() vs. _stat() mechanism to allow for more fields
in struct stat.
* Instead, I followed Marcus' great idea and added a compatibility check in
  the runtime loader: now, R5 binaries (also shared libraries) are detected,
  and they get special versions for stat(), fstat(), and lstat() that return
  the smaller stat struct.
* However, I've disabled (in src/system/libroot/posix/sys/stat.c) using the
  larger stat field for now, as this breaks some of our optional packages.
  So until we rebuild them all, this shouldn't be enabled.
* This should now also be used for BeOS compatibility in libnetwork.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-10 22:13:05 +00:00
Axel Dörfler b2ec044cb8 * Added stat::st_blocks field as required by POSIX. This also closes ticket
#2261.
* Made at least BFS report it more or less correctly (the attributes are
  ignored, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-30 14:16:39 +00:00
Stephan Aßmus dc55af6452 Applied patch by Urias McCullough:
* Added stdio_ext.h header with declaration for the only currently implemented
  stdio extensions fsetlocking() and flushlbf() and associated constants. This
  helps compiling some software like gettext and cvs.

NOTE: I have not tested this myself, but trust the review done by Andreas
and Scott.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-30 10:04:22 +00:00
Jérôme Duval 53e8a878e6 isnan and isfinite are macros
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-11 22:45:17 +00:00
Jérôme Duval 645fa87a21 added lsearch and lfind
remove unknown infnanf and strtcopy functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-11 22:27:55 +00:00
Salvatore Benedetto f22e1421a4 * Adding sys/msg.h header and relative syscalls
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-11 14:52:35 +00:00
Jérôme Duval ab2b993da9 added nexttoward()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-06 15:00:33 +00:00
Jérôme Duval bb97148298 added more posix functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-06 14:31:28 +00:00
Jérôme Duval 2eb280d3a8 added a few more math functions, rearranged some functions in math.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-05 23:21:33 +00:00
Jérôme Duval 9c91170f95 added fpclassifyl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-01 19:37:23 +00:00
Salvatore Benedetto 29fd670a1b * Updated license
* Removed extraneous tabs
* Implemented lldiv (#2688)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-31 10:40:58 +00:00
Marcus Overhagen 1d19f96fff Removed my Copyright notice, assign future copyright to Haiku Inc, in contribution to ticket #2191
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-19 19:28:41 +00:00
Axel Dörfler 6dc27eba0c * As requested by POSIX, we now have PTHREAD_STACK_MIN, and PTHREAD_KEYS_MAX
defined in limits.h.
* This closes ticket #2559.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-15 15:00:26 +00:00
Salvatore Benedetto 461106374f * Fix year in license
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 17:02:34 +00:00
Salvatore Benedetto 4093d16d51 * updating license
* use _{BEGIN|END}_DECL macro instead of ifdef C++



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 16:29:51 +00:00
Ingo Weinhold a9d7be0708 * Implemented mprotect(). A vm_area does now have an optional array
specifying the protection of each page (4 bits per page).
* Added no-op implementation of posix_madvise().
* Replaced a few "addr_t size" parameters by "size_t size".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-08 01:00:06 +00:00
Salvatore Benedetto b3ae704659 * fix year in copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 10:59:35 +00:00
Salvatore Benedetto 40353b088c * Updating license
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-07 08:14:09 +00:00
Axel Dörfler f8009f7ba4 * Applied patch by kaliber: those headers weren't self-containing.
* This closes bug #2346.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-06 10:01:53 +00:00
Axel Dörfler 8169e6b4e6 * Patch by Andreas that adds sched.h, and sched_yield() to Haiku.
* This closes ticket #2568.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-05 17:54:14 +00:00
Axel Dörfler 6449b66e22 * As pointed out by Andreas, the previous patch wasn't really correct; ALLPERMS
should really contain all permission bits.
* It now uses S_ISVTX instead of S_ISTXT - this is how it works in Linux as
  well, while FreeBSD uses S_ISTXT there (but S_ISTXT and S_ISVTX have the
  same value there, too).
* Also fixed the fs_shell this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 16:30:30 +00:00
Axel Dörfler 826df7bec8 * Patch by Andreas Färber: remove undefined S_ISTXT from ALLPERMS.
* This fixes bug #2560.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 12:51:40 +00:00
Axel Dörfler cc6c784ae7 * Sean C. Farley made me aware that some of the possible solutions to clear
the environment would crash on Haiku. Added a small test application that
  just checks every one of those.
* Fixed env locking (in userland, you better check against B_INTERRUPTED).
* Made our code safe against an environ of NULL.
* There is now an additional sManagedEnviron that points to the environment
  our code actually managed; whenever an application overrides environ, we'll
  get aware of it with the next *env() function invocation, and will handle
  it adequately.
* Added non-POSIX clearenv() function.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-01 15:02:03 +00:00
Axel Dörfler 47ca7595ca First patch by Salvatore to implement XSI semaphores with a few changes
by myself:
* renamed xsi_do_undo() to xsi_sem_undo() (there is more to XSI than sems).
* Fixed coding style issues in sys/sem.h and xsi_sem.cpp.
* Added _kern_*() syscall prototypes to syscalls.h.
* Added a TODO in xsi_sem.cpp and xsi_semaphore.h about moving union semun to
  a shared header.
* Made the team::xsi_sem_undo_requests int32 - due to padding, it would have
  needed 4 bytes anyway; please always use specific types over int/short/long.
* xsi_sem_undo() now checks if it needs to do anything - the calls in team.cpp
  no longer needs to do this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-29 12:03:41 +00:00
Axel Dörfler eaf71fbdb6 * Build fix: coreutils had a replacement for dirfd().
* Made DIR argument const in dirfd().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:22:13 +00:00
Michael Lotz d73327e274 Make dirfd() publically available. It used on other systems as well it seems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-17 01:01:52 +00:00
Oliver Ruiz Dorantes 0501b7cd80 Add AF_BLUETOOTH sockets family
- Feel free to change the index
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-16 17:30:36 +00:00
Axel Dörfler 9c5c79ad86 * Made DIR definition private, and moved it into the new dirent_private.h
header.
* Added fields necessary to make it possible to retrieve more than one
  dirent from the underlying file system.
* Unless some app creates a DIR on its own to it to feed readdir(), this
  change should be binary compatible. If we find an application misbehaving,
  we can still make it a GCC4 only thing.
* fs_attr/fs_index/fs_query now all use readdir() directly (as that one
  contains the logic to iterate through a number of dirents in userspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-09 11:16:00 +00:00
Jérôme Duval 765ae3a785 Applied patch from Mika Lindqvist: This patch implements both strlwr() and strupr() functions in libroot and includes strupr() in kernel build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-02 19:30:46 +00:00
François Revol 63dff3f9a3 Placeholder for ARM.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-25 22:57:34 +00:00
Salvatore Benedetto 93dd5d6569 * Fix typo. Thanks mjw!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-25 19:29:03 +00:00
Ingo Weinhold a2cf1d70ef Removed <syscalls.h>' dependency to <semaphore.h> by giving the sem_t
structure a name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 00:05:01 +00:00
Axel Dörfler 3b2c863f1c The "search.h" header had a couple of issues:
* It was not self containing, as it used size_t without defining it.
* It was not C++ safe.
* It used the restrict keyword that is not recognized in GCC2. This fixes bug
  #2262.
* It did not contain parameter names as demanded by our coding style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 07:42:58 +00:00
Ingo Weinhold d46a010c43 Patch by Vasilis Kaoutsis: Added sigpause().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-28 15:28:49 +00:00
Axel Dörfler 187c576425 * Added sys/ipc.h header. As the functionality has not yet been implemented,
I added an #error directive, so configure scripts shouldn't be fooled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-26 16:55:57 +00:00
Axel Dörfler a411c76cd6 * Added pthread_attr_setscope(), and pthread_attr_getscope(). We only support
PTHREAD_SCOPE_SYSTEM which makes the implementation rather simple.
* This closed ticket #2242.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-23 11:24:40 +00:00
François Revol 74be35c78b Some more funny sysconf()...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-23 01:38:05 +00:00
François Revol 4b9329efe1 Define PAGE_SIZE and PAGESIZE in limits.h. It should really depend on B_PAGE_SIZE, but I'm not sure we can #include anything in there...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-23 01:01:57 +00:00
François Revol 3a17a548da - factored out [f]pathconf().
- *pathconf() now uses statvfs and fs_info data when appropriate. It should also check for file type though, some only apply to directory or others.
- added confstr(_CS_PATH) with a sensible default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-23 00:33:08 +00:00
François Revol ca974ded95 Some more [f]pathconf() names, not yet handled. filesizebits returns 64 though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-22 23:22:26 +00:00
Ingo Weinhold 0f448d21e5 * Added vm_page_write_modified_page_range(), which is similar to
vm_page_write_modified_pages(), save that it only writes pages in the
  given range.
* Added vm_page_schedule_write_page_range() which schedules all modified
  pages in the given cache's range for writing by the page writer.
* Added _kern_sync_memory() syscall and the msync() POSIX function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-22 21:51:12 +00:00
Ingo Weinhold f3917584f1 Added missing INET_ADDRSTRLEN.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 22:37:42 +00:00
Ingo Weinhold 43a4a6bacb Forgot closing parenthesis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 21:08:47 +00:00
Ingo Weinhold 3021393e36 Let's pretend we support POSIX threads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 00:03:09 +00:00
Ingo Weinhold 9ac19900c4 Added LOG_UPTO() macro. Not part of POSIX, but widely used anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 00:02:26 +00:00
Ingo Weinhold a8af2b6dda Some work on pthreads:
* Made the pthread_cond_t internals public. This is necessary to support
  process shared condition variables. Fixed initializer macro.
* Made the pthread_rwlockattr_t structure opaque.
* pthread_t is no longer typedef'ed to int. It's the pointer to the
  internal _pthread_thread structure.
* Removed __get_pthread(). pthread_self() can be used instead.
* No longer tunnel the pthread exit value through Haiku's thread exit
  value. We do have a separate field in the _pthread_thread structure
  for it, now.
* Handle detaching of threads correctly.
* pthread_rwlockattr_{g,s}etpshared() use the
  PTHREAD_PROCESS_{SHARED,PRIVATE} constants, now.
* Commented out yet unsupported structures (barriers, spinlocks).
* Rebuilt APR optional package. The pthread changes weren't binary
  compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-20 20:43:28 +00:00
Ingo Weinhold 89d327d66e Added missing spwd::sp_lstchg field.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-19 02:16:12 +00:00
Ingo Weinhold 6e19c86ab0 Fixed potential warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 12:52:34 +00:00
Ingo Weinhold 3ca1072d44 * Reimplemented pthread_once. The old one was neither thread-safe nor
particularly efficient.
* pthread_mutex implementation:
  - Removed the pthread_mutex_t indirection (the type was a pointer to
    the actual structure which was allocated on the heap), as it made
    sharing the mutex between processes impossible.
  - Removed the distinction between process shared and non-shared
    mutexes. Benaphores work just as well in shared memory, so we always
    use them.
* Fixed some static initializer macros. PTHREAD_COND_INITIALIZER is
  still broken, since it doesn't work in C code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-13 01:50:54 +00:00
Ingo Weinhold 370602bff6 Added pthread rwlock support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 13:56:11 +00:00
Ingo Weinhold b932012815 Patch by Andreas Faerber:
Replaced single-line comments by multi-line comments for ANSI C
compliance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 21:30:34 +00:00