Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 2bd388f696 Added two more utility functions to the timer service:
* cancel_timer() cancels a timer, and returns true if the timer was running
* is_timer_active() determines if the timer is currently running or not.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19393 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-29 19:09:19 +00:00
Axel Dörfler 4dbe78a0cd Discarded the use of data_header::size in the last commit, but forgot to actually
remove it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 23:22:19 +00:00
Axel Dörfler 75dc7cb58a * Renamed _SendQueuedData() to _SendQueued(), and made it independent from the
"flags" parameter - this can't be used with retransmitting anyway, and since
  the flags are actually fixed per state, the previous solution didn't really
  make much sense.
* Made _SendQueued() work a lot more like BSD's tcp_output().
* We can now send even large buffers that need more than one segment at once.
* Added a simple recursive locking mechanism for now - this should be done
  differently, though, as we want to have good performance in full duplex mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 23:07:56 +00:00
Axel Dörfler 0ce94a8f47 * Rewrote tcp.h header - however, I think it should only include the TCP options
that can be set via setsockopt().
* For now, the struct tcphdr and its definitions are also part of the header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 23:02:30 +00:00
Axel Dörfler 49961c1489 * Fixed a stupid bug in append_size() - it rounded the size-per-data_header value,
so that the buffer could be smaller than the one requested.
* Rewrote data_node management in the header; now, every data_node knows where it's
  placed, and can be actually discarded as needed.
* Rewrote free space management in the header: there is now a free chunk list, so
  that all memory can be reused (it's currently only used for data_nodes anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 23:00:33 +00:00
Axel Dörfler 03ac1086c1 Made sure that the colors are reset more often; it should now happen much less often
that the terminal's color is changed when the app is quit (or interrupted).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 22:00:12 +00:00
Axel Dörfler 8535905415 Some more work-in-progress:
* the TCPConnection::Receive() method is now more or less working as it should;
  of course, there are a number of missing things (like round-trip time estimation,
  retransmit timers, receive window update, ...).
* reply_with_reset() was broken, and accidently always send the segment it should
  answer with reset... (causing an endless loop during connect)
* BufferQueue::RemoveUntil() must always set the fFirstSequence member to the new
  sequence, or you will never be able to send anything with that queue (as the
  data in it would be no longer contiguous).
* connects, sendings (only single segments), and receiving data is working now
  basically (but very incomplete); retransmits or even subsequent transmits (if
  the data to be sent doesn't fit in one segment) doesn't work yet, so you better
  don't lose any segments :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 02:20:35 +00:00
Axel Dörfler a9a07b7215 * Now disables debug output after startup (can be reenabled using the dprintf command)
* added a socket_notify() dummy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-28 02:12:03 +00:00
Axel Dörfler 1166a4f9b5 Work-in-progress on TCP:
* Changed the implementation to be more BSD like; state variables are now
  the same set as usual.
* The BufferQueue didn't use the initial sequence correctly (problems with
  SYN sequence).
* It now also removes data out of the current data set (ie. data that was
  already read by the application).
* BufferQueue::Get() also didn't work correctly (the version used by sending
  data).
* Fixed various issues around the code like incorrect handling of unexpected
  data.
* TCP options don't need the end-of-options marker in case they fill up the
  data already, also, the end-of-options marker doesn't need to be padded.
* Options are now only processed during SYN - other options may come
  later (timestamps are candidate number one).
* Also broke what was working before: connections do no longer work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-26 23:29:08 +00:00
Axel Dörfler fc8c0ec946 * Small optimization for set_timer(): now only removes the timer from the list
if it won't be added anymore.
* Small fix for set_timer(): now set the timer->due field back to 0 when a
  timer is removed - this prevented a timer from being correctly readded later
  (possible crash)!
* net_buffer's append_cloned_data() now does some more checks to prevent unnecessary
  work and detect wrong arguments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-26 23:18:36 +00:00
Axel Dörfler 817a7408d4 * Added new BufferQueue.cpp sources.
* The MTU returned by the domain was too large; it should already take the
  IP header into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:14:40 +00:00
Axel Dörfler 5fcf044823 * Added a helper class tcp_sequence which hides the semantics of comparing sequences
(this was completely broken in the code before).
* Wrote a buffer queue class to replace the previous algorithm - instead of merging
  all buffers together, they're kept in a list, so that the most work will be done
  in the application's thread and only very little when the data is received; maybe
  we should add an append_move() function to net_buffer, and use that instead,
  though, to keep the number of fragments small.
* The advertised receive window is now bound to 65535, the receive window shift
  is correctly computed, but not yet used.
* The new buffer queue is now also responsible for the send buffer.
* TCPConnection::ListenReceive() used the wrong address to retrieve the target route.
* Fixed TCPConnection::ReadData() to also return data when the connection is already
  closed, and to wait if the connection is not yet established (in SO_NONBLOCK mode);
  it still doesn't wait until data is available, though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:13:30 +00:00
Axel Dörfler 3567d0cb1b Added more than one option was broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:02:07 +00:00
Axel Dörfler 224e38e302 Added function to append cloned data from another buffer (to be used by TCP).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 14:30:54 +00:00
Axel Dörfler 604d21a600 * Added an offset/sequence field to the net_buffer - this can and will be used
by the TCP implementation for its reorder and retransmit queues.
* The ipv4_fragment is no longer needed, as we can use the above field there
  as well - this saves one extra allocation per received fragment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 11:29:36 +00:00
Axel Dörfler 7c0541c12f Build fix; I obviously forgot to compile the stack itself after the changes :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 10:29:20 +00:00
Axel Dörfler a627118936 Added support for setting/getting: SO_NONBLOCK, SO_RCVTIMEO, SO_SNDTIMEO,
SO_RCVLOWAT, and SO_SNDLOWAT.
Lowered the default buffer size to be within the uint16 size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-24 22:58:39 +00:00
Axel Dörfler b38e841106 Added support for simulating simultaneous connect (via the -s option).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-23 18:40:04 +00:00
Axel Dörfler bed835af1e The TCP tester now also allows you to reorder random or specific packets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 19:13:07 +00:00
Axel Dörfler 719aa9ff8c Decoupled receiving threads, so that the server as well as the sender get their own
receiving thread. While this steals away a test case for now (dead lock), it will
allow to reorder packets in a better way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 17:39:54 +00:00
Axel Dörfler cc5496e34a Extended the TCP tester app a bit:
* you can now instruct it to drop specific packets
* you can now also define a round trip time for the packets
* added a "send" command to send arbitrarily sized buffers over TCP.
Not surprising, the current implementation of TCP doesn't do anything with
those (other than crashing as soon as you try to send data).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 16:57:22 +00:00
Axel Dörfler 2628e60cbc Moved BMenuWindow, BMenuFrame, and BMenuScroller into the BPrivate namespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 11:52:18 +00:00
Axel Dörfler aa389c6b38 Now sends the B_SILENT_RELAUNCH message if the app is already running and has
no arguments (or doesn't want them). We even already had the correct handler for
B_SILENT_RELAUNCH around :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 11:36:11 +00:00
Axel Dörfler 390422241e Small optimization of the timer mechanism: the timeout is no longer updated
if not really necessary; ie. you can now add timers without an extra performance
hit if it's not really required.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 23:20:41 +00:00
Axel Dörfler 1941200400 Added unrar to the image as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:55:57 +00:00
Axel Dörfler 2c3cd1b95d Added unrar 3.6.7 to the repository. Most changes to the original versions done
by Ioan Molnar - thanks!
Looks like our mbstowcs() function is broken, BTW - it needs to be disabled when
used under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:53:55 +00:00
Axel Dörfler 03ece74f5b Renamed x-rar-compressed to x-rar, fixed its contents, and added Expander as
default application.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:04:30 +00:00
Axel Dörfler 3e30cbdb1e Added option to the NetBufferPrepend constructor to prepend an arbitrarily sized
piece of data, instead of the type size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:56:17 +00:00
Axel Dörfler a7470d6bd5 * The kernelland_emu now supports turning off debug output; tcp_tester can toggle
this option now using the "dprintf" command
* Added dump_block() function to kernelland_emu
* Added tcpdump-like output to tcp_tester for each TCP segment, lines from the
  server are red, lines from the client are black.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:38:21 +00:00
Axel Dörfler 75743fcd65 * Implemented adding/processing TCP options; so far only "max segment size" (MSS)
is really supported.
* Added TCP option fields to the tcp_segment_header structure - they are filled
  in on receive, and add_tcp_header() now gets a tcp_segment_header as well, and
  will add any options automatically.
* Fixed some minor bugs (connection with passive open had wrong state after connect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:35:51 +00:00
Axel Dörfler 6ff565b0d6 * Moved the private kernel locking functions into kernelland_emu.cpp because the
actual versions cannot work in userland.
* Extended the tcp_tester to be able to connect and quit connections.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 23:35:07 +00:00
Axel Dörfler 30ea523ad1 * Big rework of TCP - doesn't have any additional features yet, though, even
though it can now connect to itself (and should, in theory, also be able
  to connect to other TCP implemenations).
* Separated the big state machine from ReceiveData() into several smaller sized
  methods.
* Moved reset and acknowledgement handling for all kind of receives to a common
  place in tcp_receive_data().
* Removed locking for now - the previous locking approach was wrong due to a
  number of reasons: the previous version deadlocked when it had to connect
  locally, and it also didn't take into account that TCP is a full-duplex
  protocol; it's not wise to only be able to manage one direction at a time
  if that's not really needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 23:33:24 +00:00
Axel Dörfler 35d3421dc5 Greatly enlarged the number of possible kernel_arg ranges as we were already
pretty close, and the number of loaded modules have a direct influence on
this (even though we're currently loading the symbols by default).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 15:42:42 +00:00
Axel Dörfler 1a948d749b Return better error code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 15:36:10 +00:00
Axel Dörfler dd778cd92b * Sending uninitialized buffers to Icon-O-Matic is sure fun, but it actually
caused Icon-O-Matic to refuse to work with us :)
* only call free() when the data has actually been allocated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 15:00:26 +00:00
Axel Dörfler 13417161c8 * It's #ifdef HAIKU_TARGET_PLATFORM_HAIKU - not just #if :-)
* Fixed using B_EDIT_ICON_DATA for file types in ref mode, too, as well as having
  the icon data ready for ref mode and MIME type mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 12:58:09 +00:00
Axel Dörfler 280ff9398a Implemented absolute scrollbar setting via right mouse button as discussed on the list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 12:53:54 +00:00
Axel Dörfler da01893148 * A new color window was opened every time you clicked on "Color Scheme..." - patch
provided by Vasilis Kaoutsis.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-17 08:52:01 +00:00
Axel Dörfler c095e877d8 Fixed building the image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-16 13:02:40 +00:00
Axel Dörfler a0c952adf2 Fixed two warnings (caused by the layout extensions).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-16 13:02:12 +00:00
Axel Dörfler 7cb11339a0 * TypeIconView now inherits from IconView and only adds the icon source label
to it - it also inherits all the features like drag&drop, of course.
* IconView now inherits from BControl instead of BView, might need some more
  work to properly handle the invocation message stuff, though.
* The "Remove Icon" menu item was always enabled, no matter if there was an
  icon or not; also it was not properly detected wether or not a MIME type
  had an icon when building the menu.
* Dragging in MIME type mode now works as well.
* Added some getter methods to the IconView to retrieve the data it has.
* Some other cleanup, like adding missing consts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 20:22:46 +00:00
Axel Dörfler b724cb6408 IconView can now also be set to a MIME type instead of a file or a buffer.
Untested actually, but FileTypesWindow's TypeIconView will be merged to this
one soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 18:39:30 +00:00
Axel Dörfler 93ced9a11c The dragged icon is now slightly transparent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 17:56:46 +00:00
Axel Dörfler 035f2c2a4d When dragging an icon into an icon view that gets its icon from its MIME type,
the vector icon is now retrieved as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 17:49:22 +00:00
Axel Dörfler 8c34572bab Somehow the vector icon version of GetIconForType() was missing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 17:37:26 +00:00
Axel Dörfler 5e0acbb2fb * Now that the icons are keyboard navigable, we need a different drop target
identifier: note, this reveals a) an incompatibility between R5 and Haiku
  with regards to drawing rects with a pen size != 1, b) a drawing bug in
  that same case in non 32-bit modes - if you have time, Stippi... :-)
* If the icon view is bound to a file, it will no longer accept that specific
  file as a drop target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 16:00:08 +00:00
Axel Dörfler 745e7694e5 * The IconView is now keyboard navigable, and can be invoked (via the enter key),
or the current icon be deleted (using the delete key).
* Drag&drop between IconViews should now also work as expected for all icon
  types (only the large icon was taken into consideration before).
* Improved error handling in the Icon::CopyTo() methods


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 15:23:24 +00:00
Axel Dörfler f483286d59 Application icons and supported type icons are now also saved.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 14:26:10 +00:00
Axel Dörfler 6e78183a77 * The application type window did not sort the types correctly (they were ordered
by type, not type name (ie. "video/..." vs. "AVI").
* The type list is now using a DropTargetListView and will take over the file types
  of any files you drop on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 10:48:52 +00:00
Axel Dörfler 1415b63512 * Added a simple list view that can indicate that it accepts a dragged object.
* The extension list is now using this list view: when you drop some files on
  it, it will now take over their extension into the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-15 10:32:20 +00:00
Axel Dörfler 00cf1f4671 Moved icon_for_type() to IconView.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-14 18:26:10 +00:00
Axel Dörfler 7f721ea14d Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-14 18:08:53 +00:00
Axel Dörfler 7837924c49 * Fixed warnings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-14 17:25:56 +00:00
Axel Dörfler 0b0ff90fa0 * Extended the IconView quite a bit to support what we need:
- supports drag&drop from icons (only tested for non-vector icons yet)
  - allows to remove/edit/add icons (there is still need for support in Icon-O-Matic
    for this to work completely)
  - has a mode where it stores the changed icon data in an object rather than
    directly to disk; this object can maintain all BeOS icon types
  - reacts to live updates from file icons
  - supports different view sizes (for later or uses in other apps)
* works again on BeOS (it crashed before because of a BeOS "feature").
* in the Application window, the "supported types" listview will now be enlarged
  with the window instead of the long version description.
* To compensate for that, the latter now shows a scroll bar.
* Application delivered supported type icons are now shown as well, and can
  be edited - they're not yet saved, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-14 16:11:56 +00:00
Axel Dörfler fdd0f4ce10 * Made copy constructor and assign public and implemented them.
* Added BBitmap(const BBitmap&, uint32 flags) constructor as found in Dano/Zeta.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-13 18:56:44 +00:00
Axel Dörfler fd5c02b25c * The recent files list now also preserves the case of the MIME strings.
* STL allocations are guarded by a try/catch block.
* As in RecentApps, Get() did not properly populate an error condition.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 17:46:34 +00:00
Axel Dörfler ddacfc7ff0 * The recent app list now filters out Tracker & Deskbar, as reported by Korli.
* The application signatures now preserve the case; this is better for querying
  after the app, and has no disadvantage.
* Adding an item to the list is now guarded by a try/catch block - allocations
  can fail, and the registrar shouldn't get down because of this. We need to
  proof-read all of registrar (and storage kit) for this :-/
* Get() did not populate an eventual error while adding items to the provided
  list (such as B_NO_MEMORY).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-12 17:16:13 +00:00
Axel Dörfler ead36a7efb The pending/connected connection lists were not initialized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 16:33:43 +00:00
Axel Dörfler d47eebf30b * The select()/deselect() hooks now actually call the socket's request_notification()
and cancel_notification() functions.
* Completey dropped the old select code, as well as any R5 compatibility stuff. If
  we ever need it again, it's still in SVN history.
* The socket module was put in uninit_driver() for no reason.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 12:27:30 +00:00
Axel Dörfler a888357f39 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 12:22:48 +00:00
Axel Dörfler b70a062dc5 * Separated create_socket() and the call to the protocol's open() function - open()
is not supposed to be called for accepted sockets, only for those created via
  a call the userland socket() function.
* Renamed net_socket_module_info::socket() to open_socket() to make this distinction
  a bit clearer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 11:56:52 +00:00
Axel Dörfler d2021d5766 * Took Philippe's hints into account - we now do some locking in socket_spawn_pending() :-)
* Also take the max backlog into account as set by listen() - but reserve a little
  extra room for never completing connections, and that listen(..., 0) always accepts
  at least a single connection (as the BSDs do).
* Spawned connections won't accept new connections, so SO_ACCEPTCONN must be cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-10 10:31:44 +00:00
Axel Dörfler 44b3faaa19 socket_accept() now checks for SO_ACCEPTCONN before calling the protocol's
accept function to enforce valid codepaths (you need to call listen() before
accept()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-10 09:32:11 +00:00
Axel Dörfler 1a0e92a33b Implemented backlog/pending connection support to the sockets - while currently
only TCP needs this, other stream oriented protocols might too, in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-09 18:53:18 +00:00
Axel Dörfler e3c14348aa Some more work in progress towards a working test stack environment - if TCP would be
able to connect to itself, this should already work at this point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 19:11:28 +00:00
Axel Dörfler de6b43cd7c Now prints debug output in blue, so that you can easily differentiate it from other output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 19:07:38 +00:00
Axel Dörfler 0b3ee1ecc8 Added an empty (and incomplete) shell for a TCP test application. When ready, it provides
a set of commands that can be thrown at a listening and a client end of a TCP connection.
This will allow for an easier and faster implementation of the TCP module, as well as
regression tests, etc.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 15:43:20 +00:00
Axel Dörfler 669e149b7b * Fixed missing propagation of the module initialization result; before, you
could get modules whose initialization failed.
* Fixed how built-in modules are initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 14:47:41 +00:00
Axel Dörfler 4313accfba libkernelland_emu.so now builds again - and now also contains khash.c.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-08 12:51:22 +00:00
Axel Dörfler bae87c9140 Added a new type for the vector icon format 'VICN' or B_VECTOR_ICON_TYPE.
It's hopefully now used everywhere instead of B_RAW_TYPE where appropriate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 02:46:25 +00:00
Axel Dörfler 702b034077 I changed the signature of AboutHaiku, but I forgot to update it here - now Deskbar should
show the app again when choosing the "About Haiku" menu item :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 00:54:20 +00:00
Axel Dörfler 73b7614aa0 DiskProbe now correctly monitors vector icon changes in the header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-07 00:43:19 +00:00
Axel Dörfler 31d3ef17d8 * Some cleanup, renamed some flags/constants to be a bit clearer (even though the states
now deviate from what other use to have, ie. FreeBSD).
* Replaced macros with inline methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 14:09:37 +00:00
Axel Dörfler 088a32925d Make use of the new vector_icon type in rc.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 12:26:54 +00:00
Axel Dörfler f23596149e Added vector and PNG icon support to rc (PNG icons are not yet supported by the rest
of the system, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-06 12:08:24 +00:00
Axel Dörfler 55b40aa53a Updated to version 17 of the Konatu font, thanks to Koki for the hint.
Changes in this version:
* Fixed the (reversed) outline of approximately 150 characters



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-05 15:24:00 +00:00
Axel Dörfler 3081be7808 Made the icon slider a bit larger so that it looks nicer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 18:59:48 +00:00
Axel Dörfler 2b88f9a235 Build fix for R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 18:10:13 +00:00
Axel Dörfler 71a0a68ad0 * BeOS also gives back B_BAD_VALUE on shared libraries when doing BAppFileInfo::SetVersionInfo()
* Furthermore, this call crashes when called with a NULL version info
* Fixed some typos that should have proven problematic under R5/BONE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 17:38:21 +00:00
Axel Dörfler 3f5affa07f BeOS returns B_BAD_VALUE for some things on shared libraries.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 17:22:04 +00:00
Axel Dörfler 33a44a136b <build>mimeset no longer uses the native update_mime_info() call on BeOS compatible
platforms. Instead, it uses the (extended) Linux compatibility layer classes, so that
it supports setting vector icons as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 17:00:39 +00:00
Axel Dörfler e89f143e3c * The build's UpdateMimeInfoThread can now also run on BeOS (which obviously returns
B_NAME_NOT_FOUND instead of B_ENTRY_NOT_FOUND for all missing types).
* Also, BMimeType::GuessMimeType() doesn't seem to work at all under BeOS.
* The build's MIME updater no longer ignores the error from DoMimeUpdate() - so that
  you'll now may get error messages during the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 16:58:39 +00:00
Axel Dörfler e1e2b03bb7 * Added TODO comment about missing vector icon support
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 16:22:58 +00:00
Axel Dörfler 2a105bc1e6 Added support for setting the vector icons under Linux - not yet tested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 16:22:03 +00:00
Axel Dörfler e9ba57e495 The slider now has a fixed size, and will be hidden in case the icon could not
be rendered.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-04 11:23:24 +00:00
Axel Dörfler 5b7505f51b Added a slider for scaling the vector icon in 8 pixel steps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 19:17:20 +00:00
Axel Dörfler 250cc422be Obviously, the R5 icon code has problems when converting to 32 bit (crashes here) :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 19:16:37 +00:00
Axel Dörfler bca3f1efbf Added support for the vector icons to FileTypes and DiskProbe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 15:13:31 +00:00
Axel Dörfler 0ad660a168 Remap all preloaded executables read-only and executable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 20:38:30 +00:00
Axel Dörfler 5718fbb92c Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 18:08:25 +00:00
Axel Dörfler c35b04de31 * Moved the TCPConnection class into its own file.
* Added some missing result checks, mostly for allocations.
* Fixed a wrong precendence with the ?: operator
* Some minor cleanup.
* Renamed sBufferModule to gBufferModule - the header expects it to be a global,
  so it should be named like one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 17:27:13 +00:00
Axel Dörfler 774e1e2116 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 15:08:55 +00:00
Axel Dörfler 88008dd688 Fixed overwriting the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 15:00:05 +00:00
Axel Dörfler a5640720a8 Fixed warning when built for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 14:21:36 +00:00
Axel Dörfler 84a3cc1e94 * Added small TCP tests written by Andrew.
* Removed a poorly written TCP test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 14:09:41 +00:00
Axel Dörfler 9d00b1d56d * The "no theme available" string is now resized as needed.
* Rewrote header, cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 12:54:33 +00:00
Axel Dörfler 7ca295180f Applied Stefano's patch to bug #886. Also does nothing now if startOffset is larger
than endOffset.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 10:07:13 +00:00
Axel Dörfler 26a0f1254e Fixed a wrong error message in case an add-on couldn't be loaded. Reported by BeOS Mr. X.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-02 09:57:02 +00:00
Axel Dörfler 8e963d88f0 The app_server did not reset keyboard focus on B_INPUT_METHOD_EVENT messages.
This should fix bug #658.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-31 01:24:05 +00:00
Axel Dörfler b3d7f4bcf2 * Remove newlines from text; that should make nicer line breaks in the alert.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-31 00:50:47 +00:00