as well (of course, no address is created automatically here).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38058 a95241bf-73f2-0310-859d-f6bbb57e9c96
now has an almost equivalent logic to the old setters like SIOCSIFADDR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38054 a95241bf-73f2-0310-859d-f6bbb57e9c96
they will no longer be unset - instead they are set with defaults.
* If B_SOCKET_SET_ALIAS gets an index of -1, it will now try to find the local
address, and if that fails, will just use the first address there is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38053 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Not plugged anywhere yet.
* I'm not sure the downsampling is done properly, either.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38037 a95241bf-73f2-0310-859d-f6bbb57e9c96
it's not needed for locally received buffers. This fixes a doubled
initialization for a single device when there is more than a single domain
involved. Reported by Atis.
* Fixed missing call to unregister_device_deframer() in case there was not
enough memory to allocate the loopback_frame_protocol object.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38002 a95241bf-73f2-0310-859d-f6bbb57e9c96
"clicks" field of the mouse message as everywhere else.
* Renamed Decorator::Clicked() to MouseAction().
* Minor style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37996 a95241bf-73f2-0310-859d-f6bbb57e9c96
the buffer, and we also need to release it when freeing it.
* Adapted patch by Atis: append_cloned_data() now preserves the stored header;
this is kind of bad, because it will not notice if the original header is
removed, but this could probably just be documented this way.
* Also print the reference count of the interface addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37993 a95241bf-73f2-0310-859d-f6bbb57e9c96
in order to be able to use SIOCSIFADDR (and friends) on a net yet added
family superfluous; we now add a new address when needed on the fly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37990 a95241bf-73f2-0310-859d-f6bbb57e9c96
using it - hopefully, that is actually correct (it's adopted from FreeBSD).
* Fixed bug that cut off the sockaddr_dl reported by the system, so that DHCP
wouldn't work anymore (and ifconfig wouldn't show the actual MAC address
anymore).
* Changed the listing code to actually pad to ifreq size, and leave the length
of the sockaddr untouched.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37941 a95241bf-73f2-0310-859d-f6bbb57e9c96
sockaddr_storage here (wasn't that bad before, as ifreq has a 30 bytes buffer
after the sockaddr.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37940 a95241bf-73f2-0310-859d-f6bbb57e9c96
effectively rejecting any try to set an address.
* It now copies the new address as well in order to make sure that its
sa_len field is set correctly.
* Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37937 a95241bf-73f2-0310-859d-f6bbb57e9c96
smaller than sizeof(sockaddr). This fixes a compatibility issue with other
platforms - portable software often assumes that the amount of bytes to
add to an ifreq structure is the larger amount between sizeof(ifreq), and
basically what the _SIZEOF_ADDR_IFREQ() macro returns, instead of always
relying on that macro.
* Renamed UserBuffer::Copy() to Push, ConsumedAmount() to BytesConsumed(),
added Pad() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37927 a95241bf-73f2-0310-859d-f6bbb57e9c96
arp_update_entry() for known entries, as it also uses that to update the
timestamp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37923 a95241bf-73f2-0310-859d-f6bbb57e9c96
old address is NULL for anything but SIOCAIFADDR. Hopefully, this fixes the
problem Rene is seeing.
* Make sure that arp_entry::protocol is not NULL before using it. This is
necessary because of the possibility to manually set ARP entries.
* Further improved debug output.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37916 a95241bf-73f2-0310-859d-f6bbb57e9c96
* made FAT add-on use get_timezone_offset(), this time correctly adjusted for
the difference in units (minutes/seconds)
This makes the times in our FAT-fs agree with Linux again, at least :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37905 a95241bf-73f2-0310-859d-f6bbb57e9c96
This enable to actually detect and handle device removal (USB...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37897 a95241bf-73f2-0310-859d-f6bbb57e9c96
* dropped DaylightSavingTime from real_time_clock code in kernel, it was
never really being used for what it meant (and just being referred to by
gettimeofday(), which put a different meaning to it
* adjusted the syscalls get_timezone() & set_timezone() as well as their callers
accordingly
* got rid of get_rtc_info() and rtc_info struct in kernel, as it was only
being referred to by the FAT add-on and that one (like gettimeofday()) put a
different meaning to tz_minuteswest. Added a comment to FAT's util.c
showing a possible solution, should the hardcoded GMT timezone pose a problem.
* fixed declaration of gettimeofday() to match POSIX base specs, issue 7
* changed implementation of gettimeofday() to not bother trying to fill struct
timezone - it was using wrong values before, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37888 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the return type of remove_interface() void, as it cannot fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37884 a95241bf-73f2-0310-859d-f6bbb57e9c96
global name space, and have ugly identifiers for nothing :-)
* Added a flags field to struct ifaliasreq. Added flags to mark an alias that
is currently being configured, or has been automatically configured.
Those flags aren't used yet, but they will replace IFF_CONFIGURING and
friends.
* Implemented deleting addresses only from interfaces via ifconfig.
* Added more command aliases for delete to ifconfig ("del", and "delete", for
more consistency with route).
* Fixed control_routes() to only release a reference to an address if it
actually got one before.
* If an interface address is deleted, its routes are now removed as well.
* InterfaceAddress now holds a reference to its interface as planned.
* Implemented removing interfaces. Works quite nicely.
* When downing an interface, all of its routes are now removed. When upping
it again, at least the default routes are added.
* datalink.cpp's get_interface_name_or_index() leaked a reference to the
interface found.
* SIOCAIFADDR would also leak a reference when new addresses were added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37872 a95241bf-73f2-0310-859d-f6bbb57e9c96
send_datagram() to send_data().
* Renamed DatagramSocket::SocketEnqueue() to EnqueueClone(), SocketDequeue()
to Dequeue().
* Ordered the methods in ProtocolUtilities.h according to their declaration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37870 a95241bf-73f2-0310-859d-f6bbb57e9c96
type one wants to receive. Changed ipv6_datagram to use that (but note that
it currently does not compile).
* Header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37868 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Since they all work reasonalbly well, add them to the default image. (beOs had them after all)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37864 a95241bf-73f2-0310-859d-f6bbb57e9c96
receive raw packets (only without the ethernet framing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37853 a95241bf-73f2-0310-859d-f6bbb57e9c96
interface_protocol_send_data() which accessed the monitors unlocked.
* Changed SIOCCPACKETCAP to check if the device name matches the one used with
SIOCSPACKETCAP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37845 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Got rid of datalink.h.
* Only allow sending/receiving of packets through AF_LINK for root (not that
sending would be implemented yet).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37844 a95241bf-73f2-0310-859d-f6bbb57e9c96
SIOC_IF_ALIAS_ADD, SIOC_IF_ALIAS_REMOVE, SIOC_IF_ALIAS_GET, SIOC_ALIAS_SET,
and SIOC_IF_ALIAS_COUNT.
* Implemented all of those new ioctls, though they are yet untested.
* Added ifreq::ifr_data, and removed the hack in the FreeBSD compat if.h
header.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37806 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The is_empty_address() function of AF_UNIX did not deal correctly with empty
addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37804 a95241bf-73f2-0310-859d-f6bbb57e9c96
interface - this caused quite a number of changes.
* Network interfaces, and its addresses are now reference counted (not yet
complete, though, InterfaceAddresses need to hold references to their
interface as well).
* There are two known regressions of this commit that I will fix later:
- you cannot remove interfaces anymore
- IPv4 multicast was broken anyway, but now it's disabled, too.
* Moved a device_interfaces.cpp|h out of interfaces.cpp.
* The datalink layer chain is now instantiated per domain per interface,
not just per interface anymore.
* When a buffer reaches the network layer, it has no known interface yet, ie.
the ipv4|6|whatever modules need to set this manually.
* Added more debug output, and some new debugger commands, the control option
is now printed in clear text.
* Added hash_address() function to the address modules. Added "const" to
set_to_defaults() where needed.
* Fixed net_buffer's restore header functions offset use as reported by Atis.
* Improved buffer dump output, use the domain module to print the address if
available.
* Moved net_buffer::type into the union, as it's not needed by the upper layers
anymore.
* Moved IPv6 specific code from {add|remove}_default_route() to where it
belongs, but disabled it for the time being.
* Completely discarded useless ipv4_datagram module.
* Added ping6 to the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
as correctly pointed out by Ingo these are no setting files.
* Use find_directory() here and in places marked with TODOs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37772 a95241bf-73f2-0310-859d-f6bbb57e9c96
(closed ticket #6380).
* Changed path to /boot/common/settings.
Someone feel free to change the implementation to get
the path from find_directory(...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37761 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead, ie. ICMP errors are only forwarded to connected UDP sockets.
* Also notify the DatagramSocket's dequeue loop if an error occurs - this makes
udp_unreachable finally work as intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37714 a95241bf-73f2-0310-859d-f6bbb57e9c96
do not get the '_' prefix, only private ones do).
* Added a "peek" argument to SocketStatus() (and generally renamed "clone" to
"peek" where it made sense).
* Implemented the base version of SocketStatus() to return the actual socket
error. This enables returning ICMP errors back to the socket user.
* Other minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37712 a95241bf-73f2-0310-859d-f6bbb57e9c96
protocol, and cut off its IPv4 header before forwarding the buffer to the
upper layers.
* Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37711 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also, we need to set the buffer's protocol.
* Now we actually send correct ICMP messages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37710 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Set the AVContext->frame_size, though I don't think it has any effect.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37707 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This fixes the second problem mentioned in bug #6243, and therefore the bug
itself.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37692 a95241bf-73f2-0310-859d-f6bbb57e9c96
upper layers: you use the store_header() function to mark the header you want
to preserve. All subsequent remove_header() calls won't claim the actual
data, but only move the node start around.
* This header can then be restored by restore_header(). However, a call to
prepend_data() will destroy the stored header. Also, if remove_header() cuts
off a whole node, restoring the header won't succeed anymore.
* Discarded the no longer needed net_buffer::network_header field.
* Also discarded the hoplimit field which temporarily breaks the IPv6 build
until Atis reworks it.
* IPv4 now also dumps the IP header in the send path if debug output is enabled.
* icmp_error_reply() might be called so early that the net_buffer's addresses
do not point to the reply address; this is now detected, and the addresses are
taken out of the IP header in that case.
* Improved dumping the net_buffer to also include its address, and flags.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37688 a95241bf-73f2-0310-859d-f6bbb57e9c96
unreached ICMP messages now, and at least signal an error to select() (there
is no mechanism yet to actually forward the error to userland).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37651 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Therefore, IPv4 no longer needs to mess with that (incorrectly, anyway).
* Removed unused include, turned off ICMP debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37650 a95241bf-73f2-0310-859d-f6bbb57e9c96
instead of always returning B_OK.
* deliver_multicast() now takes the protocol restriction of a raw socket into
account.
* raw_receive_data() now correctly returns whether a buffer was delivered (due
to the protocol restriction, this wasn't the case before).
* ipv4_receive_data() leaked all multicast buffers.
* Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007), and Yin Qiu (GSoC 2008). And even though I needed to rewrite pretty
much all of it because of the countless bugs and problems it had, it still
shares the same architectural problems of introducing a domain dependent
error mechanism to the upper layers, and needing the
net_buffer::network_header hack. This I will rework later.
* net_buffer's append_size(), and prepend_size() will now gracefully handle
buffers without a data node.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37647 a95241bf-73f2-0310-859d-f6bbb57e9c96
* MacDecorator : use _InvalidateFootprint and implement _MoveBy. This makes the MacDecorator work fine again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37615 a95241bf-73f2-0310-859d-f6bbb57e9c96
directly here), I made only a few style changes:
* introduced 'has_broadcast_address' field in
struct net_address_module_info
- REVIEW: the name, and the status of this field for UNIX and L2CAP
families
* ipv6 address family support
* ipv6 address printing
* ipv6 protocol support
* ipv6 multicast support
- TODO: add and remove multicast routes in a more proper way
- TODO: support MLD
* ipv6 datalink protocol support
* icmpv6 protocol support (EchoRequest and EchoResponse messages)
* ipv6 neigbor discovery protocol support
(Advertisement and Solicitation messages)
- TODO: only the very basic support is present,
the protocol state machine is by no means completed
- TODO: replying to Solicitation does not work too good ATM
(visible, when pinging Haiku from outside)
* added Jenkin's hash algorith
* minor changes in existing IPv4 code - cleanup function
ipv4_get_loopback_address(), written by myself
* add tests: raw, udp, tcp/udp, mullicast sender
* add 'hoplimit' field in struct net_buffer
- TODO: this is just a hack, more generic approach would be better.
* add 'receive_data' function pointer in
struct net_datalink_protocol_module_info
- TODO: this is also more like a hack, to support information
passing from ICMPv6 to IPv6_datagram level.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37604 a95241bf-73f2-0310-859d-f6bbb57e9c96
hopefully :-)).
* Improved interface change notification to include the flags that changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37594 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_BUFFER_OVERFLOW. It will have returned valid vectors in this case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37572 a95241bf-73f2-0310-859d-f6bbb57e9c96
I've removed it for now, until someone finds the time to look into it.
* Therefore, enabled all supported devices for the rtl81xx driver.
* Made the rtl81xx driver actually work by adding the missing PHYs - it doesn't
use the same PHYs as the rtl8139 driver. Imported the rgephy.c|h from FreeBSD
8 (not yet in vendor branch, but unchanged).
* It seems to work reliably with Gigabit now, albeit a bit slow, and with too
high CPU load.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37425 a95241bf-73f2-0310-859d-f6bbb57e9c96
Will need a different fix to get device to work, but at least Haiku won't crash on bootup with this change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37409 a95241bf-73f2-0310-859d-f6bbb57e9c96
headers. GCC 2 has the unpleasant habit of actually linking the unused inline
functions in. That doesn't suffice to build the userlandfs server with debug
info (it would be the wrong file anyway), but allows to build checksumfs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37405 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
* readonlybootprompt will no longer update the locale settings : the
method used messed with internal undocumented things
* external localized apps (webpositive for example) will not run
anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96
headers and respectively added includes in source files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37259 a95241bf-73f2-0310-859d-f6bbb57e9c96
Supports Banshee, Voodoo3 and Voodoo5 chips.
It will be promoted as older tdfx replacement soon, but not until
my small changes around phys_addr_t are validated.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37241 a95241bf-73f2-0310-859d-f6bbb57e9c96
but whether the respective controller does is indicated by a capability flag,
which we can't easily access at this point.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37228 a95241bf-73f2-0310-859d-f6bbb57e9c96
the constraint can be expressed more precisely. ATM B_32_BIT_FULL_LOCK is
implemented as B_32_BIT_CONTIGUOUS when B_HAIKU_PHYSICAL_BITS > 32, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37226 a95241bf-73f2-0310-859d-f6bbb57e9c96
has implicit limitations (probably because the devices/controllers/... do).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37213 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use create_area_etc() instead of create_area() so we don't have to deal
with the physical address restrictions by hand.
* Force physical addresses < 4 GB for the time being.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37209 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use create_area_etc() instead of create_area(), so the alignment doesn't
need to be ensured by hand.
* Use B_32_BIT_MEMORY for the time being.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37207 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use the respective error types for OS and ACPICA functions.
* Don't lock the memory. The caller must do that, since there's no balancing
function that would unlock the memory again.
* Get the memory map of the given function, not of the on-stack variable.
* Added 64 bit support and a check for the PAE case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37202 a95241bf-73f2-0310-859d-f6bbb57e9c96
help the stack to detect and handle hotplug device removal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37144 a95241bf-73f2-0310-859d-f6bbb57e9c96
Applied patch for #5209 by oruizdorantes for usb_asix, do the same for usb_davicom.
Will eventually rework it in order to remove duplicated IDs list.
The usb_serial driver also needs the same optimization,
but gathering the IDs list will take more time than refactor the code and since
usb_serial is not yet included in haiku image neither ready (no tty module), there is less user experience immediate gain...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37135 a95241bf-73f2-0310-859d-f6bbb57e9c96
restrictions for virtual/physical addresses.
* vm_page_allocate_page_run():
- Fixed conversion of base/limit to array indexes. sPhysicalPageOffset was not
taken into account.
- Takes a physical_address_restrictions instead of base/limit and also
supports alignment and boundary restrictions, now.
* map_backing_store(), VM[User,Kernel]AddressSpace::InsertArea()/
ReserveAddressRange() take a virtual_address_restrictions parameter, now. They
also support an alignment independent from the range size.
* create_area_etc(), vm_create_anonymous_area(): Take
{virtual,physical}_address_restrictions parameters, now.
* Removed no longer needed B_PHYSICAL_BASE_ADDRESS.
* DMAResources:
- Fixed potential overflows of uint32 when initializing from device node
attributes.
- Fixed bounce buffer creation TODOs: By using create_area_etc() with the
new restrictions parameters we can directly support physical high address,
boundary, and alignment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37131 a95241bf-73f2-0310-859d-f6bbb57e9c96
patch by Ziusudra.
* Use new(std::nothrow) instead of new.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37126 a95241bf-73f2-0310-859d-f6bbb57e9c96
* try to launch screen_blanker by path when a launch by signature fails.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37120 a95241bf-73f2-0310-859d-f6bbb57e9c96
* try at support realtek alc888. alsa uses this init sequence.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37113 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'd like to know if keeping re_defrag is required. Tests welcome (see #5180).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37041 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added quirks for idt 0x76b2 and apple macbook 0x00a1
* add headphones to the output path in case one input has a path to a used output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37012 a95241bf-73f2-0310-859d-f6bbb57e9c96
warnings, but also some oversights from earlier changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37000 a95241bf-73f2-0310-859d-f6bbb57e9c96
that are wide enough for both virtual and physical addresses.
* DMABuffer, IORequest, IOScheduler,... and code using them: Use
generic_io_vec and generic_{addr,size}_t where necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36997 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Select() didn't actually reselect even when asked to force things from AddMessage(), making the uploaded mail get an off-by-one unique id assigned and a second copy downloaded on subsequent fetching, though this would really need proofreading as I'm not really sure how it all works,
- the allocated buffer wasn't freed, making mail_daemon allocate 650MB, which obviously crashed when out of physical ram, now it only uses 15MB :p,
- try to find workable IMAP flags for sent and pending mails, or use custom ones when the server allows arbitrary flags,
- the LIST command wasn't checked for correct response, making subsequent commands like CREATE mailbox fail from the OK answer of previous ones when syncing on a new accound,
- try to read the creating time (actually modification time since creation time is reset when copying files around) and pass it to APPEND command so I won't get the whole 10000 mails all received as of today.
Now I can put all my old mails on an imap server (tested on dovecot) to read it from other OSes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36995 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added debug output to test_capacity().
* Minor other cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36990 a95241bf-73f2-0310-859d-f6bbb57e9c96
capacity by trying to read at the end of the medium.
* Not tested at all yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36989 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Internally, moved the contents of periph_io() into a static read_write()
function, and use it from the new periph_read_write() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36988 a95241bf-73f2-0310-859d-f6bbb57e9c96
of having the logic be triggered by IOScheduler::SetDeviceCapacity(), as that
one might actually be called more often (for each call to update_capacity(),
ie. each B_GET_GEOMETRY/B_GET_DEVICE_SIZE will trigger it), and there is no
reason to throw away the cache every time (will make a difference during
partition/file system detection).
* In cd_init_device() just call update_capacity() instead of duplicating its
code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36986 a95241bf-73f2-0310-859d-f6bbb57e9c96
map_physical_memory()'s physicalAddress parameter type from void* to
phys_addr_t. This breaks source compatibility, but -- as long as
phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
TODOs in places where the wrong types (e.g. void* for physical addresses
are used). Looks like quite a few drivers aren't 64 bit safe and others
will break with PAE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96
was detected; however, it should only do so when there is an actual LVDS panel
detected.
* This should fix one part of ticket #3149 - looks like there are two different
issues. Thanks to Robert J. Gebis for providing me remote access to his
system.
* Minor debug output improvements.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36941 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed one instance where ACPI and BeOS status codes was not handled right.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36897 a95241bf-73f2-0310-859d-f6bbb57e9c96
prices.rtf to be parsed correctly as reported by humdinger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36884 a95241bf-73f2-0310-859d-f6bbb57e9c96
to stdout (mostly for testing).
* Removed no longer needed packaging jam rule.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36883 a95241bf-73f2-0310-859d-f6bbb57e9c96
invocation and fixes the dependency problem (missing grist on the sources)
that caused the headers not to be regenerated when the sources changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36878 a95241bf-73f2-0310-859d-f6bbb57e9c96
streams in AVI files. Could confirm this with a test video. Thanks and sorry
for the delay!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36847 a95241bf-73f2-0310-859d-f6bbb57e9c96
packet did not specify a PTS. Made this change long ago, I don't believe it
helped much...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36846 a95241bf-73f2-0310-859d-f6bbb57e9c96
Linux driver does, thanks for idefix for tracking down the problem! Should fix
ticket #5960, but I don't personally have the hardware. The change can only
affect Intuos3 tablets, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36791 a95241bf-73f2-0310-859d-f6bbb57e9c96
but this one should go into alpha2 to make the card work as before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36746 a95241bf-73f2-0310-859d-f6bbb57e9c96
it makes use of gPCI which is initialized during pci module init. Might help
with #5936.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36745 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes booting on the Samsung NP-N135, which used to reset before being able to enter the bootloader menu. It would be interesting if tickets #4408, #5539, #5696, and #5720 could be retested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36734 a95241bf-73f2-0310-859d-f6bbb57e9c96
now make sure no one else touched it in the mean time (in order to retrieve
consistent data for the index update). This should fix bug #5878.
* Squashed a TODO by locking the inode in the transaction as well.
* Fixed a quasi bug that would not have read the attribute data if there was no
live query for it; "fortunately", Volume::CheckForLiveQuery() is not
implemented yet, and always returns true.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36707 a95241bf-73f2-0310-859d-f6bbb57e9c96
To note, I'm grepping for "TR_CONTEXT" to identify which files to update.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36660 a95241bf-73f2-0310-859d-f6bbb57e9c96
(scsi_start_mode_sense_6(), scsi_start_mode_select_6()) also call
replace_request_data(), which does the same. Therefore the original request
data were lost. scsi_start_mode_select_6() also copied the wrong data due
to this.
* scsi_finish_mode_sense_10_6(): In case of error also call
restore_request_data() to restore the request data.
Fixes#5855 -- since the request data length was changed, unlock_memory() was
called with a different length than lock_memory(), thus triggering the
panic(). After starting CDPlayer the syslog is still spammed with failing
requests, so obviously something is still not OK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36539 a95241bf-73f2-0310-859d-f6bbb57e9c96
supporting ID array (just that it only contains one entry).
* Fixed missing malloc() result check in embedded_controller_init_driver().
* Style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36529 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It confused ms and usecs for ec_timeout
* It tried to handle waiting like on platforms that can't do better timing than ms. Haiku can do much better, which simplifies the code a lot.
This should fix#4623 and #5825. At least on my laptop BatteryStatus never shows weirdness or reports errors in syslog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36511 a95241bf-73f2-0310-859d-f6bbb57e9c96
layout management. Fixed a bug in the HVIFTranslator which did not release
the TranslatorSettings in it's destructor. Thanks a bunch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36501 a95241bf-73f2-0310-859d-f6bbb57e9c96
BaseTranslator framework and layout management. Big coding style clean up, too.
Thanks a bunch, great work!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36466 a95241bf-73f2-0310-859d-f6bbb57e9c96
same BaseTranslator framework as many other translators are already using and
converting it to using layout management for the interface. Great work! Thanks
a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36465 a95241bf-73f2-0310-859d-f6bbb57e9c96
USE_IO_CACHE macro in the header). Currently disabled, though. It works fine,
if the machine has a good deal of RAM. I tested with the anyboot CD -- the
boot and installation times drop dramatically. On machines with little RAM
there are issues, though. Apparently the cache isn't drained fast enough, so
that other allocations can fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36438 a95241bf-73f2-0310-859d-f6bbb57e9c96
working since r36416.
* Added more const, and removed all superfluous semicolons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36429 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed irq_routing struct from ACPI.h to where it is used. Might be able to use acrestype.h instead of duplication.
* Disable old embedded controller and remove it from image.
* Move embedded controller code to busmanager module.
* Remove (some) code duplication
Should work as before, but is now initialized right after the bus manager. Can probably remove further code duplication.
I hope I've done it correctly, feedback is most welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36420 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The logical and physical block sizes are now retrieved from the info block,
though only the logical one is actually used (where ATA_BLOCK_SIZE was used
before).
* Also added retrieving the offset of the first logical block inside the first
physical one.
* All this stupidity just for Windows XP, it's really sad.
* Added "const" to some methods, removed some superfluous ';'.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36416 a95241bf-73f2-0310-859d-f6bbb57e9c96
of BKeymap was not compatible with IsDeadKey() of the other Keymap
incarnations.
* Now, I've renamed IsDeadKey() to DeadKey(), and introduced a new
ActiveDeadKey() method that works like the other former IsDeadKey().
* This fixes the dead key problems my earlier BKeymap work introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36400 a95241bf-73f2-0310-859d-f6bbb57e9c96
had in our tree.
* Adapted Keymap, <input>keyboard, and consoled to use it - the additional
functionality is implemented via a subclass in the first two cases.
* "keymap" will come next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36328 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Exposed ACPI API needed by Embedded Controller
This will be removed again if moved inside the bus manager.
It also duplicates ACPI's own headers so it might go out of sync atm.
* Added mutex to controller and fixed the mixup between acpi_status needed in int handlers and Haiku status.
* Major code cleanup
Not for headers as they are mostly redundant if we move the controller.
Variable names still needs some cleanup
This makes the ACPI errors from the controller understandable. I get AE_NO_HARDWARE_RESPONSE now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36318 a95241bf-73f2-0310-859d-f6bbb57e9c96
rescheduling; this allows DPC queues to be created before the scheduler is
running.
* Removed BeOS R5 support.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36289 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the USB keyboard driver safe to be used from more than one team - only
the first one will be able to retrieve any keys. Before, since there was no
locking, internal structures would have been messed up in that case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36283 a95241bf-73f2-0310-859d-f6bbb57e9c96
Possibly fixed the monitor timming.
TODO:
- Very big code cleanup.
- At the moment there is only one hardcoded dislplay_mode (1366 x 768).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36282 a95241bf-73f2-0310-859d-f6bbb57e9c96
* use it in readonlybootprompt instead of previous workaround code.
This makes the readonlybootprompt faster and lighter as it doesn't open and parse all the catalogs anymore, but only checks for their existence.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36276 a95241bf-73f2-0310-859d-f6bbb57e9c96
uint32 cookie that is saved per file handle and passed to the ProtocolHandler
objects.
* Beware that the output of the driver no longer shows the handler as pointer,
but the internal device cookie.
* Added handling of KB_SET_DEBUG_READER to the KeyboardDevice class (it just
doesn't do anything with that).
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36274 a95241bf-73f2-0310-859d-f6bbb57e9c96
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96
uses it.
* While I were at it, I removed the ps2mouse driver as well, as well the whole
arch directory (as it is otherwise empty).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36261 a95241bf-73f2-0310-859d-f6bbb57e9c96
unify the three or so version we have of that class into one in the not so
distant future.
* Moved the AT keycode map into its own file.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36259 a95241bf-73f2-0310-859d-f6bbb57e9c96
in the PS/2 driver for now. The basic idea is to allow everyone to open the
device, but only allow one key reader (as usual). However, once someone
registers itself as a debugger, the original reader is blocked, and the
debugger can read the key presses instead.
* Renamed ps2_keyboard.c to .cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36256 a95241bf-73f2-0310-859d-f6bbb57e9c96
devices it's uninteresting, but for EHCI it may be implemented some day.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36246 a95241bf-73f2-0310-859d-f6bbb57e9c96
transfers was created with wrong permissions leading to a read-protected area.
Since we actually support read-protection in Haiku this caused a crash for all
fragmented transfers (transfers > 384K) leading to #5538.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36245 a95241bf-73f2-0310-859d-f6bbb57e9c96
the device again. Makes Axel's USB stick work and might also help with other
(broken) devices.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36234 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Implement such a module for x86 which currently exports only an MSI API.
* Implement the PCI part for configuring and enabling MSIs.
* Some automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36223 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Only report lateness if it is beyond the accepted jitter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36205 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fix connecting to INADDR_ANY work for tcp (effectively will
connect to INADDR_LOOPBACK)
* add same behaviour to udp
* move some ipv4-specific code out of tcp into ipv4 address module
* bind() and connect() now reject addresses from non-matching
families
* myself: minor cleanup in udp.cpp with respect to 80 chars limit
Closes#5716 - many thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36192 a95241bf-73f2-0310-859d-f6bbb57e9c96
BBufferConsumer::BufferReceived() cannot know whom to send the "buffer is
late" notification (unless we only have a single input). To solve this, the
media_header now contains extra fields that can be used to create a
media_source object.
* Unfortunately, BBufferProducer::SendBuffer() cannot know the output either in
case there is more than one. Hence, I deprecated the existing SendBuffer()
call and moved it into "private" - IOW old sources using it won't compile
anymore under Haiku.
* I introduced a new SendBuffer() variant that also gets the media_source as
argument.
* Updated all sources (that are part of the image) to use the new variant.
* Removed some purposely commented out code in the audio mixer.
* Implemented late buffer notification, as well as late buffer handling in the
audio mixer; this is a bit of work in progress, so the debug output is left
in there.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36184 a95241bf-73f2-0310-859d-f6bbb57e9c96
and the transport addon. The actual command use as pipe is retrieved from the PPD that can be selected
at printer creation time.
Currently PPD selection is not shown (as the PPD directory is not available) and therefore the pipe
will not be inserted.
This still needs a bit of TLC, so hope to commit the last changes to fully support this later this week.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36173 a95241bf-73f2-0310-859d-f6bbb57e9c96
and easy to implement since ATAPI basically is SCSI anyway and we don't use many
problematic commands. Only tested for the 0x05 subclass, but 0x02 should work
the same.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36162 a95241bf-73f2-0310-859d-f6bbb57e9c96
- fix copyright,
- disable tracing,
- add support for reading attributes. The current naming is not final as I'm actually experimenting with it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36152 a95241bf-73f2-0310-859d-f6bbb57e9c96
* SuperBlock: In case of ReiserFS 3.6 we were stil loading only the old
superblock format.
* Added support for ReiserFS labels (volume names).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36132 a95241bf-73f2-0310-859d-f6bbb57e9c96
Clean it up, and try to fix other things. It is now opening menus, but crashes when opening windows...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36130 a95241bf-73f2-0310-859d-f6bbb57e9c96
our available buffer (we might want to move this into the BufferQueue class).
* Now, _AddData() remembers the flag (and its position), and will alter the
segment's flags field to reflect the current state.
* This fixes not being able to login into mmlr.dyndns.org.
* Fixed warnings when TCP_PROBE is defined.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36127 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added a TODO questioning the closing master and slave in openpty() when applying window size fails.
* added TIOCSCTTY as a TTY ioctl code, the caller become controlling TTY. Review comments are welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36105 a95241bf-73f2-0310-859d-f6bbb57e9c96