Commit Graph

4895 Commits

Author SHA1 Message Date
imker
f5f8df45bf That's one small step for man... ;-)
- module interface was changed to be compatible with Haiku API.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 20:05:38 +00:00
Ithamar R. Adema
fa48b9d885 Fixed the problem of not being able to work from Haiku. The main problem was that although the multi_audio API on BeOS hands the driver the settings as made in the Media prefs, the Haiku one just gives maximum values and assumes the driver will scale the values down. I didn't do that.
If you run Haiku on HDA hardware, you should have sound now too! :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 11:16:05 +00:00
Ithamar R. Adema
abc3549242 * Made code more Coding Guidelines compliant
* Fixed several sem/area leaks when restarting media services.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 08:23:42 +00:00
Ithamar R. Adema
9432d60991 Fixed:
* Prepare code for exposing multi_audio interface on Audio Function Group level
	* Some minor cleanups.
Todo:
	* Publish devfs entries based on available Function Groups instead of HDA cards.
	* Publish all mixer controls / output busses through multi_audio interface.
	* Make recording work :)
	* Check why we need 4096 samples to play ok.
	* Figure out problems with driver on Haiku... currently only successfully tested on R5.

As you can see, plenty of things left to do, but progressing nicely. At least people can have sound on R5 now!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-17 02:43:12 +00:00
Ithamar R. Adema
7c8482e991 * Count samples, not bytes, stupid :P
* Don't try to bypass semaphore counting, it should just work(tm)
* Minor cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 21:43:15 +00:00
Axel Dörfler
66eba86f4b * Applied patch by Jonas Sundstrom: fixed the usage of B_UTF8_ELLIPSIS hopefully
everywhere in the tree.
* Added the ellipsis to "About Haiku" in Deskbar as well.
* Minor cleanup of Deskbar's StatusView.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 16:34:09 +00:00
Axel Dörfler
8536d82fb6 * The WAV header is now created correctly (mixed up endian of the fourcc members)
* More or less fixed reading - it now works nicely when you copy the file to the
  hard drive first, but MediaPlayer cannot handle the files directly from CD for
  some reason yet to investigate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 15:09:45 +00:00
Axel Dörfler
90c18b97c9 Implemented reading from CD and prepending a fake WAV header - not yet tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 09:19:42 +00:00
Axel Dörfler
12ed6d2195 * Made the code that reads the table of contents of the CD a bit more failsafe.
* Implemented disk scanner to automatically identify the volume.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 21:21:01 +00:00
Axel Dörfler
e8113cabe0 * Implemented attribute handling - you can change them, but they are not stored yet.
* Implemented CDDB ID computation (that's what BeOS's cdda-fs is using).
* Some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 17:33:05 +00:00
Axel Dörfler
40897d3964 * Moved cdda_text test application to the test directory, and separated it from cdda.cpp.
* Implemented most of the directory retrieval functions of the file system; even renaming
  titles should work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 00:51:35 +00:00
Ithamar R. Adema
b0d9cd6f66 * Delete all local copies of multi_audio from source tree.
* Change name of header for Haiku specific multi_audio to hmulti_audio (in line with the rename of the media addon itself)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-14 02:37:14 +00:00
Ithamar R. Adema
2a3d3b7ad6 * More buffer (cycle) handling
* Locking of stream info.
* Add compile-time support for Haiku/BeOS multi_audio API.

TODO: Need to check out why we have multiple (different) multi_audio.h files floating around in the source tree....



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-14 01:23:36 +00:00
Ithamar R. Adema
7de9382792 * Set clock values based on card type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 22:41:03 +00:00
Ithamar R. Adema
551c7edafd * Make response argument to hda_send_verbs able to handle NULL, in case we don't care for the response
* Minor tweaking to buffer handling, which seems to fix the "distorted audio" probs I was having :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 20:19:54 +00:00
Jérôme Duval
0e3568d2ab sorted correctly hda :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 19:17:08 +00:00
Ithamar R. Adema
89db0a5bf7 *** WARNING: UNSTABLE CODE AHEAD :P ***
This is the first (sort-of) working incarnation of the High Definition Audio driver. This
driver still has quite some way to go before coming to a point that we could call it stable
and useful, so please use with care. It has been developed on R5, so it might even become
useful for people still stuck on R5.

This driver was inspired by both the BSD work on HDA support, as well as our own dr_evil's 
work on the ich_ac97 driver.

Before you start bugging me about completing the driver, or adding features, please capture
the serial debug output and mail it to ithamar AT unet DOT nl, including hardware details,
and success/failure descriptions.

As a last note, DasJott, if you're reading this, the first music it played was... 
'Prodigy: Smack Your Bitch Up' :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 17:04:45 +00:00
François Revol
830d967717 added CamdDevice::WaitFrame() which will be needed to rewrite teh producer frame generator thread
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:56:01 +00:00
François Revol
61064c3bea Better locking: CamDevice::Start/StopTransfer() should be called with lock held.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:48:04 +00:00
François Revol
c589dbfc72 use __BASE_FILE__ to get shorter file paths.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:38:22 +00:00
François Revol
941a89598d update (c) years
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 18:34:50 +00:00
François Revol
7f2c1e802f fix crash in debug info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21111 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-11 22:21:29 +00:00
Axel Dörfler
ff2a7d86f8 Start of a CDDA file system (replacement for cdda as part of BeOS):
* doesn't do anything useful yet, but it compiles (and should be mountable).
* CDDA test app "cdda_text" will dump the table of contents as well as eventually
  existing CD-Text - if I had known only so few titles in my collection would come
  with those, I probably wouldn't have gone through it (if the samples I used are
  representable, it's about 1/10th of the CDs I have) :-)
* cdda_text compiles on BeOS, so if you have known CD-Text CDs, please test it
  and report eventual problems - the test app already tries to beautify the names
  as much as possible. Usage is "cdda_text <path-to-raw-device>".
* The test app will be removed later, so better test now ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-11 12:25:02 +00:00
Axel Dörfler
6be1e37d94 * Cleaned up SCSI headers a bit.
* scsi_cmds.h declared several variables instead of naming enums.
* the CD-ROM standard retrieval was broken (always checked index 0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 14:13:37 +00:00
Hugo Santos
d1c9c9d4b4 rtl8139exp: lock the softc when re-enabling interrupts so we don't in the middle of a disable/enable interrupts operation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:38:20 +00:00
Hugo Santos
18c80ff054 3com driver, added required MII modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:33:49 +00:00
Hugo Santos
8a43628971 freebsd compat. layer: some missing definitions as well as allowing multiple MII modules per driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 06:03:24 +00:00
Hugo Santos
abb7cffa2f rtl8139 (FreeBSD version): added rlphy miibus support, needs testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21098 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 04:53:02 +00:00
Hugo Santos
a300c4e4e1 added FreeBSD 6.2's if_rl (rtl 8139) driver. Mostly original source, just a minimal change to protect the interrupt mask register to more freely enable and disable device interrupts. This driver is still not working, MII support is left, should come soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:48 +00:00
Hugo Santos
2a275df505 freebsd compat. layer: a couple more definitions, minimal, mostly adding a new glue method to re-enable device interrupts since if_rl (rtl 8139) will require it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 15:27:13 +00:00
Hugo Santos
5538a25de7 it seems jam prefer SubInclude to be on the bottom of the Jamfile. suggested by Jerome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:52:14 +00:00
Hugo Santos
7d1e0a1da9 freebsd compat. layer: fixed a couple warnings, use KernelStaticLibrary as suggested by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:49:05 +00:00
Hugo Santos
6ef02a6c21 added FreeBSD 6.2's 3Com 3c90x Etherlink XL PCI driver. The compat. layer still needs a couple things for this one to work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:41 +00:00
Hugo Santos
50de974ebb added FreeBSD 6.2's Intel Pro 1000 driver to the tree (original source, unchanged).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 13:20:14 +00:00
Hugo Santos
45b5203b78 network stack: getsockopt/setsockopt are no longer optional for protocols, as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:57:00 +00:00
Axel Dörfler
6386c723a5 Applied patch provided in ticket #1218 - should enable nVidia 7100 GS cards. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 12:02:49 +00:00
Hugo Santos
b6ace498dd freebsd compat. layer: added a requirements field so not all drivers init all subsystems. pcnet for instance doesn't need taskqueues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:52:48 +00:00
Jérôme Duval
e477dd1845 now polls the link status for older revisions of bcm440x
inversed active status


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 16:27:56 +00:00
Hugo Santos
a0a553caa3 tcp: allow TCP_NODELAY to be set
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 15:38:33 +00:00
Axel Dörfler
7f61f501cf We now respond to TCGETA to let isatty() think we're a terminal which caused our libroot to use unbuffered I/O.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 00:01:51 +00:00
Jérôme Duval
d752ee3be8 added missing ioctl for handling link state change. I noted it's not supported on my bcm440x chipset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 18:08:55 +00:00
Michael Lotz
34cbbba798 * Reworked userland buffer access functionality into two functions in the Transfer class to not duplicate code in each HCD
* Use these functions in UHCI and EHCI which greatly reduces overhead on fragmented transfers as the vector conversion and area cloning is only done once
* Use the PrepareKernelAccess() function before submitting fragments which fixes the crash when trying to access the next fragments buffer in user memory from the kernel thread

This should fix bug #1167 which could be encountered when sending data to a mass storage device with an application that uses a large enough transfer buffer size.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 17:57:30 +00:00
Michael Lotz
562328e70a Fixed wrong cancelling algorithm. This is what you get when you "rework" an existing function without thinking it through again... Thanks J Jerome for noticing\!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 16:58:00 +00:00
Jérôme Duval
40fd232817 implemented CancelQueuedTransfers for uhci
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 14:08:30 +00:00
Axel Dörfler
3bef51f0ae * Removed unused code when USER is defined - the fs_shell no longer does this, but
provides a kernel emulation layer.
* Renamed all private BPlusTree methods to have the '_' prefix.
* Removed useless set_sem_owner() from Lock.h - all semaphores created in the kernel
  always belong to the system team automatically.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 12:26:21 +00:00
Axel Dörfler
68f08f67f5 * Fixed a bug introduced with big-endian fixes in r17557; the super block's blocks_per_ag
field was always 1, and therefore, the last allocation group could grow too large.
  Thanks to Samuel Rodriguez Perez for reporting the error (bfs_shell was crashing on
  larger images).
* Minor cleanup in BlockAllocator::_Initialize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 10:56:40 +00:00
Hugo Santos
80df11254f freebsd compat. layer: now both receiving and sending work with PCNET.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 05:28:38 +00:00
Hugo Santos
e2941f52fd freebsd compat. layer: couple fixes, sending now works with PCNET. enabled ifmedia_ioctl, and when opening a device, set it down, change media to ETHER/AUTO and set it back up so it sees a IFF_UP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 03:20:58 +00:00
Hugo Santos
0bdff52467 freebsd compat. layer: instead of disabling the IRQ, disable the device's interrupts on real interrupt request as suggested by Travis. This solves potential issues with shared IRQs. The check & disable interrupts function is part of the required glue code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 22:40:19 +00:00
Michael Lotz
4b3d0fcfda Implemented transfer cancelling for EHCI by reworking the previously unused CancelPendingTransfer() into CancelQueuedTransfers() with the pipe based semantic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:55:26 +00:00
Michael Lotz
3dc77d1dc9 Prepare cancelling transfers from the stack side. The actual handling will happen in the HCD modules where transfer management has to be done anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:22:12 +00:00
Michael Lotz
a49633c222 * Moved around some initialization to avoid problems when deleting incompletely created objects
* Also move waiting for the first explore to run through out of the constructor to reduce delays
* Remove the old device when a new one is connected to the same port - this could happen when you very quickly un- and replug a device

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 15:17:00 +00:00
Michael Lotz
3f2288a41b Fixed wrong deallocation of device resources which caused KDL when unplugging devices with more than one interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:48:38 +00:00
Hugo Santos
3d09a7e4e8 Added FreeBSD 6.2's PCNET driver (original source, no modifications). It's what i'm using to develop and test the compat. layer right now, since it's one of the possibly devices VMWare emulates. although probe() already works, there's still a lot of work ahead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 00:47:39 +00:00
Hugo Santos
62a21143be fixed a race condition in TCP's WaitList Wait/Signal that was preventing Connect() from awake when it should. Reported by Francois Revol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 18:43:30 +00:00
François Revol
ec8bd525ca Add api_version.
Moved #define DEBUG after the lock.h include, as it wants to find lots of header I'm too lazy to track.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 14:35:01 +00:00
François Revol
232467aa4e Hook virtual/ to the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 14:33:49 +00:00
Hugo Santos
8c5520d67a use a appropriate naming for structure fields.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 12:04:34 +00:00
Hugo Santos
968afe3f95 renamed fxp to ipro100.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:11 +00:00
Hugo Santos
785e7ef7dd renamed TCP's TSval/TSecr
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:27:00 +00:00
Hugo Santos
336ce7039c freebsd compat. layer: some initial glue code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 11:26:37 +00:00
Axel Dörfler
a5667a5b8b * Renamed nv.driver to "nvidia", nm.driver to "neomagic", and mga.driver to "matrox";
also renamed their accelerants and settings files accordingly.
* Added Mandelbrot and GLDirectMode as demo applications.
* Moved CortexAddOnHost to /bin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:49:53 +00:00
Ingo Weinhold
122723c33b Unbreak the build. No idea what that was supposed to mean. No Jamfile
(exceptions might be obscure ones in src/tests/...) should directly refer
to anything outside of the build system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 07:39:01 +00:00
Axel Dörfler
8c40c83fa1 Renamed net_device::{add|rem}_multi() to {add|remove}_multicast for consistency and clarity.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 06:57:26 +00:00
Hugo Santos
246b7a47b9 Added FreeBSD's 6.2 fxp driver (Intel Pro Express 100) to the source tree (original source, no modifications). It already builds and links but it is still a bit far from working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:42:09 +00:00
François Revol
835ec57dc2 Fix building in Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 21:18:45 +00:00
François Revol
ff517f433e Only publish configured devices.
Implemented write(). Not sure it works as it KDLs here on shutdown :^)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:38:09 +00:00
Jérôme Duval
65c84f154b clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:30:11 +00:00
Jérôme Duval
7743c49897 added support for B_RGB32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:29:05 +00:00
François Revol
7f66887bc3 (not working) kludge to allow mountign with a single connection in BeOS (mount open()/close() twice).
Implement correct settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 14:40:42 +00:00
François Revol
a0062874c5 512 as block size. Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 06:37:38 +00:00
François Revol
3ca76df52e Implemented request funcs. Done read(). It's working \o/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 06:06:10 +00:00
François Revol
637cbfeeef Add debug output.
Implement connect/teardown.
Added a workaround for BONE wanting to keep locked pages around when connect() fails (TCP teardown-> "trying to delete area in use!"). But doesn't seem to wait long enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 03:37:04 +00:00
François Revol
771c6b9355 Locking for Haiku & R5. Init stuff (driver_settings, not finished). open/free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 01:08:36 +00:00
Jérôme Duval
218b5bbcc3 clean
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 19:04:44 +00:00
Axel Dörfler
b8db3933b1 Fixed a bug reported by Stippi: when a report from the USB device contained a key up
and a key down event at the same time, the key repeat timer didn't work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:48:21 +00:00
Michael Pfeiffer
ce3a2228e7 Changed __ZETA__ to B_BEOS_VERSION_DANO as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 15:46:25 +00:00
Hugo Santos
f6cfc5af19 set ValueIterator's fIndex to the next slot so OpenHashTable's Iterator properly gets it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:08:55 +00:00
Hugo Santos
2b1c2dd349 when 0 is specified as the interface index with the generic multicast delta API, the stack should select an interface for the application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:41:00 +00:00
Hugo Santos
ab7e05a39b also dump filter mode and sources in 'ipv4_multicast'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 12:40:50 +00:00
Hugo Santos
7015d5deaa couple fixes to make MDR addons build with gcc 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 10:57:27 +00:00
François Revol
e96eef09e4 Find the device and point the cookie to it on open().
Comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 01:04:36 +00:00
François Revol
4d1cc41eb3 skeleton for an fmap driver (IMAGE.BE). Start of an Network Block Device driver. NBD server python script I foundon the net for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:38:45 +00:00
François Revol
55b368036c don't provide get_vnode_name as we don't know how to do it. just set it to NULL and let the VFS handle it.
This should fix oddities in Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:22:39 +00:00
Hugo Santos
09b89797af added ADDMULTI/REMMULTI support to ipro1000. Also cleaned up the compat. layer a bit to reuse some of the system's definitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 00:10:00 +00:00
Marcus Overhagen
96575d053e delay device publishing by 1 second, for better testing of possible input server race condition
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 23:03:40 +00:00
Marcus Overhagen
512d703b90 reduce timeout to 150ms inside close hook, the mouse might already be gone
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 19:57:18 +00:00
Hugo Santos
bbcf6596ec select the default interface to be used for multicast through a routing table query.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 15:15:47 +00:00
Hugo Santos
dfc2cabe43 call the callbacks with ->next (...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:57:26 +00:00
Hugo Santos
89361fb14e ethernet_device's add_multi/rem_multi now call into the driver using the ETHER_ADDMULTI/ETHER_REMMULTI ioctls.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20948 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:41:44 +00:00
Hugo Santos
954038303d added add_multi/rem_multi to net_devices. Glued the interface protocol multicast handling with net_device via add_multi/rem_multi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:26:03 +00:00
Hugo Santos
8465a06910 added a ValueIterator to MultiHashTable to present a limited view in result of Lookup()s.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 12:16:36 +00:00
Hugo Santos
8aa4c7e370 prepared the ipv4 multicast code for full multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:59 +00:00
Hugo Santos
1a41adbcd2 added join_multicast/leave_multicast to datalink protocols, preparing for full multicast support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 11:38:39 +00:00
Michael Pfeiffer
5d1514bdd9 Replace ostringstream with BString.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 07:58:54 +00:00
Michael Pfeiffer
f57432d8c2 Support building on Zeta with BeIDE or make.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-01 07:54:40 +00:00
Hugo Santos
73f1548be1 some getsockopt/setsockopt and multicast fixes.
* allow an ipv4 bind() to a multicast address.
 * bumped getsockopt/setsockopt kernel driver buffers to 256 bytes to at least handle structures which take one sockaddr_storage.
 * convert generic multicast delta API names to IPv4 ones before handling the specific option.
 * changed ipv4_getsockopt/ipv4_setsockopt a bit as the code gcc 2.95 was generating was a bit too funky.
 * properly pass setsockopt/getsockopt to handling protocols.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 19:42:12 +00:00
Axel Dörfler
d3437fec0e * Fixed warnings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:57:00 +00:00
Hugo Santos
0086fe2095 possibly fix to #1190, the endpoint wasn't being unlinked on Free().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:04:38 +00:00
Hugo Santos
57967505c2 fixed getsockopt/setsockopt callchains. also fixed the cleanup of multicast filters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 12:32:08 +00:00
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