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
Changed hotplug handler to use the republishing service.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20892 a95241bf-73f2-0310-859d-f6bbb57e9c96
- 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
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
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
- 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
- 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
- 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
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
- 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
- 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
- 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
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
- 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
- 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
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
- 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
- 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
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
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
- 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
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
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
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
- 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
- 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
- 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
- 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
- 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
- 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
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
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
- 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
- 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
- Also fixed the buffer size check in UDP's SendData() since UDP's length field includes the size of the header we need to check that as well. IPv4 is correct since we check for the size after prepending the header (due to it being possibly already included).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20592 a95241bf-73f2-0310-859d-f6bbb57e9c96
- don't set_to_empty_address, instead consider NULL to be the empty address and use is_empty_address().
- most ipv4 address module calls already consider NULL to be the empty address, ipv4_hash_address_pair didn't, fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20589 a95241bf-73f2-0310-859d-f6bbb57e9c96
- changed the link, ipv4 and udp modules to use fifo_socket_enqueue_buffer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20587 a95241bf-73f2-0310-859d-f6bbb57e9c96
- changed the socket module to use thew new RECEIVE/SEND in all forms of recv() and send()
- changed libnetwork to use the new RECEIVE/SEND
- remove transfer_args processing from strace since the structure was removed
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20581 a95241bf-73f2-0310-859d-f6bbb57e9c96
Note, this did not work with an older libtranslation.so from Haiku, so it might
also not work correctly on BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20578 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added missing header when compiling RAWTranslator in test mode for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20575 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved TIME_WAIT and CLOSED handling to common Receive() path that does Sequence checking and further tests.
* Moved setting FLAG_NO_RECEIVE to the end of Receive() when FIN is set so we can check for NO_RECEIVE before processing the segment text just after processing FIN.
* Added a new action DELETE to be used when in TIME_WAIT and we receive a good RST
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20572 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added ETHER_INIT back in; we even have a driver in our repository that uses it,
thanks to Michael for pointing that out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20556 a95241bf-73f2-0310-859d-f6bbb57e9c96
* use em_media_status to get link status
* added IFM_1000_SX (Fiber Optic) to net/if_media.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20551 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed ICO specific configuration, added copyright note about the source of this translator.
* Disabled test mode for the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20548 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The device interface list now uses class DoublyLinkedList instead of struct list.
* Implemented SIOC[SG]IFMEDIA for setting (not supported by any device yet), and
retrieving the device media information.
* Fixed a locking bug in list_domain_interfaces().
* Added new stack function device_link_changed() that should be called in case the
link state (media) changed.
* The ethernet device module now spawns a thread and will periodically check the media
state of all ethernet devices that support this (if any).
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20546 a95241bf-73f2-0310-859d-f6bbb57e9c96
* set FLAG_NO_RECEIVE/FLAG_NO_SEND on shutdown() and send FIN on SHUT_WR
* if a send() is attempted with FLAG_NO_SEND set return EPIPE
* proper handling of recv timeout in ReadData(), using absolute timeout instead of relative
* if FLAG_NO_RECEIVE is set, don't attached more segments to the receive queue, drop them instead
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20542 a95241bf-73f2-0310-859d-f6bbb57e9c96
to Hugo for reporting :-)
* Implemented setting promiscuous mode on ethernet device level.
* Set net_device::media to something useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20538 a95241bf-73f2-0310-859d-f6bbb57e9c96
rewind_query() -- are passed to the userland. get_vnode_name() has an
emulation in userland, in case the client FS doesn't implement it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20522 a95241bf-73f2-0310-859d-f6bbb57e9c96
to cover the case the list of interfaces changed since SIOCGIFCOUNT was called.
Patch by Hugo Santos.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20491 a95241bf-73f2-0310-859d-f6bbb57e9c96
introduced a locking problem, since vm_page_allocate_page() is invoked
with a locked cache. I guess I have to rethink the design. :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20487 a95241bf-73f2-0310-859d-f6bbb57e9c96
The supported devices list passed to the usb bus manager is now automagically generated from the other list so it's always correct (it was already out of sync).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20484 a95241bf-73f2-0310-859d-f6bbb57e9c96
the kernel implementation.
* block_cache::allocated_block_count was not initialized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20460 a95241bf-73f2-0310-859d-f6bbb57e9c96
style FSs.
* Fixed an infinite recursion in the base dprintf() implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20458 a95241bf-73f2-0310-859d-f6bbb57e9c96
address is set, and changes this if not; this makes traceroute work on Haiku.
Patch by Hugo Santos.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20422 a95241bf-73f2-0310-859d-f6bbb57e9c96
on setsockopt() for all options. Thanks to Hugo Santos for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20421 a95241bf-73f2-0310-859d-f6bbb57e9c96
Basically reused the kernel implementation, but needed to hack it quite
a bit and also add an emulation of the required VM interface.
Completely untested yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20406 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Based on Dave Coffin's fabuluous dcraw - it's basically the same thing in C++,
but follows common sense programming rules a bit more :-).
* Current version probably only supports PENTAX RAW format, though.
* Still lots of places left to clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20404 a95241bf-73f2-0310-859d-f6bbb57e9c96
see the "ARP entry updated with different address" message.
* sockaddr_dl::sdl_data is now unsigned (uint8_t instead of char).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20399 a95241bf-73f2-0310-859d-f6bbb57e9c96
updated with Release B3 (I didn't test yet) :
-Firmware to support new revision 5 Indigo io and Indigo dj hardware
-Firmware to support new revision 4 Mia MIDI hardware
-New FPGA & DSP code to correct problems with S/PDIF at 96 kHz on Gina3G (note new,
longer timeout required in C3gDco.cpp)
-Changes to support x64 Windows
-Fix for 96 kHz on Mac OS X for Echo 3G
-New QuerySampleRateRange method for all devices
-Simplified channel mask classes
-New ECHO_ASSERT macro to simplfy enabling and disabling asserts
-Removed m_wBytesPerSample from CEchoGals; it wasn't being used and caused housekeeping problems for Adobe Audition recording in mono mode
-Now using READ_REGISTER_ULONG and WRITE_REGISTER_ULONG macros to read and write DSP registers; these
are automatically defined if the platform environment doesn't define them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20394 a95241bf-73f2-0310-859d-f6bbb57e9c96
update on the directory to be copied before doing it, even if it is up
to date.
Anyway: Ported RamFS to Haiku's FS interface. Change set apparently merged
with older changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20346 a95241bf-73f2-0310-859d-f6bbb57e9c96
untested).
* Added library with the relevant part of the Haiku kernel interface.
The cache interface is missing, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20340 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use AGP Bus manager module
* Fixed wrong framebuffer address computation; this should fix bug #1079.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20336 a95241bf-73f2-0310-859d-f6bbb57e9c96
can be emulated -- and pass this info to the kernel add-on. Thus we can
avoid passing requests to the userland that can't be serviced anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20331 a95241bf-73f2-0310-859d-f6bbb57e9c96
add-ons accordingly and removed the syscall.
* Removed send_notification().
* Reimplemented notify_listener(). It used the unimplemented
send_notification(). Now it has a chance to work. Note that
notify_listener() is obsolete. I would already have removed it, if
there weren't lots of FS implementations still using it (Hint!).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20329 a95241bf-73f2-0310-859d-f6bbb57e9c96
(FileSystemInitializer). This will allow for subclassing FileSystem
later.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20328 a95241bf-73f2-0310-859d-f6bbb57e9c96
mount -t userlandfs -p "<client FS> <client FS params>" ...
The parameters may change later in order to become a proper driver
settings string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20310 a95241bf-73f2-0310-859d-f6bbb57e9c96
connection to the server is lost. The former is required by our mount
command (it stat()s the mount point for some reason unknown to me). The
latter is just to be a good citizen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20300 a95241bf-73f2-0310-859d-f6bbb57e9c96
change.
* The new notification functions are used instead of send_notification()
and notify_listener() now. Mapped them in the BeOS kernel emulation
accordingly. RamFS node monitoring seems to work now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20298 a95241bf-73f2-0310-859d-f6bbb57e9c96
Monitor Routing rework
* mostly to fix my issues with dual monitors VGA + DVI which didn't work! ;)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20275 a95241bf-73f2-0310-859d-f6bbb57e9c96
* New "ATOM" BIOS Support for radeons X-series
* This also removes scanning for the BIOS signature for other cards
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20272 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made publish_vnode() available in userland. For old style FS add-ons
publish_vnode() is used when they request a new_vnode(). The semantics
of new_vnode() changed considerably in Haiku, but publish_vnode()
seems to do pretty much what the old new_vnode() did.
* The UserlandFS hosted RamFS begins to work under Haiku. It runs pretty
soon out of memory though (under vmware with 256 MB) and node
monitoring is broken ATM.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20264 a95241bf-73f2-0310-859d-f6bbb57e9c96
old interface is completely done in userland ATM.
It becomes more and more obvious that we probably need to provide
the kernel add-on with a bit more information about what the client FS
interface supports in the first place, so we can save unnecessary trips to
the userland. Opening/closing attributes for a FS using the old style
interface could be handled completely in the kernel add-on, for instance
(even if we lose a bit of accuracy wrt to open modes etc.).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20258 a95241bf-73f2-0310-859d-f6bbb57e9c96
need via library libuserlandfs_beos_kernel.so. Fine-tuned the legacy headers
so they can by used by the the kernel interface emulation code as well as by
the add-ons. This is actually a bit hacky, since we build everything in the
Haiku build environment and thus mix these old headers and Haiku's.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20254 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved stuff need for the BeOS interface only into the beos_* namespace.
* Shuffled a few things around to reduce the block cache implementation
dependencies. compat.h and sysdep.c are gone accordingly.
* The whole UserlandFSServer builds now and could (at least theorectically)
drive a FS add-on implementing the old interface. The required emulation of
the BeOS kernel is not yet provided, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20247 a95241bf-73f2-0310-859d-f6bbb57e9c96
interface. The classes actually interfacing with the client FS add-on still
need to be adjusted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20246 a95241bf-73f2-0310-859d-f6bbb57e9c96
UserFileSystem -> FileSystem
UserVolume -> Volume
KernelUserFileSystem -> BeOSKernelFileSystem
KernelUserVolume -> BeOSKernelVolume
The BeOSKernel* classes are indeed intended to handle FS implementations
that use the (old) BeOS FS interface. We'll see how well that will work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20239 a95241bf-73f2-0310-859d-f6bbb57e9c96
the "User" part of the way more often used UserFileSystem and the other
classes that had it accordingly for consistency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20237 a95241bf-73f2-0310-859d-f6bbb57e9c96
FS interface. Adjusted old hooks, but didn't add the new ones yet. The
module builds now at least.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20235 a95241bf-73f2-0310-859d-f6bbb57e9c96
Sweet cracker sandwich! I actually figured out something for a Jamfile on my own -- it took a while to figure out how to link against the app_server. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20213 a95241bf-73f2-0310-859d-f6bbb57e9c96
this fixes bug #1029, though make sure to use BGL_ALPHA flag with BGLView constructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20201 a95241bf-73f2-0310-859d-f6bbb57e9c96
the code is now very compact, on par with other Mesa drivers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20172 a95241bf-73f2-0310-859d-f6bbb57e9c96
updated the mesa software addon to work again (maybe would need more work)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20137 a95241bf-73f2-0310-859d-f6bbb57e9c96
when the new attribute data was too large to fit into the small data section at all.
This fixes the Trash icon update with a block size of 1024 bytes.
* This also fixes a bug where AddSmallData() required you to write back the inode even
if it failed with B_DEVICE_FULL, but no one did it.
* _RemoveSmallData() no longer requires you to write the inode back on success.
* Made most small data methods private.
* WriteAttribute() now tries to put the data into the small data section even if it
existed as a separate file before (the file is then removed).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20103 a95241bf-73f2-0310-859d-f6bbb57e9c96
the timer functions could access invalid memory.
* The endpoint manager now panics if a bound endpoint is not in the hash.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20100 a95241bf-73f2-0310-859d-f6bbb57e9c96
which wasn't enough when tampering with the inode's data, and it also acquired that
lock too late.
Thanks to Stefano for pointing this out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20079 a95241bf-73f2-0310-859d-f6bbb57e9c96
at boot, per cpu, detect the cpu, pull down all the relevant cpuid bits and
save them into the per-cpu structure. Changed most of the code scattered here
and there that reads the cpuid to use a new api, x86_check_feature, which looks
at the saved bits.
Also changed the system_info stuff to read from these bits.
While i was at it, refreshed all the bits to be current.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20072 a95241bf-73f2-0310-859d-f6bbb57e9c96
Semaphore::ZeroCount() on new semaphores, not on used ones. Found by Stefano, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20052 a95241bf-73f2-0310-859d-f6bbb57e9c96
by Jon Watte.
This was a tough but interesting problem. My version still isn't quite as nice
as his. I think the color generation could be improved, and I KNOW the x and y
placement of the text could be improved.
I also think it would be nice to display the full message at the bottom of the
screen (similar to ShowImage showing the file type and name in full screen
mode.)
But this is a good base to work from.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20035 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm considered splashing it up a bit by adding parameters for colors, etc, but
this will make a good baseline.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20005 a95241bf-73f2-0310-859d-f6bbb57e9c96
So the mechanism with the global variable did not work for R5 what caused two USB stacks and host controller drivers to be active concurrently which resulted in completely unpredictable results.
This kind-of-inelegant fix was all I could come up with, if someone has a better idea please send it this way.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2048 bytes. This should fix bugs #993 and #997.
On BeOS R5 asking for 2 bytes too much wasn't a problem, as we
only need the first page_entry, and it didn't return any Error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19992 a95241bf-73f2-0310-859d-f6bbb57e9c96
crashes at a later time. I observed one error at 8033a802, but the address
was allocated by the driver and should have been fully locked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19988 a95241bf-73f2-0310-859d-f6bbb57e9c96