Taken from FreeBSD; some minor cleanup elsewhere.
udp.h rewritten entirely as it contained no copyrightable
material and bears little resemblance to BSD's.
* Remove functions not even FreeBSD defines.
* Remove dependency on unnecessary headers.
* Update copyright headers to match FreeBSD's; includes
removal of the advertising clause.
* Move some private structs to netresolv port_before.
Unfortunately, it seems musl implements very little of this file,
so we may wind up sticking with netresolv for its implementation.
This patch gets read_dir, lookup and few others to work. Entries cannot
be listed yet except the root.
Change-Id: Ic4b7b61a794a1b75849e45777a383b3315b15aa8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2915
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This reverts commit fb44a1cd72.
Reason for revert: may cause UAFs
Change-Id: I315ce4fc5cd1706ca07e7062fc0461b7fff7c831
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2980
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Remove all functions and a number of constants that neither
glibc nor musl define or support (and even FreeBSD does not
declare a good number of these anymore.)
* Redeclare the primary flags in terms of (1 << X) instead
of raw 0x... for readability (the constants at the end
do NOT match up to their definitions in glibc, musl, and BSDs!)
* Remove usage of unneeded headers, and __BEGIN/END_DECLS.
* Replace non-Haiku license headers with the ones from FreeBSD,
which notably contain a removal of the advertising clause.
ABIs remain unchanged, but a small set of applications that
use these esoteric APIs may not compile anymore (are there
any remaining?)
Change-Id: I90a9440898994459f8d6de922a3f363fbeddaaf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2974
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This change resets the delay when the user moves to next/previous image or
page within an image (e.g. TIFF) or deletes an image while a slide show is
running.
Fixes#16321
Change-Id: If0b8f4caef9c6aa4c0ad5bbb01d65bf43c1f831f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2967
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
The .rel.* sections were forgotten in the PE binary, so we just put them in a single .rel
Change-Id: I7bc564e18ec8dd64410b43106272ee74696c2883
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2973
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
DriveSetup terminology was changed a while ago. Disks get 'initialized'
with a partition map. Partitions are 'formatted'.
Change-Id: I600145cdd1ed622378d364aa66a6146aae4a9a87
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2968
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Otherwise, important HAIKU_BOOT_* flags don't make it into
the build commands.
* Ensure any external sources used by EFI get recompiled
vs reused due to potential differences in wchar length
(EFI dictates short-wchar, but no wchar's in our code)
Change-Id: I7a4a0347d39239c73fa510378e048f51be1cd360
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2965
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* boot.scr was growing past Jam MAXLINE and was causing segfaults
* Break out to tree, data/boot could be used for other arches
* boot.scr is getting a bit complex, but supports the old
u-boot haiku_loader, as well as u-boot starting our EFI loader.
Change-Id: I93a3167ab0bc78747c1d70fedd08595e9ac89662
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2963
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
BeginPicture/EndPicture do not save state so origin should be restored
after recording picture. BView::Draw use PushState internally so origin
is added and cause problem.
hrev54347 fixed behavior when recording picture so state change is
affected. It revealed #16317 bug.
Fixes#16317.
Change-Id: Iee69631ce83fea5ea73c99b492b8cf67d1b148c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2960
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
My printer doesn't include a content-type in its replies.
If a content-type is present, it should be the expected one. But if the
printer doesn't specify it, we can try to parse the reply and see if it
makes sense. Since the reauest has a content-type, it's reasonably safe
to assume the reply will match the requested content type.
Change-Id: I0fce7edd7cc40d2761b683d3e4c7b5316436e298
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2962
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
When debugging the EFI bootloader it is helpful to have a map file
available.
Write file efi.map when linking.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Change-Id: I6d566df50fb2713f53375970f6645353bac54042
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2964
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Remove use of custom list class in the python-
generated model classes for interaction with
HDS; use STL container classes instead.
Relates To #15534
Change-Id: Ib8f4942b55859c1af38da816591e911174ba52ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2957
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Make it correctly readable as UTF-8 encoding.
Change-Id: Ifef77aa988b8d45c485927b698526e234711425c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2955
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Fix suspicious usage of 'sizeof' with a numeric constant
as parameter.
Pointed out by cppcheck.
Change-Id: Icf43843bb92b3db0634c20ddce38e2fe1099c552
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2954
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Fix length[0] != '+' could not be checked.
Pointed out by cppcheck.
Change-Id: Ic4697dc9ffd04afcd92ef3ed65485e1fe3f32e76
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2950
Reviewed-by: leorize <leorize+oss@disroot.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* When we want to inspect errno after readdir() (or fs_read_index_dir(),
which is the same), we need to reset errno beforehand as documented
in the OpenGroup Base.
* Minor coding style, and license header fixes.
* This fixes the wrong error code from #16301, but not the underlying
issue.
Fix str = "gm" could not be checked.
Pointed out by cppcheck.
Change-Id: I433a98cef851e07be0905eee2f5100a02fa6a32b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2949
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Fix init_device() was exited without releasing the 'bus' pointer.
Pointed out by cppcheck.
Change-Id: I0ec1a78caa83d7d34a3d88fee64716dcbbc82dd2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2951
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Correct button size of 4 and 5 buttons in Mouse GUI.
- Button number are in squence now, added the default values.
Change-Id: I915077d11f9212c47c782fd9296b9f5b8909ed09
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2509
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Stub out makebootable like on u-boot
* Place haiku_loader.efi at EFI/BOOT/BOOTXXX.EFI
* Generate boot.scr for u-boot + EFI
* haiku-mmc.image now attempts to auto-boot in qemu-system-arm
* Same code paths should roughly apply for arm64,riscv,etc
Change-Id: I563ebd77422d9e5dfcfeeedadcbc60471e8a57f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2938
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This beings the replacement of the libbind/netresolv-based implementation
with musl's equivalent. The code is less well commented in some places,
but it is well-designed and well-maintained, and the licensing situation
is much cleaner than the multi-BSD-licensed libbind-derivative code,
as well as being actively maintained (supposedly NetBSD has taken over
libbind/netresolv, but have not posted any portable code since 2013.)
The eventual goal is to replace the entirety of NetResolv with code
from musl, which will be an involved process as ABI compatibility
will be a problem. These functions at least are extremely
straightforward to replace.
Change-Id: Icfefaa90cbf56b012e4e42360be5b0f0c16d73bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2943
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
These are not in the standard and are not declared by glibc at all.
The symbols remain for any applications that are still using them,
for now.\
Change-Id: Ie6b4a6b5ec3231c304e05ce9cb38c67d9ee51ad7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2942
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This avoids creaing a semaphore where it is not needed, especially
as most of these locks are never used from another thread (in the
reports in #16246, there are thousands of semaphores from this
with only a small handful having a "last acquirer" != 0.)
On an idle system with 1GB RAM and the 100ms timeout, it takes multiple
minutes for all the pages in the system to get cleared after boot, but once
they do, the page scrubber will then remain idle for seconds to even
minutes at a time, so this is clearly worth it.
The "free pages condition" was unused before this commit, so I have
repurposed it (and unpublished it.)
Change-Id: I7034677a1e51c97c2baf11b772db3a31c0e1adfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1699
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The code here cannot handle the case where alignment > block_size,
so anything calling Init() with these parameters is invalid.
Fixes#15902 (nvme_disk was long since adjusted, so this is a defense
against code being written in the future.)