Commit Graph

239 Commits

Author SHA1 Message Date
Axel Dörfler
7b3d36e5aa * BEntry::GetStat() and BNode::GetStat() used sizeof(struct stat) for the kernel
syscall, but they could not know if R5 code called them (in which case the stat
  size has a different size). We now always only return the R5 stat structure here.
  This fixes bug #420. We might want to find a different solution to this problem,
  though.
* Be got SYMLINK_MAX wrong - it's not the maximum number of links (that's SYMLOOP_MAX),
  but the maximum size of a symlink buffer. Added missing SYMLOOP_MAX and SYMLINK_MAX
  constants to limits.h.
* Fixes MAXSYMLINKS to use SYMLOOP_MAX, instead of SYMLINKS_MAX (which doesn't exist
  in POSIX specs, but we (intentionally) break source compatibility here).
* Reenabled the Haiku versions of stat(), fstat(), and lstat() when build for Haiku.
* Removed OpenBeOS namespace stuff from the files I touched.
* Removed superfluous StorageDefs.Private.h, whyever that ended up in a public header
  is beyond me.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-21 13:49:16 +00:00
Jérôme Duval
1f11178f97 added posix thread specific data functions
added a pthread_detach skeleton


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 12:27:46 +00:00
Jérôme Duval
a23efdfa79 added some pthread_* and pthread_attr_* naive functions
I mapped pthread_t to thread_id for simplicity


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-20 11:05:58 +00:00
Jérôme Duval
1ad334ed89 uint => unsigned int
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-15 23:39:15 +00:00
François Revol
c2be814ab5 added an Haiku-specific RLIMIT (NumOpenVnodeMONitors) (UNIMPLEMENTED yet) (we might want to renumber it),
and used that one and NOFILE to implement R5 private calls _kset_[fd|mon]_limit_()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-22 19:37:40 +00:00
Axel Dörfler
4ea1753e0a Since we're now using GCC on PPC as well, there is no reason not
to include GCC's header file here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-19 13:07:53 +00:00
Jérôme Duval
8cea73aade avoids a gcc warning on definition of INT32_MIN
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-17 16:06:06 +00:00
Axel Dörfler
d2a76f7406 The lround() and lroundf() functions are now also found in our math.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-09 18:14:11 +00:00
Jérôme Duval
c3725117bd wctype_t is already defined in wchar.h which is included
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-03 13:39:23 +00:00
Jérôme Duval
ad6ada0be5 removed struct _pthread* forward declarations, they're not needed
added some more posix definitions, though they might be never used in Haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-21 09:47:43 +00:00
Jérôme Duval
b7f854b819 now match pthread_private.h declarations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 14:47:58 +00:00
Jérôme Duval
a00ed9fa24 added some missing pthreads definitions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-20 12:58:32 +00:00
Axel Dörfler
b506c53f0a Changed useconds_t and suseconds_t to be "long" types instead of "long long".
This has a negative effect on ualarm(), but is somewhat required by the POSIX
specs ("[...] the implementation should support one or more programming environments
in which [...], and useconds_t are no greater than the width of type long."
Indeed, it also changed the size of our struct timeval which broken binary
compatibility with R5 (ie. used in gettimeofday()).
This fixes bug #490 and therefore bug #428 (firefox crashing on load) as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-16 15:16:50 +00:00
Axel Dörfler
558885f395 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-06 07:04:34 +00:00
Axel Dörfler
7ca5966a15 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-16 14:42:47 +00:00
Axel Dörfler
e589b33020 Should fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-16 14:42:04 +00:00
Jérôme Duval
a34963f388 added posix_gnu_string
added more posix definitions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-16 11:09:43 +00:00
Jérôme Duval
e0f9a4e815 added some wchar.h definitions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 23:18:32 +00:00
Jérôme Duval
641526173e fixed cpluscplus guard
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 23:17:32 +00:00
Axel Dörfler
579c74ceb5 * Implemented a simple version of the private function mstats() (BeIDE needs it).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-03-14 23:15:57 +00:00
Waldemar Kornewald
ce823541ec Removed #ifdef __cplusplus from networking headers. The check is already done in cdefs.h (__BEGIN_DECLS) which I committed yesterday.
Committed libnetwork.so. I actually wanted to port BSD's libc/net resolver, but that one uses too many unsupported functions, so I basically merged libbind.so and libsocket.so into one library.

Moved the libbind.so sources to libnetwork/dns.

Cleaned up native part of libbind.so a little bit more. Though, the ugly hack remains. We nbetter pthread/mutex support. Added TODO that we also shousctl() into the kernel and libroot.so.

Improved DEVNOTES a little bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:54:58 +00:00
Waldemar Kornewald
8c85eedc66 Moved the needed headers from private to posix folder. This should hopefully fix the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 17:42:05 +00:00
Waldemar Kornewald
f7a223fa1b Removed unneeded libbind files (were never compiled, anyway).
Moved some headers around and cleaned them up.

Fixed threading code in libbind.so. Don't know why I hadn't noticed this before. Now it is reliable, but uses an even uglier hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:26:54 +00:00
Ingo Weinhold
ff29286ffd Ouch, those should have been gone since the activation of new build
system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 23:39:30 +00:00
Ingo Weinhold
fe14a904a8 * Implemented [sig]{set,long}jmp() for PPC. No idea, if it is any good,
but it compiles at least. :-)
* Pulled the architecture specific part out of <posix/setjmp.h> into
  <posix/arch/<arch>/arch_setjmp.h>.
* Moved setjmp_save_sigs.c from the x86 specific implementation into a
  "generic" sibling directory, since it is reusable (and actually used
  by the PPC implementation).
* Added generic/longjmp_return.c containing a function __longjmp_return,
  which is invoked at the end of siglongjmp(), resetting the signal mask
  and validating the return value. It is used by the PPC implementation,
  and should also be used by the x86 implementation, but I'll leave that
  to someone who's motivated enough to also test it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 22:56:52 +00:00
Axel Dörfler
d2f25ec7a5 That work-around for R5 build targets should no longer be necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 17:54:18 +00:00
Axel Dörfler
4e766dd482 * header cleanup, but there is still a lot more to do...
* added round(), roundf(), and roundl() implementations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 13:22:47 +00:00
Axel Dörfler
6065411b88 ualarm()'s arguments are actually useconds_t, too.
Fixed implementation of ualarm() to support larger values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 13:20:25 +00:00
Axel Dörfler
b22f48cc07 Fixed alarm(), ualarm(), and sleep() return codes - "uint" is not a POSIX type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 13:06:08 +00:00
Axel Dörfler
71c6382f33 useconds_t and suseconds_t are now long long ints.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-13 13:05:26 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Ingo Weinhold
88ccb61ad5 Removed GCC headers float.h and varargs.h. Fixed limits.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-09 18:01:16 +00:00
Axel Dörfler
6efb3f085f Added statvfs.h header and implemented statvfs() and fstatvfs() - both untested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 13:47:55 +00:00
Jérôme Duval
d05775b3bd added seteuid and setegid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 16:38:40 +00:00
Jérôme Duval
0680eec72c added two missing functions : seekdir and telldir
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-04 16:13:13 +00:00
Jérôme Duval
2726040fcb we can live without you, sysmacros.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-02 15:27:00 +00:00
Axel Dörfler
0e1358bd5c Applied a patch from Alexander Deynichenko: added missing signal definitions.
That also includes some XSI signals, SIGPOLL and SIGVTALRM, dunno if we will every support
those in a useful way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 12:39:29 +00:00
Axel Dörfler
4d9b4412bd Added memccpy() - not there in BeOS, but part of the POSIX specs.
Contributed by Alexander Deynichenko.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-31 12:18:55 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Jérôme Duval
9744e7bb63 added a sys/sysmacros.h header (as on R5)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 11:43:56 +00:00
Jérôme Duval
a6786b1d3a remove unused header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-28 11:42:00 +00:00
Jérôme Duval
42848b0907 added index and rindex to libroot.so
R5 ftp and telnet commands now run on Haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-12 13:05:03 +00:00
Jérôme Duval
64f6fcfb1d added a socketpair prototype (part of bug #52)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-20 14:10:42 +00:00
Jérôme Duval
e5ee1dad6a added sigaddset, sigismember, sigdelset to libroot.so from inline versions in signal.h
moved static inline to extern inline to allow this change
please someone review this (ie are they platform dependent functions ?)
should fix bug #47


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-02 11:53:43 +00:00
Axel Dörfler
c1fc0493cb Added missing wctype.h header - R5 does not include this header, but its
libroot.so exports the functions declared therein.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-18 15:02:09 +00:00
Axel Dörfler
29b949de52 GCC 3 conforms to ISO-C-99 so _Bool is a built-in type; we should not try to redefine it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 16:51:55 +00:00
Axel Dörfler
92ec9b2fbc Added our old "new" header again, as I can't build anything without it under Linux (PPC and x86).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 16:50:25 +00:00
Axel Dörfler
61ad5bc2e7 Fixed various problems with the latest stdbool.h changes, including stdbool.h itself:
- SupportDefs.h only includes stdbool.h if included from C
- stdbool.h for C++ now includes a macro for "bool" as defined by that header
- stdbool.h does nothing if __bool_true_false_are_defined is already defined
- stdbool.h no longer defines a _Bool enum, but defines _Bool as unsigned char, as
  previously done by SupportDefs.h (the previous version changed the size).
- The gensyscalls Jamfile now preprocesses its headers in C++ mode so that "bool"
  stays "bool", and doesn't become _Bool.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 18:01:40 +00:00
Axel Dörfler
e5fd0bde4a tcsetpgrp() and tcgetpgrp() are actually defined in unistd.h, not termios.h.
Implemented them and moved them to unistd/terminal.c - not yet tested, though,
but should work. As a side effect, the TTY should now send signals.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-26 14:41:30 +00:00
Jérôme Duval
aab32edf08 updated stdbool.h
SupportDefs.h now includes stdbool.h
This can break in some cases


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-25 17:08:27 +00:00