Commit Graph

52 Commits

Author SHA1 Message Date
Axel Dörfler
1a0e92a33b Implemented backlog/pending connection support to the sockets - while currently
only TCP needs this, other stream oriented protocols might too, in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-09 18:53:18 +00:00
Axel Dörfler
c35b04de31 * Moved the TCPConnection class into its own file.
* Added some missing result checks, mostly for allocations.
* Fixed a wrong precendence with the ?: operator
* Some minor cleanup.
* Renamed sBufferModule to gBufferModule - the header expects it to be a global,
  so it should be named like one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 17:27:13 +00:00
Axel Dörfler
81435928fb * Fragmenting IP packets is now working as expected (there were several bugs
in the code before).
* Added a SetTo() method to NetBufferHeader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-15 09:52:54 +00:00
Axel Dörfler
a7028ce680 * Implemented select support for sockets and notifications, not yet tested, though;
this closes ticket #811.
* Added notification support to IPv4 and UDP.
* Implemented reading out SO_ERROR.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 12:32:02 +00:00
Axel Dörfler
153b2845d2 * Added a link from libnet.so to libnetwork.so for R5 compatibility.
* Fixed R5 socket definitions to match their actual definitions.
* libnetwork.so now detects at runtime wether or not R5 compatibility should be
  enabled or not.
* All socket functions should now be R5 net_server compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 13:07:05 +00:00
Marcus Overhagen
891a127fec various gcc 4 related build fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-17 17:34:22 +00:00
Axel Dörfler
241b048033 * Fixed build of libnetapi.so - it probably won't work for now, though, have a look
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
  will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
  SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 00:19:23 +00:00
Axel Dörfler
c22d69bf1f * Completed the previous commit and merger of the team/network/new_stack branch.
* Removed ppp_up and pppcontrol from the image for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-08 13:07:07 +00:00
Axel Dörfler
5adca30a18 Merge of branches/team/network/new_stack - not yet complete as SVN does only support
replacing files when merging when you don't have deleted them manually (for some reason,
it only works as part of the merge operation, and we didn't copy the whole tree to
have "a fresh start" - next time we know better, at least if SVN still suffers from
that same limitation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-08 12:33:33 +00:00
Jérôme Duval
4e0eae1865 patch from Olivier Coursiere for better error output in ping
change the size parameter type of several functions in sys/socket.h to match POSIX
compat libs and legacy headers keep the original R5 type (though I make a change for this)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 12:22:26 +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
Waldemar Kornewald
c544064d35 Updated BIND resolver library (libbind.so) to version 9.3.1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 22:38:13 +00:00
Waldemar Kornewald
aa782b3ed6 Minor modification to net_stack_driver's header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 20:09:13 +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
Jérôme Duval
e970946333 EHOSTDOWN not needed for Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-07 20:09:10 +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
060d9206d9 added some netdebug and netconfig files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-13 15:49:30 +00:00
Jérôme Duval
27c7bf1ac1 fix the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-30 22:32:01 +00:00
Jérôme Duval
83e02263b7 added a socketpair in libsocket.so with corresponding code in the network stack driver and the network stack
socketpair() in the network stack is empty and still to be implemented for real


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-28 12:21:42 +00:00
Michael Lotz
4ce3301a57 This should now actually fix the recursive lookup of the net_stack_driver. We must only load the networking core once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 14:19:20 +00:00
Michael Lotz
8dfbc5e088 Prepare for native installation on Haiku. The net_stack is located under dev/net_stack to avoid recursive lookup, the network core is at add-ons/kernel/network instead of obos_network.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-11 19:37:09 +00:00
François Revol
3f53434673 that ioctl is only to check for writev, not readv, doesn't make much sense anyway
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 23:24:26 +00:00
Philippe Houdoin
66c1fb8eb3 Removed duplicate B_SELECT_* & co definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-03 15:11:46 +00:00
Nathan Whitehorn
d774d9a0a1 While we're modifying ether_driver.h, added in an ioctl for link state detection, and implemented it in the two Broadcom drivers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 03:01:20 +00:00
François Revol
1b9aa3e9f8 Add 2 BONE ioctls not to colide with; Add GETIFTYPE for my own stuff, but I'm not sure how I'll use that yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 16:40:42 +00:00
Philippe Houdoin
4d7e82c125 Doh! Forgot to commit these after having removed from headers/posix/*.
My mistake.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-04 16:08:52 +00:00
Philippe Houdoin
a60e1f4f7f Moved from headers/posix to private/net, as they're not POSIX headers.
Expand the max numbers of area for IPC, as net_stack_control_module can
target to more than 5 structs by adresses...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-25 22:53:41 +00:00
Waldemar Kornewald
8070acfb47 Added a "const" to the name field in control_net_module_args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-30 10:53:50 +00:00
Philippe Houdoin
81b05b60f1 Add missing include(s).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 00:08:53 +00:00
Philippe Houdoin
44d24e2984 Rollback to obos_network, as it ease avoid conflict on BONE-based systems.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-15 00:03:07 +00:00
Philippe Houdoin
b4ceb35f2e Oooops, should have not check this network module roots folder name...
Back to normal program.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-13 00:24:56 +00:00
Philippe Houdoin
ff3cf53035 Define a NETWORK_MODULES_ROOT to easy change the stack modules root folder name,
to help avoiding conflict with BONE one for example...
Update each network module name to use this prefix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:28:41 +00:00
Philippe Houdoin
8f505c3de4 Add ether_driver.h to private net headers.
Should we make this public?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-12 23:25:40 +00:00
Philippe Houdoin
9e4f133fe8 Signaled sockets forward a signal to their server counterparts,
which interrupt the server's socket thread, deleted when the socket close.
IPC message trace now reports message name instead of hexa opcode, which
increase a little their usefullness for an human reader :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-19 20:32:01 +00:00
Philippe Houdoin
eb8b30128e Add new control_net_module_args to global stack_driver_args union.
Report this change in the stack driver code, to keep consistent
code.
TODO: Implement NET_STACK_CONTROL_NET_MODULE in net_server_driver.c too!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-25 21:24:03 +00:00
Waldemar Kornewald
7f015ac671 Forgot to commit changes for control() support and some fixes.
Also added header for PPPoE support in ethernet module.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-23 17:50:45 +00:00
Waldemar Kornewald
13b219e125 Added get/set_max_xxx functions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-10-14 10:14:57 +00:00
Philippe Houdoin
e8d1b6e166 Moved back from headers/posix/sys from here, where they belong.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-08-11 22:50:27 +00:00
Philippe Houdoin
bf09be1c1e Export socket_shutdown from core stack module. Rollback to NET_STACK_GET_COOKIE trick...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-07-10 01:05:14 +00:00
Philippe Houdoin
77584bdf01 Make a union struct to wrap all ioctl() args.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-06-19 01:12:24 +00:00
Philippe Houdoin
8f74e6ed4a Small private net header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-13 23:41:46 +00:00
Philippe Houdoin
40e492bc4c Some net headers fixes
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-13 07:57:19 +00:00
Philippe Houdoin
a0a6d75d61 Some net cleanup...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-12 21:03:25 +00:00
beveloper
2f344cad19 some more clean up and renaming
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 20:59:25 +00:00
beveloper
b282b44773 code cleanup. renamed exported socket functions as socket_ and removed void *
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 16:40:51 +00:00
beveloper
42415555d3 after many changes, the network stack can now be build
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-30 01:21:54 +00:00
beveloper
a115b7c3f1 moved some things from sys/socketvar.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 20:12:42 +00:00
beveloper
6e70991c56 moved from posix/sys
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 20:07:00 +00:00
Philippe Houdoin
35682cc6b3 Moving the net kit private includes files to /current tree.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 07:59:57 +00:00