Commit Graph

4895 Commits

Author SHA1 Message Date
Hugo Santos
3df919a7a0 added 'ipv4_multicast' debugger command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:57 +00:00
Hugo Santos
0e30c21c70 ipv4: changed the multicast filter to use an hash table to keep source states.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:31:31 +00:00
Jérôme Duval
eb58b5e020 now uses _get_key_map() and check offsets against the size of the array
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 10:09:06 +00:00
Jérôme Duval
e7e4c08faf starts monitoring after recursive scanning
node monitoring requires the node directory to exist
this fixes PS2 keyboard node monitoring when unpublishing/publishing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 09:53:31 +00:00
Hugo Santos
6b783773bf use OpenHashTable in IPv4's MulticastGroups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 20:55:33 +00:00
Hugo Santos
15945a11c6 added 'tcp_endpoints' and 'tcp_endpoint' debugger commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 19:30:20 +00:00
Hugo Santos
cf5d9f4b8d added 'udp_endpoints' debugger command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 19:03:06 +00:00
Marcus Overhagen
f7c789146d Filter bad mouse data. This prevents random jumping of the cursor, as observed on some systems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 17:05:07 +00:00
Ingo Weinhold
9d6c014f66 Added very basic volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:20:58 +00:00
Marcus Overhagen
f0fa19ce73 Implemented a kernel debugger command to force republishing of a ps2 device, to allow input server debugging using vmware.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 00:12:05 +00:00
Marcus Overhagen
81d40ece27 Implemented a workaround for broken hardware, multiplexed mouse port 0 will be ignored if it's not working after 100 ms
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:46:15 +00:00
Marcus Overhagen
22a5099144 Added an optional timeout to ps2_dev_command,
Changed hotplug handler to use the republishing service.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:44:43 +00:00
Marcus Overhagen
ad6c0f399b implemented republishing of devices with a 2.5sec delay. However, the new device isn't noticed by input server, don't know why.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:42:45 +00:00
Hugo Santos
11b5020f2f rewrote the object cache (slab) implementation a bit, preparing for further integration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:53:58 +00:00
Marcus Overhagen
3294d37f01 attempt to fix bug #1185
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 14:29:56 +00:00
Hugo Santos
4e8a1b331f miniature cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 09:37:26 +00:00
Jérôme Duval
7a93cf5a82 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 19:52:43 +00:00
Marcus Overhagen
9a8812999e improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 17:04:36 +00:00
Hugo Santos
f1a5bab268 while iterating through the endpoint table, only do so for the port in context.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:59:31 +00:00
Hugo Santos
9cd3b980fd fixed a long standing binding issue with spawned sockets and TCP. also fixed bind() address checking rules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:49:00 +00:00
Hugo Santos
342444bc95 replaced TCP's Endpoint Manager manual handling of endpoint lists with MultiHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 15:06:41 +00:00
Hugo Santos
e2200e347d call ProtocolSocket::Open() for accept()ed sockets. This fixes a regression introduced earlier today.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 14:47:43 +00:00
Ingo Weinhold
87ac9f1d46 Fixed boot loader BFS build which I broke with my recent changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 14:31:18 +00:00
Ingo Weinhold
c391f84b2c * Prepared the BFS sources to be used with the new FS shell:
- Moved all inclusions of system headers into a new
    system_dependencies.h header, which conditionally either includes
    these or the FS shell headers.
  - Fixed compiler warnings related to printf-like functions (int32 is
    int, not long on non-BeOS platforms).
* Build a new bfs_shell. Compiles and links, but does nothing ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:25:49 +00:00
Hugo Santos
727ad0b0a5 completed UDP's locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 11:30:03 +00:00
Ingo Weinhold
5b1cb74b86 Even more correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:47:21 +00:00
Ingo Weinhold
93ed453113 More correct return value.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 10:45:57 +00:00
Hugo Santos
40bbf8600e made UDP use OpenHashTable for the endpoint table, part of the lookup is now inlined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 08:07:45 +00:00
Hugo Santos
5084c83901 addressed Axel's suggestion regarding SocketAddress' GetPort() name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:20:43 +00:00
Hugo Santos
25a2744f9e adapted UDP to use AddressUtilities, for readability.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:10:11 +00:00
Hugo Santos
c72ab92d84 adapted UDP to use ProtocolSocket which it already derived through DatagramSocket.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:10:03 +00:00
Hugo Santos
4b55736dde added new helper ProtocolSocket. Moved some stuff together to achieve better inlining.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 07:09:46 +00:00
Marcus Overhagen
e3c5e99110 comment changed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 18:43:37 +00:00
Hugo Santos
5d6551d69f removed some of the slab's initial heavy debugging. we now merge the links into the slab itself resulting in zero overhead per buffer with MergedLink strategy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 15:40:53 +00:00
Hugo Santos
e6fb3d3947 more slab fixes, also introduced a new strategy optimized for medium sized buffers (64 >= x < 512) with lengths other than power of 2 (has an overhead of 2 words per buffer).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 11:38:24 +00:00
Hugo Santos
dd89ad0e7e added locking to slab's Cache<>. Now we react to system's low memory conditions freeing up empty slabs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 07:31:19 +00:00
Hugo Santos
457b03ecb4 net_buffer is the first user of the new slab allocator, let's see how it goes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 06:05:23 +00:00
Marcus Overhagen
fc92527647 added some workarounds for haiku, needs to be fixed later...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 22:22:21 +00:00
Marcus Overhagen
2b30a321fe Workaround for bug report #1175. This is hardware bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 21:28:45 +00:00
Marcus Overhagen
b0b3cab0fd improved stream format detection
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 20:58:09 +00:00
Hugo Santos
77e70865e1 moved the storage requirements (i.e. ParentType *) to OpenHashTable's Definition which we now instantiate per OpenHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 19:21:06 +00:00
Hugo Santos
226bb7a9d4 fixed a nice C-induced issue which was making us rewrite stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:55:27 +00:00
Hugo Santos
2586c25e31 use Chaining in OpenHashTable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:55:05 +00:00
Jérôme Duval
f96df43ff5 code style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:34:20 +00:00
Jérôme Duval
43404c50c4 open() fails with -1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 18:19:25 +00:00
Hugo Santos
66a4a42802 added Recv-Q/Send-Q output to netstat.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 17:41:18 +00:00
Hugo Santos
585195c28d introduced SocketAddress wrappers and use them in TCP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 17:41:01 +00:00
Hugo Santos
a1a9e858a2 tiny TCP cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:28:20 +00:00
Hugo Santos
53f23f85a2 partially rewrote TCP's endpoint manager. Fixes #1173
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:14:14 +00:00
Axel Dörfler
c845a2964e Don't try to write back symlinks that don't have a data stream. This fixes bug #1179.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 16:12:42 +00:00
Axel Dörfler
1d63cfdc5b Now makes use of the new block_cache_etc() function to sync data streams without a file cache attached.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 12:11:21 +00:00
Axel Dörfler
5c03270bea Added block_cache_sync_etc() that allows you to sync single blocks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 12:07:30 +00:00
Axel Dörfler
cb0572cac5 * Changed Inode::WriteAttribute() so that it no longer reads from the old
attribute when its size was 0 - this also fixes calling Index::Update()
  with invalid values, and therefore bug #1178.
* Style cleanup: honour 80 column limit a bit more, use doxygen style comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-25 10:47:24 +00:00
Marcus Overhagen
0f87fab03a fixed small memory leak, added debug output to close hook
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:47:04 +00:00
Marcus Overhagen
099c5d288c reproduceable testcase for bug #1168
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:41:24 +00:00
Jérôme Duval
7cfdfca2e2 GLView :
window_bounds are now coordinates of the view on the screen (was the window before)
this eases dramatically the drawing of the clip from the buffer
now allocates m_clip_info whenever needed as some apps call EnableDirectMode() after DirectConnected(), ie GLTeapot.
MesaSoftwareRenderer:
implemented DirectConnected() support in Mesa Software Renderer
tested with GLTeapot on QEmu, B_RGB16 mode only


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 17:37:51 +00:00
Hugo Santos
f8486a0219 fixed an issue where a TCP connection would fail if the first expected segment of data was lost. Reported by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 16:14:35 +00:00
Axel Dörfler
8b4bb46952 "Ported" wavelet denoising code from dcraw - not tested, probably won't work yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:23:53 +00:00
Hugo Santos
006e498fa9 transmit our timestamp in network order. Fixes a problem with sending data to Linux and BSD hosts which Travis helped debug. Also only update SRTT when data has been acknowledged.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:15:20 +00:00
Marcus Overhagen
849f7af437 a test driver for driver testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:09:08 +00:00
Marcus Overhagen
fcb9bdc0c9 added Jamfile for dvb.media_addon and fixed compilation problems after refactoring
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:03:05 +00:00
Marcus Overhagen
175eb4f0de A BMediaDecoder wrapper that uses a callback for GetNextChunk()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 19:00:15 +00:00
Hugo Santos
39faeeba38 when sending pure ACKs, use an artificial window of 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-21 03:11:05 +00:00
Hugo Santos
204aa45b0b allow window updates to be sent after consuming data from the receive buffer. This fixes an issue where people were experiencing hangs in TCP downloads.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-21 02:37:17 +00:00
Hugo Santos
f1b088e623 fixed an issue with TCP where it possibly could not recover from a retransmission as the RCV.NXT was wrongly updated. When appending data we now set it to the sequence in the end of the receive queue.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 23:18:06 +00:00
Hugo Santos
739e994278 TCP: added SACK definitions and option processing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 20:50:24 +00:00
Hugo Santos
530017c6c9 check option length when processing TCP options.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 19:04:08 +00:00
François Revol
d6532617dc Fix (again) the tokens used to parse google's brain dead html code. Why are they swapping class and href in the <
a/> tag anyway ???


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 15:22:50 +00:00
Hugo Santos
c70d3bafd3 more TCP fixes, we should now be able to send large amounts of data through congestioned links.
- fixed BufferQueue's RemoveUntil.
 - reset SND.NXT on third duplicate ACK (fast retransmit).
 - on retransmit reset SND.NXT to SND.UNA (it will be updated back when we get good ACKs).
 - fixed effective window calculation.
 - relaxed SWS checking a bit, don't send partial packets on retransmission as the window might have been reduced due to congestion.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 09:21:55 +00:00
Hugo Santos
8a819b17e4 retrieve the incoming interface on the domain_receive_adapter(). This should fix potential issues with packets addressed to the IP broadcast address, such as in with some DHCP implementations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 04:40:53 +00:00
Ingo Weinhold
40844fe526 Ouch! sleep() != snooze()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 02:17:03 +00:00
Hugo Santos
74b0e85845 merged a bit more of functionality into DatagramSocket so we don't require a custom ReadData in the link protocol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 02:13:54 +00:00
Hugo Santos
2445c00e64 some internal reorganization of getsockopt()/setsockopt() handling. TCP is now able to fully use the application requested sender/receiver buffer sizes for improved performance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-20 01:58:14 +00:00
Waldemar Kornewald
727b80e38e Fixed a memory leak.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 18:21:19 +00:00
Hugo Santos
421a4def57 some TCP tweaks.
- check the effective window against the flight size.
 - start the RTT estimates relatively high.
 - introduced a TCP PROBE debug message for offline processing and TCP debugging.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 10:23:04 +00:00
Hugo Santos
1d63ea3372 some TCP performance improvements.
- support TCP fast retransmit/fast recovery.
 - maintain the RTT average time and update the retransmit timeout accordingly.
 - improvements to TCP Slow start / congestion avoidance.
 - better handling of the retransmission timer.
 - properly size segments taking the TCP options length into consideration.
 - as an interim fix, update the SendQ/RecvQ sizes on Connect().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 00:54:31 +00:00
Axel Dörfler
82bb12bfd0 Added a setting "raw:half_size" that can be used to reduce the image size by half which greatly speeds up the conversion.
Maybe we should introduce a more generic "preview mode" to the translators that could automatically trigger those things?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 12:20:55 +00:00
Axel Dörfler
5878fb7998 Changed the progress monitor protocol to path a basic message that will be sent back
instead of having a fixed message code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 12:00:07 +00:00
Hugo Santos
5534294ca1 TCP: only set FIN after the send queue has been exausted and we are in a state that requires it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 08:02:41 +00:00
Hugo Santos
7d524fb79b implemented TCP's slow start and congestion avoidance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 05:55:03 +00:00
Hugo Santos
f19e1f47da reorganized some of the TCP logic so we have common init paths for receive and send.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 03:39:24 +00:00
Hugo Santos
aa07700795 update Window Scaling variables when a simultaneous open is ACKed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 01:25:08 +00:00
Hugo Santos
58bef2f444 support TCP Window Scale on sent segments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 01:07:58 +00:00
Hugo Santos
4ee088419f assorted TCP fixes.
- fixed the locking for spawned connections and accept()s.
 - return EMSGSIZE if the user is trying to write more data than the send buffer can hold.
 - fixed a crash when receiving a RST while the connection is being closed.
 - don't wake up readers when the connection gets established.
 - endpoint managers lock must be recursive to properly work with spawn'ed sockets.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 18:32:49 +00:00
Hugo Santos
f56b0aa00d fixed arp's ClearQueue when an entry is rejected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 15:27:13 +00:00
Hugo Santos
c07371587f made ETHER_DEBUG use dprintf() as the previous logic was screwing badly and making the boot sequence hang in some setups (specifically qemu, may have fixed issues with Parallels as well).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 04:27:37 +00:00
Hugo Santos
ca1b900bdb support RFC 1323's TCP Timestamps (we are still not updating our estimator though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 03:19:59 +00:00
Hugo Santos
03d7f17e07 made TCP handle multiple domains.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 00:27:39 +00:00
Hugo Santos
d5b5a2c2f8 introduced Checksum::PseudoHeader helper.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 23:18:15 +00:00
Marcus Overhagen
1caca357da Added Jamfiles, changed some includes. The driver now builds for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 22:25:14 +00:00
Hugo Santos
1408d1f0ce introduced datalink's send_datagram to perform route and source address selection and dispatch the datagram to appropriate domain/protocol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 22:11:12 +00:00
Hugo Santos
624c52d8b7 ARP now queues packets while resolving a destination instead of blocking on send_data(). This fixes several issues:
- TCP now behaves correctly when receiving new connections as its SYN/ACK is queued, or if lost correctly retransmitted when the peer resends a SYN.
 - The first ICMP Replies from an external on-link host pinging Haiku are no longer lost.
 - Reduced the number of ARP messages Haiku needs to generate until resolving an entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 21:00:12 +00:00
Marcus Overhagen
b2859abe13 Media add-on for DVB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 18:42:03 +00:00
Hugo Santos
fbaad6fdb5 fixed an issue where TCP would RST a connection when a peer trying to connect us re-sent their SYN.
- In fact our SYN/ACK reply is being lost due to ARP resolving as we are waiting in the device's receive path, thus we never get replies before timing out. This requires queueing during ARP resolving.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 17:34:52 +00:00
Hugo Santos
4526eff137 gcc 4 template instantiation fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 08:24:40 +00:00
Hugo Santos
342824b6da fixed the reception of multicast frames by RAW sockets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 07:46:30 +00:00
Hugo Santos
6a60618094 glued the multicast filter handling to the receive path: we are now capable of receiving multicast frames in datagram sockets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 07:31:04 +00:00
Hugo Santos
4229d7091e made UDP's send_data call into IPv4's, so we can handle of the datagram stuff in one place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 05:23:28 +00:00
Hugo Santos
629878443b made IPv4's send path be multicast aware.
- also added IP_MULTICAST_TTL support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 05:23:18 +00:00
Hugo Santos
d3be414572 initial IPv4 multicast receive path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 04:02:02 +00:00
Hugo Santos
6c501a4085 support RFC 3678's Protocol-Independent setsockopt()s for IPv4 multicast.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 03:07:28 +00:00
Hugo Santos
46527f6806 initial steps towards IPv4 Multicast Filter Delta API (RFC 3678)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 02:44:01 +00:00
Stephan Aßmus
7cf41fd258 * added same vector icon as FileTypes preflet, but somehow the
resources are not added for the "Addon" target type? Ingo?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-14 23:22:51 +00:00
Hugo Santos
49f3c71e21 respect SO_BROADCAST for received and sent datagrams.
- check if the destination address is specified in IPv4's SendData()
 - minor cleanups to IPv4's TRACE()s.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 21:33:13 +00:00
Marcus Overhagen
083a11a3f4 Driver for DVB-T cards with cx23882 chipset, like WinTV NOVA-T PCI
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 16:21:17 +00:00
Hugo Santos
658a550639 use module_dependencies to load the required modules by udp, tcp, ipv4, icmp and arp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 14:37:48 +00:00
Hugo Santos
57e2a3d584 only deliver frames to IPv4 raw sockets of the specified protocol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 04:20:39 +00:00
Hugo Santos
ab7e75e74d don't do MSS segmentation in TCP's SendData(), _SendQueue() already does the appropriate work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 03:45:28 +00:00
Hugo Santos
d438fa4c12 added buffer, datalink and socket module references to the stack module so we don't have to load them in each other module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 03:06:36 +00:00
Hugo Santos
bfb45f717c introduced a new helper class DatagramSocket which provides a consistent base interface and functionality for the implementation of datagram-based sockets.
- made the ipv4 raw, udp and link protocols use DatagramSocket.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 00:55:32 +00:00
DarkWyrm
ffd3d30c84 Enable build of usb_midi on R5 using same Jamfile techniques as usb_hid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 15:57:46 +00:00
Axel Dörfler
f13b5de61e * EXIF data is now also parsed in case there was no ioExtension message passed in;
the orientation was only honoured in case there was a message before.
* Disabled error alerts; they are more annoying than helpful.
* Bumped version to 1.2.0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 13:20:33 +00:00
Hugo Santos
bf48e753d7 made UDP agnostic to the underlying network protocol (preparing some work into the future).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 08:22:47 +00:00
Hugo Santos
6c35350908 moved address selection logic to a new 'get_buffer_route'.
- IPv4 now assumes the addresses it is supplied in send_routed_data are already the appropriate ones.
 - made the Data(), operator* and operator-> methods in NetBufferFieldReader const so we can use them in the same expression as the constructor.
 - fixed an issue with UDP where the wrong source address could be used in the calculating the checksum.
 - changed ipv4_print_address to use the more common 0.0.0.0 format.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 22:24:12 +00:00
Hugo Santos
87001e059c some NetBufferUtility revamp.
- introduced base NetBufferFieldReader which deals with obtaining a continuguous field to deal with.
 - renamed Detach() to Sync() to better express the fact that we may be writing to the buffer.
 - Fixed IPv4's and ICMP's checksum calculation as it assumed the underlying header was contiguous.
 - ICMP is now able to reply to ICMP Echo Requests which were split across data nodes.
 - in split_buffer(), make sure we were able to trim() the new buffer before damaging the original one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 16:40:40 +00:00
Hugo Santos
83ecc79510 non-writeable states are always non-blockable from a write() POV.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 14:58:39 +00:00
Axel Dörfler
bc85ccf5f3 * init_data_node() is now called init_first_data_node(), and also sets
data_header::first_node to that node. It will also remove some of the
  burden of the callers with regard to setting its members correctly.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 10:17:26 +00:00
Axel Dörfler
64f5accb3a * Fixed a few large memory holes (Dano even crashes on low memory...).
* Removed printing progress updates to stdout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 09:23:33 +00:00
Axel Dörfler
5b91a7be30 Improved progress report, the update message now gets a proper "what" field.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 09:10:14 +00:00
Bryan Varner
811c52c0e8 Small adjustment to reduce the number of comparisons when publishing devices.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-11 03:26:26 +00:00
Jérôme Duval
127dffedfb Applied patch from thq (bug #1146). Thanks a lot! I tested this change on Haiku.
Avoids noise on shutdown because the amplifier is left on after shutdown, the amplifier is also turned on directly after init. The patch changes this to be the last thing to be turned on, and the first to be turned off.
The creation of controls had an of by 1 error where the last control was skipped.
Also made the controls more UI friendly so that the 'boost mic +20dB' is a part of the mic control instead of its own tab, and the AC97 mixer tab is changed to be the first one as it is probably more used than the 'Record' tab, which now is called 'Recording'. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 21:53:53 +00:00
Axel Dörfler
646dadb991 Implemented a progress monitor - I'll implement support for this in ShowImage next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 21:12:12 +00:00
Hugo Santos
af56b5b233 fixed add_tcp_header() as it wasn't considering the possibility that prepending data would not result in a contiguous buffer. This would result in wrong checksums for apparent no reason.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 19:04:13 +00:00
Hugo Santos
1c96882baa update buffer size when prepending buffers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 18:27:41 +00:00
Hugo Santos
914c48cad7 eat header space in each iteration in prepend_size().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 17:00:22 +00:00
Hugo Santos
f73dd74eb9 even more TCP fixage.
- don't try to remove spawned sockets from Endpoints hashtable.
 - return B_WOULD_BLOCK (EAGAIN) when we time out in acquire_sem().
 - use B_RELEASE_IF_WAITING_ONLY in the TCP WaitList.
 - fixed a off by one issue in ReadData() which could result in more than needed iterations (and waiting).
 - implemented prepending new buffers to a net_buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 16:47:47 +00:00
Axel Dörfler
9e34f742ae * Now honours the orientation as specified in the EXIF tags; not very well tested, so
it might happen that some rotations don't come out as expected...
* This orientation can be overridden with a special "exif:orientation" setting passed
  via the ioExtension message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 13:36:53 +00:00
Axel Dörfler
ddcd63762f * Now keeps the orientation as defined in EXIF, instead of converting it to something
handy for computation.
* The translator now passes the EXIF orientation to the thumbnail translation using
  a special field "exif:orientation".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 13:35:16 +00:00
Axel Dörfler
52e8f46af7 * Now also saves the EXIF data in the supplied message in Translate() (decompress
only, you cannot add EXIF data yet).
* Preparations to honour the orientation of JPEG images stored in the EXIF tags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 10:54:44 +00:00
Axel Dörfler
8560c78809 Added missing TIFF tag types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 10:52:41 +00:00
Hugo Santos
8107b19403 Fixed some more TCP issues.
- Properly flag sockets using non-blocking connects() when in SYN SENT.
 - and when in LISTEN, we should use the socket's connection queue size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 05:28:56 +00:00
Axel Dörfler
1b52d54a31 Now adds a fake TIFF header to the exported EXIF data so that the used endian of the data is known.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 00:14:32 +00:00
Hugo Santos
7664bcb5c4 A couple more TCP fixes.
- ipv4_bind() was broken when binding to addresses not INADDR_ANY, as it wasn't copying the address to the socket, fixed.
 - fixed a small issue in TCP's BindToEphemeral where the correct address might not have been bound to the socket.
 - some assorted TCP wait lists fixes.
 - fixed TCP's Connect() over the loopback interface, we might already be ESTABLISHED after _SendQueue() returns.
 - fixed the amount of time we wait in TCP's Accept().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 22:51:28 +00:00
Hugo Santos
aab148f6b4 Set proper address on BindToEphemeral().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 22:50:55 +00:00
Axel Dörfler
a238446abb Now puts the EXIF data verbatim into the message passed to Translate().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 22:29:16 +00:00
Hugo Santos
a7edede46f fixed multiple TCP issues.
- Moved FIN handling to after Segment Text handling, it matches the RFC and fixes a possible issue with a user missing some final segment data when receiving a FIN.
 - Fixed the FIN handling to better terminate connections (no more senseless chatter in the end with RSTs etc).
 - When Bind()ing, set the socket address so a call to getsockname() gets the allocated port correctly.
 - After reaching the ESTABLISHED state, try to wake all pending threads (still needs work).
 - Corrected the maximum amount of time we wait in SendData() to respect socket->send.timeout.
 - Now ReadData() behaves correctly in all possible states.
 - There was a missing handling of MSG_DONTWAIT, fixed.
 - Better internal handling of PSH.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 09:34:47 +00:00
Hugo Santos
9261b12988 packet capture sockets are now properly notified when the device is going down.
- modified LinkProtocol::ReadData() a bit so it can safely react to external changes such as the device being monitored going down.
 - fixed an issue in invalidate_routes() where in some cases the default route was being kept.
 - fixed another issue related with the fifo implementation, the notifier semaphore was being created with count of 1, instead of 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-09 00:09:00 +00:00
Hugo Santos
6473469039 whenever an interface is deleted, call put_domain_datalink_protocols() so all readers are unregistered.
- Unfortunely this requires RX lock to become a recursive lock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 22:00:52 +00:00
Hugo Santos
eaf517212a introduced an ipv4_datagram datalink_module to handle the registration of the IPv4 reader instead of doing it in the ARP module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 21:34:21 +00:00
Hugo Santos
7e6e645a87 Fixed a TCP issue reported by Stephan. Make sure we have enough PSH'ed bytes in the receive buffer before breaking the RX loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 21:34:11 +00:00
Ingo Weinhold
e1d3054a28 Patch by Urias McCullough: Revived jam package for rtl8169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 10:54:17 +00:00
Hugo Santos
89de666412 notify all monitors when a device is being removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 09:30:00 +00:00
Hugo Santos
e53357d57a Prepared net_device_monitor to accept device removal events.
- Introduced public net_device_monitor.
 - Changed the link protocol to maintain a lock per instance instead of inside the FIFO. Now all of the link instance data is protected.
 - Adapted the link protocol to use net_device_monitor.
 - Introduced a private Fifo class which doesn't maintain it's own lock.
  - Maybe we should add something like a public net_protocol_implementation which maintains a fifo and a benaphore? With the fifo using the structure's lock instead of maintaining it's own.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 09:15:52 +00:00
Hugo Santos
ee18793052 updated some locking related comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 05:50:49 +00:00
Hugo Santos
ae074c5d15 moved IFF_LINK handling to the device module (ethernet in this case). Now domain interfaces only keep specific flags such as IFF_UP and the configuration flags. IFF_LINK, IFF_BROADCAST etc are maintained exclusively by the device.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 05:50:36 +00:00
Hugo Santos
fb300cfd25 introduced net_device_interface level locking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 05:50:25 +00:00
Ingo Weinhold
ea3f7d3d8d Added an "isExecutable" parameter to the Translator rule. All
translators pass "true" (was used before), but I suppose most of them
don't really need it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 01:42:47 +00:00
Ingo Weinhold
1acbe440b8 Removed the obsolete second argument ("relpath") of the Addon rule and
shuffled "isExecutable" to the end. The new order favors the common use
cases. Adjusted all Addon invocations and while at it also removed
separate LinkAgainst invocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-07 01:27:19 +00:00
Hugo Santos
20b534cd5f a bit more work towards proper locking including a fix to a refcount bug
- fixed a issue in add_interface_to_domain where the device interface's refcount was always incremented since that function was getting the device interface handle and not returning it unconditionlly
 - if the ethernet device goes down, and the fd is close()ed, return B_FILE_ERROR instead of calling into the driver again


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 09:48:02 +00:00
Hugo Santos
c64fecca78 started some work to properly handle device_removed() and setting interfaces down in general.
- remove all routes that use interfaces going down.
 - when a device is going down, remove associated domain interfaces.
 - interfaces weren't getting a properly referenced device interface, fixed.
 - down call down_device_interface when deleting a interface, instead set it down and let the upcounts do its job.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 06:23:35 +00:00
Hugo Santos
0b10ed0573 check if the device going down is the head of the check list and remove it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 06:23:27 +00:00
Hugo Santos
3785f4f0f0 check if receive timeout is infinite before doing the usual preparation for ABSOLUTE_TIMEOUT
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 02:02:18 +00:00
Hugo Santos
8d00b95aa9 The Open Group base specification mentions that EINTR should be returned if the recv() is interrupted before _any data_ is available. So we actually check if there is data, and if so, push it to the user.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 23:26:39 +00:00
Hugo Santos
d86f48f3f5 tiny TCP cleanups, move the read notifications to _NotifyReader().
- Also fixed the buffer size check in UDP's SendData() since UDP's length field includes the size of the header we need to check that as well. IPv4 is correct since we check for the size after prepending the header (due to it being possibly already included).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 22:42:45 +00:00
Hugo Santos
a5d8483183 small cleanup, use get_node_at_offset().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 20:45:10 +00:00
Hugo Santos
4168e54af8 send buffer size is irrelevant for UDP, instead check if the fed buffer is larger than the maximum payload UDP supported. Do the same in IPV4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 19:19:38 +00:00
Hugo Santos
9e084902c1 small cleanups in UDP
- don't set_to_empty_address, instead consider NULL to be the empty address and use is_empty_address().
 - most ipv4 address module calls already consider NULL to be the empty address, ipv4_hash_address_pair didn't, fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 18:57:15 +00:00
Hugo Santos
c3e054c876 fixed an issue in UDP due to copying addresses to sockaddr, which may be too small for protocols other than IPv4. In fact, we don't need to copy the addresses at all, we can use the original address pointers in the hash key for lookup and hashing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 18:35:22 +00:00
Hugo Santos
0d5afa4dec introduced fifo_socket_enqueue_buffer which clones the buffer, enqueues it to the fifo and notifies the socket.
- changed the link, ipv4 and udp modules to use fifo_socket_enqueue_buffer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 17:56:20 +00:00
Hugo Santos
a5e9026688 copy back the source address even when the data is truncated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 17:56:09 +00:00
Hugo Santos
daad608a3a Sigh, ignore previous commit, Open Group Specification is ambiguous. Now we properly support MSG_WAITALL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 16:23:04 +00:00
Hugo Santos
8927167d28 support MSG_WAITALL in TCP
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 16:16:51 +00:00
Hugo Santos
485a82e613 as per the Open Group Specification, MSG_TRUNC should be set in flags whenever the packet is truncated
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 16:09:06 +00:00
Hugo Santos
abe1ec18ac properly support MSG_TRUNC. we don't even have to trim the buffer, just try to fill the user buffers as much as possible
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 16:05:07 +00:00
Hugo Santos
17b77c3b92 consolidate all RECV/SEND ioctls into a single RECEIVE/SEND pair
- changed the socket module to use thew new RECEIVE/SEND in all forms of recv() and send()
 - changed libnetwork to use the new RECEIVE/SEND
 - remove transfer_args processing from strace since the structure was removed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 14:26:46 +00:00
Axel Dörfler
0663933acc Now also exports the JPEG thumbnails as images using the translator service :-)
Note, this did not work with an older libtranslation.so from Haiku, so it might
also not work correctly on BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:31:17 +00:00
Axel Dörfler
ce694927b7 The TIFF translator overwrote the document count before it was clear that it could
handle the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:17:55 +00:00
Axel Dörfler
9468eca38a * Implemented support for the "header only" extension.
* Added missing header when compiling RAWTranslator in test mode for Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 12:15:56 +00:00
Hugo Santos
f2893088ba fixed another TCP issue: if we were in TIME_WAIT and we received a retransmission or delayed ack, TCP would wrongly bindly immediatly acknowledge.
* Moved TIME_WAIT and CLOSED handling to common Receive() path that does Sequence checking and further tests.
 * Moved setting FLAG_NO_RECEIVE to the end of Receive() when FIN is set so we can check for NO_RECEIVE before processing the segment text just after processing FIN.
 * Added a new action DELETE to be used when in TIME_WAIT and we receive a good RST


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 06:56:58 +00:00
Hugo Santos
2cff90bf94 fixed a critical issue with TCP's FIN handling: if FIN was set on a packet with data, fReceiveNext would be rewritten with the queue's LastSeuence which would be effectively the required sequence - 1. Increment instead fReceiveNext with the buffer's size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 04:24:29 +00:00
Hugo Santos
df247f1480 added select() support to packet capturing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 04:24:21 +00:00
Hugo Santos
fcd6d8cd92 keep PUSH'ed pointer in receiver side of TCP so we can wait for more data in recv()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 00:21:22 +00:00
Hugo Santos
8c43814982 fix locking in TCP's ReadData()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 21:22:48 +00:00
Hugo Santos
c96b101d4d net_socket: make recvfrom() use recvmsg() and sendto() use sendmsg() for code reusal
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 19:42:53 +00:00
Hugo Santos
babe239b7a copy back msg_flags after recvmsg() (we don't really use it yet though)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 19:42:33 +00:00
Hugo Santos
7245533300 some fixes to recvmsg() and sendmsg()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 19:17:04 +00:00
Hugo Santos
dae7f8ea46 initial recvmsg and sendmsg implementations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 17:39:43 +00:00
Axel Dörfler
0cac8bd145 Forgot to set IFM_ETHER in all drivers; "ethernet" now also sets it just in case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 17:04:54 +00:00
Hugo Santos
b7c0eba571 we want the argument's contents, don't use the size of the pointer (this would even be 8 bytes in a 64 bits platform).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 15:59:13 +00:00
Hugo Santos
183071cab3 ipro1000 knows when its link state changes (notified by interrupt). Use ETHER_SET_LINK_STATE_SEM to wake the ethernet device link state notifier sooner.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 15:54:50 +00:00
Axel Dörfler
eb70c5dd3b * Set default media type to IFM_ETHER.
* Added ETHER_INIT back in; we even have a driver in our repository that uses it,
  thanks to Michael for pointing that out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 13:42:45 +00:00
Hugo Santos
f03d121241 handle all cases of SIOCSIFFLAGS in the same place
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:53:27 +00:00
Hugo Santos
ca2aa96377 don't overwrite the flags we set when the interface goes up or down, instead just update the flags in the same place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:51:23 +00:00
Hugo Santos
e65e15292c set IFM_ACTIVE if ipro1000 has link and output media changes on update_link_state()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:51:09 +00:00
Hugo Santos
36883c5516 ipro1000: added ETHER_GET_LINK_STATE support
* use em_media_status to get link status
 * added IFM_1000_SX (Fiber Optic) to net/if_media.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:50:54 +00:00
Axel Dörfler
b92d0fce7c Rotated images still didn't work correctly; they were offseted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 12:31:50 +00:00
Axel Dörfler
7e4913f545 * Rotated images did not work correctly.
* Removed ICO specific configuration, added copyright note about the source of this translator.
* Disabled test mode for the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 11:57:33 +00:00
Axel Dörfler
00006796b4 net_device should come first in order to guaranty it will work together nicely
with C only code. Thanks Hugo!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 10:25:35 +00:00
Axel Dörfler
9206bb3779 * Changed ETHER_GET_LINK_STATE ethernet driver interface, added ETHER_SET_LINK_STATE_SEM.
* The device interface list now uses class DoublyLinkedList instead of struct list.
* Implemented SIOC[SG]IFMEDIA for setting (not supported by any device yet), and
  retrieving the device media information.
* Fixed a locking bug in list_domain_interfaces().
* Added new stack function device_link_changed() that should be called in case the
  link state (media) changed.
* The ethernet device module now spawns a thread and will periodically check the media
  state of all ethernet devices that support this (if any).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 09:41:04 +00:00
Hugo Santos
52e75b6236 TCP: initial shutdown() implementation and some general fixes
* set FLAG_NO_RECEIVE/FLAG_NO_SEND on shutdown() and send FIN on SHUT_WR
 * if a send() is attempted with FLAG_NO_SEND set return EPIPE
 * proper handling of recv timeout in ReadData(), using absolute timeout instead of relative
 * if FLAG_NO_RECEIVE is set, don't attached more segments to the receive queue, drop them instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 18:38:42 +00:00
Jérôme Duval
15fda8f547 implemented ETHER_GETLINKSTATE for bcm440x and bcm570x
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 18:27:24 +00:00
Hugo Santos
0c88e5eea3 implemented SO_LINGER support in TCP
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 17:35:56 +00:00
Hugo Santos
71bca39bbe some more cleanups to TCP TRACE() facility
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 16:54:07 +00:00
Axel Dörfler
c79ae507aa * Fixed compilation due to removed ether_init_params from ether_driver.h, thanks
to Hugo for reporting :-)
* Implemented setting promiscuous mode on ethernet device level.
* Set net_device::media to something useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 16:39:30 +00:00
Axel Dörfler
a34967de86 Prepared implementation of ETHER_GETLINKSTATE - it would need a bit more work to
get it to work as intended, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:57:28 +00:00
Axel Dörfler
ae4444d031 * Implemented ETHER_GETLINKSTATE; the link state is now tracked and can be reported.
* Made header self-containing.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:43:16 +00:00
Hugo Santos
3537f0967f fixed a bug in TCP where applications weren't properly signaled when the connection was terminated by the server and there was no more data to be read from the buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:25:53 +00:00
Hugo Santos
2d1f81eb1d cleaned up the TRACE() calls in TCPEndPoint a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 14:25:39 +00:00
Hugo Santos
868583b54a fixed a potential problem in TCP's accept() with the init'ing of new connections' MSS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 07:00:04 +00:00
Ingo Weinhold
ed07b9c7e3 The last missing hooks -- get_vnode_name(), write_attr_stat() and
rewind_query() -- are passed to the userland. get_vnode_name() has an
emulation in userland, in case the client FS doesn't implement it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:40:54 +00:00
Ingo Weinhold
610f8dbb5f Utterly obsolete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:31:30 +00:00
Ingo Weinhold
53b742e1bb Define debug output prefixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-03 04:30:22 +00:00
Ingo Weinhold
6a83347f52 Synchronized with kernel file cache changes in r20509.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 23:44:24 +00:00
François Revol
eb36d9eed6 Fix some warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 12:21:20 +00:00
François Revol
66067aae65 Remove commented out code & warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 12:17:18 +00:00
François Revol
0497b63ae4 Avoid redefining stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 12:13:16 +00:00
François Revol
d3dbe2059b Remove hardcoded support list as it's dynamically generated from the device list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 12:07:12 +00:00
Hugo Santos
cb711badc1 some cleanups by introducing get_node_at_offset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 20:23:16 +00:00
Hugo Santos
409b1fc051 use UserBuffer in list_{device,domain}_interfaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 17:49:41 +00:00
Hugo Santos
5333836f71 use generic UserBuffer in fill_route_entry
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 17:36:41 +00:00
Hugo Santos
298a7da920 UserBuffer: generic userspace supplied buffer and copy management
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 17:35:43 +00:00
Axel Dörfler
b6d25ffbd2 Missed an improvement Hugo sent me a bit later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:24:44 +00:00
Axel Dörfler
2d55afcdf7 Support getting route information for a specific destination
using SIOCGETRT. Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 12:06:16 +00:00
François Revol
694e5de9b0 Fix sending data with prolific devices. Seems they weren't initialised correctly. We now send the same stuff Linux does (without telling why), and it seems to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:51:32 +00:00
Axel Dörfler
9c4477d3bf SIOCGIFCONF will now also report the size of the written buffer in ifconf.ifc_len
to cover the case the list of interfaces changed since SIOCGIFCOUNT was called.
Patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:48:07 +00:00
Axel Dörfler
51541d38f5 You also have to recompute the checksum in case the source address was updated,
patch by Hugo Santos.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 11:38:37 +00:00
Ingo Weinhold
b5975dbf4e Disabled stealing an unused page from some cache. Unfortunately this
introduced a locking problem, since vm_page_allocate_page() is invoked
with a locked cache. I guess I have to rethink the design. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 00:16:36 +00:00
Ingo Weinhold
c1316c8dd3 Synchronized with recent kernel file cache changes up to r20483.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 23:52:05 +00:00
François Revol
c798dceb5a Add select() support for Dano & Haiku (someone will need to write tty bus manager).
The supported devices list passed to the usb bus manager is now automagically generated from the other list so it's always correct (it was already out of sync).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 22:53:42 +00:00
François Revol
832b831777 Fix BeOS build (the D from -D was left in).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-31 13:19:26 +00:00
Ingo Weinhold
e04bcee997 Made sources UserlandFS friendly. Can't be used with the fs_shell ATM,
anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 23:04:31 +00:00
Ingo Weinhold
563a8c4749 * file_cache_ref::lock was not initialized and destroyed.
* Fixed locking problems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 23:02:10 +00:00
Ingo Weinhold
f5a324b063 * Fixed iteration in block_cache::RemoveUnusedBlocks() as in r20459 for
the kernel implementation.
* block_cache::allocated_block_count was not initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:58:02 +00:00
Ingo Weinhold
2e474644c7 * Added dprintf() to the kernel emulation interfaces for BeOS and Haiku
style FSs.
* Fixed an infinite recursion in the base dprintf() implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 22:18:59 +00:00
Axel Dörfler
b03e2464e6 current_bytes wasn't being updated on fifo_dequeue_buffer(). Patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 20:58:32 +00:00
Ingo Weinhold
073ddff0ad Copy'n'paste ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:27:44 +00:00
Ingo Weinhold
de71c58165 Added parse_expression() to the kernel emulation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:20:53 +00:00
François Revol
3118b6fb15 Add esound_sink to the build, but not the image as it currently doesn't behave when the server isn't found.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 13:03:59 +00:00
Ingo Weinhold
5682fde439 OPTIM is reset for each subdir anyway. No need to do that manually.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 12:15:01 +00:00
Axel Dörfler
30aaba68bc Added the parenthesis in the Control() switch statement again, as there is a
variable definition in this block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 10:58:35 +00:00
Axel Dörfler
fc1cf1a3d2 Style cleanup, patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 00:14:30 +00:00
Michael Lotz
2f142f6139 Try at fixing build for gcc4 suggested by Axel. Does that work?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-26 19:55:37 +00:00
Axel Dörfler
ea2de1a115 * If the IP_HDRINCL option is used, ipv4_send_routed_data() now checks if the source
address is set, and changes this if not; this makes traceroute work on Haiku.
  Patch by Hugo Santos.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 14:01:56 +00:00
Axel Dörfler
6de46a8005 Rearranged ipv4_control() a bit, and fixed a bug that would always return B_BAD_VALUE
on setsockopt() for all options. Thanks to Hugo Santos for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 12:59:39 +00:00
Michael Lotz
3ad50dab2e Fixed design flaw in the UHCI fragment implementation and a memory leak both introduced in the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 11:43:09 +00:00
Michael Lotz
2852a6db8f Removed transfer buffer in usb_raw driver. The user provided buffers are now used directly which saves two memcpy operations and removes the 4K transfer length restriction from the USBKit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 08:54:22 +00:00
Michael Lotz
145461d547 Implemented fragmented USB transfers. The transfer length will max out at a certain point to not overflow the allocator. The fragmented transfers are resubmitted until all fragments are sent / received.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-25 08:49:13 +00:00
Axel Dörfler
aaea7f1795 Now also supports Canon's CR2 format - note, all images are only opened in half of
their original size for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 15:30:44 +00:00
Ingo Weinhold
7a4de3f182 Added a Haiku file cache implementation to the UserlandFSServer.
Basically reused the kernel implementation, but needed to hack it quite
a bit and also add an emulation of the required VM interface.
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-23 00:09:55 +00:00
Axel Dörfler
8260e407c5 * Initial and very basic version of a RAW image translator.
* Based on Dave Coffin's fabuluous dcraw - it's basically the same thing in C++,
  but follows common sense programming rules a bit more :-).
* Current version probably only supports PENTAX RAW format, though.
* Still lots of places left to clean up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-22 18:43:45 +00:00
Axel Dörfler
bdfc47dbcd * Fixed the test for equality when a known ARP reply came in - you should no longer
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:21:36 +00:00
Axel Dörfler
1a38ebd28b No longer crashes when deleting "certain" interfaces (couldn't reproduce the
crash in Qemu for some reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 19:15:31 +00:00
Jérôme Duval
4dd9e43637 fixed some warnings in multi.cpp
updated with Release B3 (I didn't test yet) :
-Firmware to support new revision 5 Indigo io and Indigo dj hardware
-Firmware to support new revision 4 Mia MIDI hardware
-New FPGA & DSP code to correct problems with S/PDIF at 96 kHz on Gina3G (note new,
longer timeout required in C3gDco.cpp)
-Changes to support x64 Windows
-Fix for 96 kHz on Mac OS X for Echo 3G
-New QuerySampleRateRange method for all devices
-Simplified channel mask classes
-New ECHO_ASSERT macro to simplfy enabling and disabling asserts
-Removed m_wBytesPerSample from CEchoGals; it wasn't being used and caused housekeeping problems for Adobe Audition recording in mono mode
-Now using READ_REGISTER_ULONG and WRITE_REGISTER_ULONG macros to read and write DSP registers; these
are automatically defined if the platform environment doesn't define them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-19 19:06:47 +00:00
Ingo Weinhold
15a62f7c61 gcc 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 20:37:07 +00:00
Jérôme Duval
4d275b2b21 added some Haiku media definitions
made mpglib beos compatible


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 23:10:19 +00:00
Gerasim Troeglazov
f6be3b4d1a Added getting label of ntfs volume in fs_identify_partiton function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 08:43:34 +00:00
Ingo Weinhold
73a3220667 Incorporated hash and block cache changes of r20368 and r20374.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-12 08:32:47 +00:00
Ingo Weinhold
f0bc043b2a Ported the ReiserFS code to the Haiku FS interface. Removed the built-in
block cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:22:34 +00:00
Ingo Weinhold
43c46e9380 Copy'n'paste leftovers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 21:21:15 +00:00
Ingo Weinhold
824e907a2c Added Haiku block cache interface to the UserlandFS server. Basically
copied and adjusted the respective kernel code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 15:04:53 +00:00
François Revol
75d00d2451 It should now list and instanciate devices correctly... but doesn't work yet :-(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-09 15:43:41 +00:00
François Revol
07005d6f95 implement a recursive scanning of /dev/audio/old/ to find devices. Untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 19:28:17 +00:00
Marcus Overhagen
ce8185b383 cleanup & disabled most debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-08 17:40:40 +00:00
Ingo Weinhold
cdf5f77bab HaikuSubInclude in action.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 16:02:16 +00:00
Ingo Weinhold
446ce41f36 Build RamFS for the Haiku kernel. Seems to work fine. Also fixed some
warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 08:09:27 +00:00
Ingo Weinhold
4bf052db56 Removed dummy strtod().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 07:19:27 +00:00
Ingo Weinhold
c7a7242307 *sigh* svn really messed it up. I supposed one should make sure to run
update on the directory to be copied before doing it, even if it is up
to date.

Anyway: Ported RamFS to Haiku's FS interface. Change set apparently merged
with older changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:40:25 +00:00
Ingo Weinhold
224e7c4269 Mmh, apparently I have to check the copied directory itself in first.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:22:18 +00:00
Ingo Weinhold
1716d266c5 The read_attr_stat()/write_attr_stat() capabilities were not correctly
set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-07 06:08:48 +00:00
Ingo Weinhold
5b89b67d95 Added missing module initialization/uninitialization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-06 07:52:24 +00:00
Ingo Weinhold
4ed322c66e * Added support for interfacing with Haiku style FS modules (yet
untested).
* Added library with the relevant part of the Haiku kernel interface.
  The cache interface is missing, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-06 02:39:34 +00:00
Axel Dörfler
863634b83f Patch by Euan Kirkhope:
* Initial support for Rage Theatre 200.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 21:16:15 +00:00
Axel Dörfler
76b5213f47 Patch by Euan Kirkhope:
* Use AGP Bus manager module
* Fixed wrong framebuffer address computation; this should fix bug #1079.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 17:06:27 +00:00
Gerasim Troeglazov
570ab00aa7 Fixed bug in fs_readdir function. Removed read-only assembling mode. Added settings file for addon tweaking: hide_sys_files, read_only, no_atime.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 07:01:21 +00:00
Ingo Weinhold
4e0e80ed6c We analyze a client FS's capabilities -- i.e. which hooks it provides or
can be emulated -- and pass this info to the kernel add-on. Thus we can
avoid passing requests to the userland that can't be serviced anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 05:16:08 +00:00
Ingo Weinhold
12d359b85a * Removed write_link from the FS module interface. Adjusted all FS
add-ons accordingly and removed the syscall.
* Removed send_notification().
* Reimplemented notify_listener(). It used the unimplemented
  send_notification(). Now it has a chance to work. Note that
  notify_listener() is obsolete. I would already have removed it, if
  there weren't lots of FS implementations still using it (Hint!).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-05 00:46:57 +00:00
Ingo Weinhold
5a5aacca23 Added a level of indirection in the FileSystem management
(FileSystemInitializer). This will allow for subclassing FileSystem
later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 23:11:02 +00:00
Ingo Weinhold
fd7339329f Not needed anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 21:48:55 +00:00
Ingo Weinhold
6aeea78c6e Made the UserlandFS code gcc4 friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 08:26:45 +00:00
Ingo Weinhold
eb9b19800b Fixed gcc 4(.1.2) build problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 05:00:40 +00:00
Jérôme Duval
5cb9bf4bbb gcc4 complains a lot of these #undef followed by values ...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 13:20:26 +00:00
Ingo Weinhold
2660a88261 We don't need ufs_mount anymore. One can simply use mount:
mount -t userlandfs -p "<client FS> <client FS params>" ...

The parameters may change later in order to become a proper driver
settings string.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 10:26:35 +00:00
Gerasim Troeglazov
6a15f740b9 Some code and style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-03 06:59:35 +00:00
Gerasim Troeglazov
07a20b8072 Fixed build for R5 and dano targets. Bug fixes for fs_rename and fs_walk functions. Added simple identify functions for haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 07:57:56 +00:00
Gerasim Troeglazov
7106362e9c Fixed build for R5 and dano targets. Bug fixes for fs_rename and fs_walk functions. Added simple identify functions for haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 07:48:19 +00:00
Gerasim Troeglazov
6b3592ca4b update libntfs-3g to 1.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 07:41:35 +00:00
Ingo Weinhold
cc0bac7f51 We fake read_stat() on the root node and read_fs_info() when the
connection to the server is lost. The former is required by our mount
command (it stat()s the mount point for some reason unknown to me). The
latter is just to be a good citizen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 07:09:18 +00:00
Ingo Weinhold
5a31d77f2c read_attr() was broken. We passed a pointer to the node instead of the
cookie.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 01:45:58 +00:00
Ingo Weinhold
97dd0fe3c8 * Adjusted according to the is_vnode_removed() -> get_vnode_removed()
change.
* The new notification functions are used instead of send_notification()
  and notify_listener() now. Mapped them in the BeOS kernel emulation
  accordingly. RamFS node monitoring seems to work now. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 00:41:09 +00:00
Ingo Weinhold
c8b7e8185a Fixed debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-02 00:33:05 +00:00
Axel Dörfler
7ce2eaa1e0 Patch by Euan Kirkhope:
* VIP FIFO functions for Rage Theater200 support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:43:33 +00:00
Axel Dörfler
0caeca2af7 Patch by Euan Kirkhope:
Sync overlay with x.org


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:41:37 +00:00
Axel Dörfler
df647a5c3d Patch by Euan Kirkhope:
* Laptop LCD Backlight rework + powermanagement


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:38:11 +00:00
Axel Dörfler
b8fb3d1705 Patch by Euan Kirkhope:
Monitor Routing rework
 * mostly to fix my issues with dual monitors VGA + DVI which didn't work! ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:35:22 +00:00
Axel Dörfler
19cadc2f7d Patch by Euan Kirkhope:
* Kernel settings configuration added


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:33:08 +00:00
Axel Dörfler
a85694c375 Patch by Euan Kirkhope:
* option for PIO engine instead of DMA (for dodgy X700s)
* misc RAM config changes inline with x.org codebase


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:28:25 +00:00
Axel Dörfler
300bef5821 Patch by Euan Kirkhope:
* New "ATOM" BIOS Support for radeons X-series
* This also removes scanning for the BIOS signature for other cards


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:05:12 +00:00
Axel Dörfler
8841d8bcd1 First of a set of patches by Euan Kirkhope:
* Headers updated
 * PLL errata workarounds
 * Radeon asic type overhaul (consolidated)
 * Device IDs Updated.
 * support for X-series devices with legacy bios type
 * minor tidy ups / compiler warnings (casts)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 09:00:49 +00:00
Ingo Weinhold
042eb16896 * More debug output in the kernel module.
* Made publish_vnode() available in userland. For old style FS add-ons
  publish_vnode() is used when they request a new_vnode(). The semantics
  of new_vnode() changed considerably in Haiku, but publish_vnode()
  seems to do pretty much what the old new_vnode() did.
* The UserlandFS hosted RamFS begins to work under Haiku. It runs pretty
  soon out of memory though (under vmware with 256 MB) and node
  monitoring is broken ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 04:56:08 +00:00
Ingo Weinhold
d8e8d39b71 Variable are data not text. I wonder why that ever worked under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 02:06:31 +00:00
Ingo Weinhold
0c2f529390 Committed accidentally and forgot to fix it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 01:43:05 +00:00
Ingo Weinhold
b15ce38615 Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 01:42:14 +00:00
Ingo Weinhold
617ed3e4a9 Implemented the new attribute open/close/... FS hooks. The mapping to the
old interface is completely done in userland ATM.

It becomes more and more obvious that we probably need to provide
the kernel add-on with a bit more information about what the client FS
interface supports in the first place, so we can save unnecessary trips to
the userland. Opening/closing attributes for a FS using the old style
interface could be handled completely in the kernel add-on, for instance
(even if we lose a bit of accuracy wrt to open modes etc.).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 01:16:13 +00:00
Ingo Weinhold
9ce869f45f Welcome back, is_vnode_removed(), old friend!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 22:26:44 +00:00
Ingo Weinhold
c10705cbda We do now provide the BeOS style FS add-ons with the kernel interface they
need via library libuserlandfs_beos_kernel.so. Fine-tuned the legacy headers
so they can by used by the the kernel interface emulation code as well as by
the add-ons. This is actually a bit hacky, since we build everything in the
Haiku build environment and thus mix these old headers and Haiku's.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 22:07:40 +00:00
Ingo Weinhold
ca6faf4958 * Adjusted BeOSKernelFileSystem and BeOSKernelVolume to Haiku's FS interface.
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
  dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
  drive a FS add-on implementing the old interface. The required emulation of
  the BeOS kernel is not yet provided, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-28 04:54:13 +00:00
Ingo Weinhold
8474904ee0 Adjusted the FileSystem, Volume, and UserlandRequestHandler to the new FS
interface. The classes actually interfacing with the client FS add-on still
need to be adjusted.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-27 23:27:27 +00:00
François Revol
769d863635 Link to libnetwork. simpler copat checking. more error repporting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:05:53 +00:00
Ingo Weinhold
5d3147f66a Class renaming:
UserFileSystem -> FileSystem
  UserVolume -> Volume
  KernelUserFileSystem -> BeOSKernelFileSystem
  KernelUserVolume -> BeOSKernelVolume

The BeOSKernel* classes are indeed intended to handle FS implementations
that use the (old) BeOS FS interface. We'll see how well that will work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:26:02 +00:00
Ingo Weinhold
1546cbf149 Moved FileSystem class into the new Dispatcher subnamespace, so we can drop
the "User" part of the way more often used UserFileSystem and the other
classes that had it accordingly for consistency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 16:00:45 +00:00
Ingo Weinhold
b12d25d15d First walk through the userlandfs kernel add-on to port it to the Haiku
FS interface. Adjusted old hooks, but didn't add the new ones yet. The
module builds now at least.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 02:54:05 +00:00
Ingo Weinhold
0b9da247dc Intermediate check-in. I've decided I rather want to use Pe instead of
Kate for this job. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 15:01:34 +00:00
DarkWyrm
9439d163d4 Correction to buildfile for linking against the app_server
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 01:53:37 +00:00
Ingo Weinhold
83812f6752 Copied userlandfs code from the test tree to the haiku source tree,
where it will be ported to Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 00:30:19 +00:00
DarkWyrm
d5e020e912 Decorator looks *much* more like R5. Thanks to Thomas Winwood for the patch. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:44:29 +00:00
DarkWyrm
ff78e73c3b Unbroke the classic R5 decorator and updated sources to match the sources for DefaultDecorator before applying changes for its looks
Sweet cracker sandwich! I actually figured out something for a Jamfile on my own -- it took a while to figure out how to link against the app_server. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 23:34:06 +00:00
François Revol
d436e544a4 Some fixes for the Haiku version... it's working!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 16:43:29 +00:00
Jérôme Duval
4f4762f0c1 actually activates alpha on _mesa_add_soft_renderbuffers
this fixes bug #1029, though make sure to use BGL_ALPHA flag with BGLView constructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 21:59:18 +00:00
Marcus Overhagen
9e8dd0a713 added PCI express capability
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 17:46:44 +00:00
Jérôme Duval
54a71c95b7 now uses macro based read/write functions to access the bitmap
the code is now very compact, on par with other Mesa drivers


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-19 23:55:27 +00:00
Travis Geiselbrecht
c2d83d3d4e the beos compiler is pretty pedantic and wont let you use c99 style variable decls.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-18 20:37:17 +00:00
Marcus Overhagen
637812eb4a init those pointers before using them
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-18 00:51:10 +00:00
Marcus Overhagen
d9be4f1fa3 print satacap 0 and 1 registers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-18 00:19:06 +00:00
Marcus Overhagen
3f8d7bce7c added PCI capability support to bus api
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-18 00:18:13 +00:00
Marcus Overhagen
b782e8cd79 added SATA capability to debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-17 23:24:40 +00:00
Marcus Overhagen
13dbe1c7ff Added support function to find a PCI capability offset in the configuration data, needed for SATA support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-17 22:57:59 +00:00
Axel Dörfler
5fbb5241c7 Fixed endless loop in the legacy keyboard driver (currently only used by consoled).
This actually fixes bug #1024.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 06:30:36 +00:00
Jérôme Duval
c34e204a4e updated mesa to 6.5.2
updated the mesa software addon to work again (maybe would need more work)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-15 23:40:43 +00:00
Axel Dörfler
4ecd017140 * Fixed a bug that would not remove an existing attribute from the small data section
when the new attribute data was too large to fit into the small data section at all.
  This fixes the Trash icon update with a block size of 1024 bytes.
* This also fixes a bug where AddSmallData() required you to write back the inode even
  if it failed with B_DEVICE_FULL, but no one did it.
* _RemoveSmallData() no longer requires you to write the inode back on success.
* Made most small data methods private.
* WriteAttribute() now tries to put the data into the small data section even if it
  existed as a separate file before (the file is then removed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 16:46:42 +00:00
Axel Dörfler
bbf8311d15 * Fixed a race condition between deletion of the endpoint and canceling its timers;
the timer functions could access invalid memory.
* The endpoint manager now panics if a bound endpoint is not in the hash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 14:13:37 +00:00
Axel Dörfler
230a0989fd bfs_free_cookie() now always write locks the inode - before it only hold a read lock
which wasn't enough when tampering with the inode's data, and it also acquired that
lock too late.
Thanks to Stefano for pointing this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:28:48 +00:00
François Revol
20d237e4d1 Support for building the vmware gfx driver as a package, thx to Urias McCullough <umccullough at gmail dot com>.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 06:15:01 +00:00
Travis Geiselbrecht
dcdc4f4b43 pulled over some stuff from newos:
at boot, per cpu, detect the cpu, pull down all the relevant cpuid bits and
save them into the per-cpu structure. Changed most of the code scattered here
and there that reads the cpuid to use a new api, x86_check_feature, which looks
at the saved bits.
Also changed the system_info stuff to read from these bits.
While i was at it, refreshed all the bits to be current.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 01:46:28 +00:00
Axel Dörfler
ad7e408e18 The SemaphorePool method could hand out unbalanced semaphores - it only called
Semaphore::ZeroCount() on new semaphores, not on used ones. Found by Stefano, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:12:00 +00:00
Ryan Leavengood
41ecd34905 Another recreation of a favorite BeOS screensaver of mine: Message, originally
by Jon Watte.

This was a tough but interesting problem. My version still isn't quite as nice
as his. I think the color generation could be improved, and I KNOW the x and y
placement of the text could be improved.

I also think it would be nice to display the full message at the bottom of the
screen (similar to ShowImage showing the file type and name in full screen
mode.)

But this is a good base to work from.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:30:32 +00:00
Ryan Leavengood
e8ec87ad28 I decided to recreate the classic BeOS screensaver BuyNow, and here it is.
I'm considered splashing it up a bit by adding parameters for colors, etc, but
this will make a good baseline.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 05:50:42 +00:00
Michael Lotz
4771489e89 Changing from a stack allocated result struct to a heap allocated one. This removes the possibility that a timed out transfer that later still triggers the callback writes into invalid stack space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 01:18:17 +00:00
Michael Lotz
a94a8358e8 With plain R5 kernels, the usb module image is apparently loaded twice (once for each exported module), while for BONE kernels and up the module is only loaded once.
So the mechanism with the global variable did not work for R5 what caused two USB stacks and host controller drivers to be active concurrently which resulted in completely unpredictable results.
This kind-of-inelegant fix was all I could come up with, if someone has a better idea please send it this way.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 01:12:40 +00:00
François Revol
b6a6e8e347 Add debugger kernel modules to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 22:12:47 +00:00
François Revol
a08aa5f3fe Add code to work as a kernel module. Builds now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 22:12:10 +00:00
François Revol
8c0f52bd5d fix path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:39:50 +00:00
François Revol
4dca8fed0d AddSubdir...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:39:04 +00:00
François Revol
0223d2d0bb Move your body...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:34:40 +00:00
Marcus Overhagen
cc30d340c3 When getting the memory map, ask only for 2046 bytes instead of
2048 bytes. This should fix bugs #993 and #997.
On BeOS R5 asking for 2 bytes too much wasn't a problem, as we 
only need the first page_entry, and it didn't return any Error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 12:59:45 +00:00
Marcus Overhagen
ad13bfbbd7 Added unconditional debug output. You will most likely see it when "sync" is stalled,
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 22:52:09 +00:00
Marcus Overhagen
55a5f66c21 Made the "get_memory_map failed" error panic the kernel, to avoid random
crashes at a later time. I observed one error at 8033a802, but the address
was allocated by the driver and should have been fully locked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 22:06:35 +00:00
Marcus Overhagen
562ce636d3 reverted r19986. uncached mapping didn't work, instead it was falling back to vesa mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 21:17:38 +00:00
Marcus Overhagen
e0858f4dd5 added a temporary workaround for bug report #994
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 20:56:44 +00:00
Axel Dörfler
9a8038bf5d Fixed the wrong "be:key_repeats" we were sending to our clients.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-27 17:04:25 +00:00
Michael Lotz
e40b5c0d59 Fixed a wrong index that could cause crashes with devices containing generic descriptors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 14:36:03 +00:00
François Revol
caa76e0da1 Fix some warnings (unused args...). Only bad protos left.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:33:53 +00:00
François Revol
ab28e0ff2c For interfaces listed in a domain but without any address we returned {2, AF_UNSPEC}, but we only skipped 1 byte instead of 2... fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 11:07:08 +00:00
Ingo Weinhold
ede02ff526 Cleanup and style fixes. Enforced 80 char line length.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:24:08 +00:00
Ingo Weinhold
4945683e6f Fixed generation of header files. Removed generated header files from
repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:21:52 +00:00
François Revol
448d2a891a Make sure strings are 0-terminated. Fix some settings values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 09:30:27 +00:00
Jérôme Duval
c3ccb39319 reduce trace from these two
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 18:56:25 +00:00
François Revol
95ae312c38 Maybe your gcc doesn't caer, but otehr's do: error: virtual outside class declaration
Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 16:03:24 +00:00
François Revol
1a4f3a6079 Those headers should be autogenerated but I can't get it to work, put them in for now. Added a note in Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 21:20:15 +00:00
Axel Dörfler
7b93487d2d I accidently prevented the STXTTranslator from adding the styles section to the styled text output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 21:15:07 +00:00
François Revol
03ce18544b Include webcam addon as it now builds in Haiku as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 21:05:23 +00:00