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
hrev20587
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
hrev20586
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
hrev20585
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
hrev20584
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
hrev20583
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
hrev20582
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
hrev20581
2007-04-05 14:26:46 +00:00
Axel Dörfler
d1fca1ccb8
Translate print the output formats twice instead of the input formats.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20580 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20580
2007-04-05 14:26:06 +00:00
Axel Dörfler
df004988d8
ioExtension can of course be NULL...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20579 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20579
2007-04-05 13:33:07 +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
hrev20578
2007-04-05 13:31:17 +00:00
Axel Dörfler
580d7b0441
No longer let translators overwrite the ioExtension message when they aren't
...
the chosen one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20577 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20577
2007-04-05 13:29:55 +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
hrev20576
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
hrev20575
2007-04-05 12:15:56 +00:00
Axel Dörfler
09c3a92d0a
Now handles two cases of incorrectly built trees gracefully (instead of crashing).
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20574 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20574
2007-04-05 11:44:35 +00:00
Axel Dörfler
b754aa3dbd
RemoveItems() implementation was missing; more or less copied the one from BListView
...
(which is slow, but works).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20573 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20573
2007-04-05 11:16:43 +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
hrev20572
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
hrev20571
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
hrev20570
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
hrev20569
2007-04-05 00:21:22 +00:00
Ingo Weinhold
8338b05a30
More FS interface documentation. All FS hooks required for writing a basic
...
read-only FS are documented, now. Be encouraged to review and add more. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20568 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20568
2007-04-04 23:46:05 +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
hrev20567
2007-04-04 21:22:48 +00:00
Jérôme Duval
9e7de14057
added the usual weak symbols to fix bug #1134
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20566 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20566
2007-04-04 20:56:57 +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
hrev20565
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
hrev20564
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
hrev20563
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
hrev20562
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
hrev20561
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
hrev20560
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
hrev20559
2007-04-04 15:54:50 +00:00
Hugo Santos
8df968341a
tiny case but T/TX is copper, SX is fiber
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20558 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20558
2007-04-04 15:36:10 +00:00
Axel Dörfler
bf256341b9
Only print the media state in case we're linked.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20557 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20557
2007-04-04 14:20:32 +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
hrev20556
2007-04-04 13:42:45 +00:00
Axel Dörfler
6d60dde7cd
Added support for printing the media type.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20555 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20555
2007-04-04 13:32:18 +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
hrev20554
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
hrev20553
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
hrev20552
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
hrev20551
2007-04-04 12:50:54 +00:00
Hugo Santos
c57dbb8b04
output IFF_LINK, IFF_AUTO_CONFIGURED and IFF_CONFIGURING flags
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20550 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20550
2007-04-04 12:50:44 +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
hrev20549
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
hrev20548
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
hrev20547
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
hrev20546
2007-04-04 09:41:04 +00:00
Ingo Weinhold
3458a335ab
Started documenting the FS API a bit.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20544 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20544
2007-04-04 01:27:50 +00:00
Hugo Santos
ecde9adfaf
gcc 4 compilation fixes. Patch by Jerome Duval.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20543 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev20543
2007-04-03 18:50:27 +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
hrev20542
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
hrev20541
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
hrev20540
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
hrev20539
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
hrev20538
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
hrev20537
2007-04-03 14:57:28 +00:00