History log of /haiku/headers/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3ca2e85b 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Interface: Add casts to memcpy/memset invocations on BPoint & BRect.

Their copy constructors are exactly what GCC would generate,
but we can't remove them because doing so would make them
trivially copyable, and so they would be passed in registers
on x86_64, an ABI breakage.

So instead we have to add explicit casts to void* here.

1705656e 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Add (void*) casts to memcpy/memset invocations to appease GCC 8.

A lot of these classes are not *technically* "trivially copyable"
for one reason or another, but in all of these cases it seems
OK to me to use memcpy/memset on them. Adding a cast to void*
tells GCC that "I know what I'm doing here" and shuts up the

7a73df5e 24-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Debugger: Remove needless explicit copy constructors.

These worked in identical fashion to what the default copy
constructors would be, but their mere presence marks the class
as being "non-trivially copyable," which means that memcpy'ing
it is now a -Werror on GCC 8.

We have to be careful when making this change, though: classes
which *are* trivially copyable can be passed inside registers
on x86_64, so changes like these break ABI in a dangerous way.
These classes is private, so it should not be a problem, but
for other classes (e.g. BRect, BPoint) we cannot fix them
properly right now.

38ce9026 20-May-2019 Jérôme Duval <jerome.duval@gmail.com>

posix: add posix_fadvise(), only error checks.

should help for ports.

Change-Id: Id504bdb79cb68db4b615f58848e0e1a86ced8d2b
Reviewed-on: https://review.haiku-os.org/c/1467
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

66cb2efa 15-May-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move StripeView to libshared

Change-Id: Ib8ff2f731f9d34e04854f1c2ec288a3db1036793
Reviewed-on: https://review.haiku-os.org/c/1458
Reviewed-by: Rene Gollent <rene@gollent.com>

33f7f287 13-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

kernel & runtime_loader: Don't load from non-packaged when "Disable user
add-ons" is set.

Confirmed to fix #14361. It is finally possible to un-brick an install
with a bad system library in non-packaged without having to use another
install to do so.

Change-Id: Iafea7821f02cb34e77c766b1f97d1c19206b1081
Reviewed-on: https://review.haiku-os.org/c/1452
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

69712d5c 18-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

OS.h: Reorder includes alphabetically.

218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0

6ee7bb4f 15-May-2019 Calvin Hill <calvin@hakobaito.co.uk>

cpu_type.h: Allow cpu_type functions to be accessible from C.

This allows cpu_type.h to be used in C-based software,
with the get_cpu_*() functions all accessible via C as well
as C++ code.

Tested changes with sysinfo, AboutHaiku and Pulse.

Change-Id: Ide87d8e3f2ba5f0f1890f385b1ac90c677bcc274
Reviewed-on: https://review.haiku-os.org/c/1453
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

89f1fd65 14-Apr-2019 Jérôme Duval <jerome.duval@gmail.com>

Bump gutenprint version.

needs gutenprint8 packages to be uploaded.

Change-Id: I1204ff8b1bb85cc0eb615082b205280daabbc290
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

72f7f7d9 26-Aug-2015 Jeroen Oortwijn <oortwijn@gmail.com>

USB_hid.h: Add Report Type constants

From "Device Class Definition for Human Interface Devices (HID)
Ver. 1.11", par. 7.2.1, page 51.

Change-Id: I4628f8ca940758aaf4a09290e9fa407d30374e7a
Reviewed-on: https://review.haiku-os.org/c/1450
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

629397f2 01-May-2019 François Revol <revol@free.fr>

Add basic support for loading ControlLook add-ons

app_server just passes the add-on path around.

Maybe we should make sure the add-on can be loaded when setting it.

Change-Id: I3acd3299782a22c1666bd5435dbf3d8053e359fa
Reviewed-on: https://review.haiku-os.org/c/1430
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

0ecfc6f3 03-May-2019 Murai Takashi <tmurai01@gmail.com>

Added some support for GCC 9.

Change-Id: I6b6cd53e00601592b44e1f2aa2804c8c9c9593d9
Reviewed-on: https://review.haiku-os.org/c/1438
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

c2cbf958 02-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Add and fix ownership checks in mutex_destroy and mutex_transfer.

* mutex_destroy() only checked wether or not there were waiters,
not if the lock itself was presently held by another thread.
Now we do, which should make #15015 panic much earlier instead
of trying to use freed memory.
* mutex_transfer_lock() and recursive_lock_transfer_lock() did
not check that the calling thread actually owned the lock.
Now it does, which should trigger asserts if anyone tries
to do this.

d1173792 22-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

posix/if_types.h: Remove IFT_IEEE1394, breaks build

* Sneaky ifdef in libnetwork/netresolv/irs
* Sorry for spam.

Change-Id: I241d65b63d0bb8b281e3db0adcad2814b1476c7e

db3b4a3c 22-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

posix/if_types.h: Fix tun id, add a few more

* Oops, there's a standard for these. Stick to the standard.
* Add a few that could be useful someday.
* Mention iana spec.

Change-Id: I4cf75e8c1e4b25f65d10921c7075fbd53f44e14e

612c05bd 17-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

network/tun: Style fixes; no functional change

64948daa 17-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

tun/tap: Build fixes for tun add-on

23901a75 03-Apr-2019 François Revol <revol@free.fr>

Stub out a tun/tap module from the loopback code

Not functional yet.

Change-Id: I6f7427c5fa176595927d73dd3b11b04945f66d84

b110fce1 03-Apr-2019 François Revol <revol@free.fr>

Add sources for my original BeOS BONE tun/tap config driver

as a starting point.

Change-Id: I9c3b1027a7fda4ab1eaced486eb2455a19571fee

02f7c698 15-Apr-2019 Jérôme Duval <jerome.duval@gmail.com>

TranslationErrors.h: document as deprecated.

TranslationDefs.h: SupportDefs.h already includes Errors.h, remove TranslationErrors.h.

f1fafe31 12-Apr-2019 Augustin Cavalier <waddlesplash@gmail.com>

kernel/OS.h: Include sys/types.h instead of pthread.h.

This avoids polluting the namespace significantly. Also adjust
all files which depended on this behavior to include pthread.h

e982a0b2 08-Apr-2019 Les De Ridder <les@lesderid.net>

btrfs: make file system name consistent

Change-Id: I5276be636875809f78201cb6274d64499252de73
Reviewed-on: https://review.haiku-os.org/c/1394
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

40fcf163 04-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/riscv64: Add missing kernel_arg ranges to get build going.

Change-Id: Idf549a5e4d01e6dc8949ec1252296337e5ef970c
Reviewed-on: https://review.haiku-os.org/c/1380
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

e0ec8de7 04-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/riscv64: ATOMIC64 FUNCS are not syscalls

Change-Id: I8696939ec2fab6f3960a9a41f0b5c9fcd6949760
Reviewed-on: https://review.haiku-os.org/c/1379
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

fea91fdc 02-Apr-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: pci bus manager

Copied from PPC with the hooks for Apple hardware removed.
To be completed with the actual PCI bus implementation for Sun machines.
This is where we start doing machine specific stuff, apparently.

Change-Id: I06af4de9621e9d40593d153642478d928083e49a
Reviewed-on: https://review.haiku-os.org/c/1364
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

e8f58ba4 28-Mar-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: fix bootloader build

- Add various missing jamfiles
- Add required implementation stubs
- Update openfirmware jamfiles for multiboot support
- Update linker rules for sparc loader

Change-Id: I2d06c7a4d33827f58d82946687003f9a0dcb1b7d
Reviewed-on: https://review.haiku-os.org/c/1329
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

566e253f 04-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: Fill remaining riscv64 architecture headers

5e06ebe1 03-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/arch/riscv64: Correct some architecture headers

45b21f00 03-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

riscv64: Drop duplicate KERNEL_LOAD_BASE

c59cde3d 03-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

riscv32: Drop any remaining mentions

* I added this early on, but to be honest, any interesting
workstation class hardware would be riscv64.
* Since riscv32 is mostly embedded or low power, just drop.

Change-Id: Id36274c882c46e766268f2ab53eb1bd5f95227be
Reviewed-on: https://review.haiku-os.org/c/1352
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

382c3f6e 02-Apr-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/config: Fix RISCV64 define typoed to 32

Change-Id: I20890218f5edd279ab1080432a4d91f5a7f64dee

454b04ca 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

HaikuConfig: Change _BEOS_COMPATIBLE_TYPES to only be defined on i386.

Hopefully soon we will have our first 32-bit non-x86 architectures.
No functional change for x86 32- and 64-bit intended.

5ffbe7d7 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

Change all references to "__INTEL__" to "__i386__".

They are functionally identical, but the former is a BeOS/Haiku-specfic
macro that we include in the compiler specs, and the latter is defined
by GCC.

b357daa5 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

build: Deprecate SetSubDirSupportedPlatformsBeOSCompatible.

By default, all targets support the "haiku" platform, and we no longer
support building for BeOS, Dan0, Zeta, or other BeOS-compatible targets,
so this is no longer needed.

Also remove all references to the non-Haiku compatible platforms, and
change all BEOS_COMPATIBLE checks to HAIKU_COMPATIBLE. Removal of
all SetSubDirSupportedPlatformsBeOSCompatible invocations
will be in the next commit.

8ff82ee2 28-Mar-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: fix debug support

Declare and use the correct registers to define a stack frame.

Change-Id: Ice3ba8f8715313a715f6b1cb553a6883541f5cc4
Reviewed-on: https://review.haiku-os.org/c/1327
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>

3bfbec83 28-Mar-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: More missing defines in platform headers

* Kernel is 64 bit, and we won't need a 32bit load base.

Change-Id: I729bab01c8f71083002db061e153b0e5052b9a1c
Reviewed-on: https://review.haiku-os.org/c/1326
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>

569791be 27-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/posix: Define the byteswap macros unconditionally.

It helps if one tests GCC4+ fixes on GCC4+...

8e309168 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/posix: Use separate naming for the byte-swap macros.

This avoids a compile error on GCC4 when ByteOrder.h is included
after it.

6d5e91f0 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/posix: Make casts in netinet byteswap functions uniform.

fcf0b31f 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

bootloader: Add the network endianness macros to NetDefs.h.

This file contains all the protocol- and interface-related
definitions, so this seems to be where they belong.

Required following previous commits.

fb52ab82 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

Minor tweaks to fix the build after the last commit.

* firewire and freebsd_network expect the macros come from
sys/param.h, as this is one of the places FreeBSD defines them
* All others are Haiku-native and can use Be-style macros.

9cb15d72 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

netinet/in: Use the GCC4 builtin byteswap functions for htonl.

Fixes the build breakage caused by PulkoMandy's recent commit.
Remove these from ByteOrder.h now also, as per POSIX they should
come from netinet/in.h.

This is a small source compatibility breakage, but it will only
affect a small portion of non-POSIX, partially-Be applications.

204ec4de 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

build: Use the main ByteOrder.h.

The only differences between the two were whitespace and then the
GCC4 builtin byteswap functions.

d15fda2c 26-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

build/BeBuild.h: Throw an error if the compatibility headers are not included.

If this triggers, it means something is using the "build" errors while
the build system thinks it is not, which is always an error. Nothing
triggers this at present, but some subtle bugs in the build system
a while back would have been caught by this.

e1b41d44 13-Jun-2010 Andreas Faerber <andreas.faerber@web.de>

boot loader: Wire up net_stack_cleanup()

Add a platform cleanup hook before starting the kernel. The openfirmware
and PXE loaders clean up their network stack there, while the other
loaders currently do nothing.

This closes ticket #6166

Change-Id: I34765892dfd9b2310c6af97c9ff7d414afae49e5
Reviewed-on: https://review.haiku-os.org/c/50
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

c085f386 18-Mar-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

riscv64: Fill in more bulk architecture items around libroot/kernel

Change-Id: Ia2a86d8814d06950ea2d2d19d966c642d26f81d6
Reviewed-on: https://review.haiku-os.org/c/1302
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

e2c7bb90 01-Mar-2019 CodeforEvolution <secundaja@gmail.com>

Add Reboot Check to BPackageRoster

A bit of an explanation for these weirdly named functions:
LatestActivePackageInfos() returns the packages on the system that are
both installed and fully set up. When packages are in the middle of being
installed, LatestInactivePackageInfos() shows the packages in the process
of being installed. Once the installation process is done,
LatestInactivePackageInfos() returns nothing. If there are packages that
can't be fully activated without a reboot, CurrentlyActivePackageInfos()
will return the same information as LatestActivePackageInfos(), or if
everything has been installed and activated, it will return no packages.

Change-Id: Ia1814a5abda6d815c46e0b46dc812b4e7af81de3
Reviewed-on: https://review.haiku-os.org/c/1129
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

d3f27239 13-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

bus: Remove IDE.h and change ATA bus manager paths.

f42cda29 28-Feb-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: get libroot to build

Add various stubs to fix undefined references. No implementation for
anything yet.

Change-Id: I2d398bc2369d099e3a35f0713058d6a5edc6801d
Reviewed-on: https://review.haiku-os.org/c/1138
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

eea7ceb3 23-Feb-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

Add BytePointer to help with pointer conversions

This behaves mostly like a pointer, but pointer maths works in bytes,
not the native object size.

It avoids casting to char* and back when doing byte-based pointer math,
making the code easier to read.

Change-Id: I6a8681a398345f0c7d419a2cfe7244d972ffa62f
Reviewed-on: https://review.haiku-os.org/c/1086
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

ba56d0a5 07-Mar-2019 Jérôme Duval <jerome.duval@gmail.com>

pthread: add pthread_getattr_np.

non standard extension, but widely available to obtain attributes for a thread.
also provides an alias for pthread_getattr_np which is the bsd equivalent.

Change-Id: I26ef8245ed2537186f48c8b8bdf3e42b03e70892
Reviewed-on: https://review.haiku-os.org/c/1172
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

901c3d44 05-Mar-2019 Jérôme Duval <jerome.duval@gmail.com>

pthread: implement pthread_attr_[get|set]stack.

remove pthread_attr_[get|set]stackaddr from unimplemented functions.

Change-Id: I58807e86c75a189a576639ae1b2e4505a63700a5
Reviewed-on: https://review.haiku-os.org/c/1152
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

9e1ce8ed 05-Mar-2019 Jérôme Duval <jerome.duval@gmail.com>

kernel: tweak USER_SIZE.

Change-Id: Id0a4ad785bbd195e425dd32ca891dc4525bb3e18
Reviewed-on: https://review.haiku-os.org/c/1151
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

ee735d1b 03-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

PackageKit: Fix BPackageInfoAttributeValue::Clear for GCC2.

These are simple structs, so hopefully GCC8 will be OK with us
memsetting them. We can't use the standard = {} route because
GCC2 does not support that.

752ec5c6 25-Feb-2019 Murai Takashi <tmurai01@gmail.com>

Package kit: Fix -Werror=class-memaccess

Initialize each class members instead of memset()
for clearing PackageInfoAttributeValue.
Pointed out by gcc8.

Change-Id: I8bdb328e2271e49e840b1294dba9cca544805e72
Reviewed-on: https://review.haiku-os.org/c/1114
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

a7c23bb4 24-Feb-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

kernel/arch/sparc: stubs to get the kernel to link

Add empty implementation of timer, elf, vm, debugger support, to let the
kernel link.

Also add the kernel linker script.

Change-Id: If0795fa6554aea3df1ee544c25cc4832634ffd78
Reviewed-on: https://review.haiku-os.org/c/1108
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

c1566b15 23-Feb-2019 PulkoMandy <pulkomandy@pulkomandy.tk>

sparc: more platform headers

Previous commit adding these was merged very quickly, so here's one

Change-Id: I23c424db7631db1f0ec48e2d0ae47c8409ae6af2
Reviewed-on: https://review.haiku-os.org/c/1088
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

d7b8d76a 03-Mar-2019 Niels Sascha Reedijk <niels.reedijk@gmail.com>

BSD headers: remove _BSD_SOURCE feature gate for sysexits.h

During the compilation of LLVM version 8, the build failed because it depends
on a constant in this file. In hrev49042 all BSD headers were feature-gated by
_BSD_SOURCE. This is not done (for this file) in glibc and (obviously) not in
BSD's libc.

Since this is not common practise, I would propose removing the feature gate
for this header file, as it would mean that we would have to upstream patches
for ports of other software that depends on the availability of these

Change-Id: I486f0c2e87eff489ce92d03589a6299ef1be6ca5
Reviewed-on: https://review.haiku-os.org/c/1144
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

05dda88d 25-Feb-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/riscv64: Implement basic arch headers

Change-Id: I6bfbacb61eae84ffebc30c2565683348d684d88f
Reviewed-on: https://review.haiku-os.org/c/1063
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

5629675a 17-Feb-2019 Adrien Destugues <pulkomandy@gmail.com>

sparc: add defines and minimum set of required files

Gets the stage0 bootstrap to run.
Imlementation is probably nonsense at this point.

Change-Id: I10876efbb54314b864c0ad951152757cdb2fd366
Reviewed-on: https://review.haiku-os.org/c/1061
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

86dfe1d9 21-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

BAffineTransform: Remove "register" storage class.

Long since deprecated, and compilers can figure this out on
their own now. Fixes a lot of errors in Clang.

83a69e16 21-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

MediaExtractor and MediaWriter fix constness

* Fixes an ugly hack, where the codec was initialized in the
InitCheck and prevented the method to be const too.

2caa4ec7 21-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

codec_kit: Fix build

662583b3 21-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

MediaStreamer: Extend API to support DVD navigation

* This is a general review of the code and includes a rework
of the sniffing API.

a6a6e3a8 19-Feb-2019 Adrien Destugues <pulkomandy@gmail.com>

Package kit: add likely-useful architectures

Required for bootstrapping them.

Change-Id: I179d8c73b08688946049bf18ff9151ef047e449b
Reviewed-on: https://review.haiku-os.org/c/1071
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

01796e78 20-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

kernel/x86: Re-introduce the 1MB lower barrier.

It was removed in 2008 to make VM86 work, which is now gone.

Fixes #14911.

8497a2cc 12-Jul-2012 ahenriksson <sausageboy@gmail.com>

vfs: functions to change a vnode busy status and ID

The kernel version is only partially tested.

Change-Id: I9a2f6c78087154ab137eadbced99062a8a2dd688
Reviewed-on: https://review.haiku-os.org/c/918
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

ff76d2df 10-Feb-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

sdhci and mmc implementation

- Add semaphore for interrupt management
- Add basic operations (setting clock, executing a command)
- Add early initialization (clocks and power up)
- Wrap the bus in a C++ class to ease usage
- Expose API to MMC bus manager
- TODO: manage card insertion and removal interrupts
- TODO: use MSI when available

- Implements SD card management independant of the way we access the bus
(later on different drivers can provide the same API as SDHCI)
- Worker thread to do the initialization
- Implement card initialization process up until getting an RCA from the
card. This is the generic part to assign an ID to the card, after this
point commands can be targetted at the specific card so it can be
handed over to the mmc_disk driver.
- TODO: initialization for non-SDHC cards which do not reply to CMD8.

Change-Id: I71950ca3ce206378a68fa7f97c19f638183d6cdd
Reviewed-on: https://review.haiku-os.org/c/1032
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

6b0251e1 17-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

syscall_args: Remove R5 compatibility hack.

784c192d 17-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

AdapterIO: Don't inclue RWLocker header in public file

303f5741 17-Feb-2019 Barrett17 <b.vitruvio@gmail.com>

MediaPlugin: Use three decimals for plugin version

* That allow to manage minor and major versions.

eb6626e9 05-Jan-2019 Barrett17 <b.vitruvio@gmail.com>

MetaData: Implement copy constructor

d0064da6 03-Jan-2019 Barrett17 <b.vitruvio@gmail.com>

MetaData: Introduce missing keys

9ad840d8 28-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

MetaData: Correct doxygen brief

5ac9b506 16-Feb-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/riscv64: Fill out headers needed by buildtools

Change-Id: I131a44fbcf7b4f6471cc737cff40bd2966ec9764

b7598b65 14-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

HashSet: Make iterator const.

Nothing that uses this API at present needs a const iterator (and
as far as I could see, nothing ever called Remove() on the iterator.)
But this is now how HashMap's API works, so let's be consistent.

759d502e 14-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

HashSet: Fix the build with GCC 7.

fc8e5be1 14-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

HashMap: Fix the build with GCC 7.

de48af7a 14-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

Adapt all consumers of HashSet and HashMap to the slightly-different APIs.

No functional changes intended. Tested and verified as working.

Change-Id: Iaa67c2e5f0d9aff433ac7348e63e901a6a80e589
Reviewed-on: https://review.haiku-os.org/c/1043
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

cc54b43e 12-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

shared: Finish HashSet and fixup HashMap.

Changes are pretty straightforward. The iterator is now const
again, but can be passed to the hash table itself for removal
of the current item.

Change-Id: Ifd3c8096ffb187a183ca5963ed69a256562a524f
Reviewed-on: https://review.haiku-os.org/c/1042
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

eff1e73c 12-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

shared: Merge BOpenHashTable in; remove OpenTracker's OpenHashTable.

The HashMap and HashSet classes are copied from userlandfs. The
HashMap one works as-is as it's already used in userlandfs; the
HashSet does not even compile yet.

Change-Id: I1deabb54deb3f289e266794ce618948b60be58c0
Reviewed-on: https://review.haiku-os.org/c/1041
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

58852727 12-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

BOpenHashTable: We need std::nothrow, so don't depend on others to include it.

Change-Id: Ibe21cef215a730f88eeea499c305a54ce397aeba
Reviewed-on: https://review.haiku-os.org/c/1039
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

a5e9253f 12-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

BHoliday: Remove, unused.

There isn't much use for a class that can only compute the dates of
two minor and one major holiday. Probably in the future the Locale Kit
could be extended to expose ICU holiday APIs, but seeing as that
is a less-used functionality, this can just be removed altogether
for now at least.

Change-Id: I18be044be7d5c6896295ed85d294abeea90b8bb0
Reviewed-on: https://review.haiku-os.org/c/1037
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

2f1a930a 27-Dec-2014 Puck Meerburg <puck@puckipedia.nl>

Fix CID 1255187, 1255202, 1255213, 1255260, 1255308

Change-Id: If2357dc8e6147b2f1983f646e4f3ba70195e59ff
Reviewed-on: https://review.haiku-os.org/c/85
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

72327892 07-Feb-2019 Adrien Destugues <pulkomandy@pulkomandy.tk>

Extract parse_size function from ramdisk command.

Change-Id: If7dd36321e1ed2feb20b4c76ddaf303bc997d8b7
Reviewed-on: https://review.haiku-os.org/c/1018
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>

f33f4868 05-Feb-2019 Jérôme Duval <jerome.duval@gmail.com>

posix_spawn: add posix_spawn_file_actions_add[f]chdir_np.

see http://austingroupbugs.net/view.php?id=1208
and https://sourceware.org/bugzilla/show_bug.cgi?id=17405

* also free paths in posix_spawn_file_actions_destroy().

Change-Id: I8bed848154025bd5a25322bdc4c25aa417f86ec6
Reviewed-on: https://review.haiku-os.org/c/1010
Reviewed-by: Rene Gollent <rene@gollent.com>

af615399 04-Feb-2019 Jérôme Duval <jerome.duval@gmail.com>

posix_spawn: add POSIX_SPAWN_SETSID.

see http://austingroupbugs.net/view.php?id=1044

Change-Id: I9ae4fe07ea0fa7e20eb9a1d8c64e971e7353bcff
Reviewed-on: https://review.haiku-os.org/c/1008
Reviewed-by: Rene Gollent <rene@gollent.com>

e5d0c909 01-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

BView: Add a B_SCROLL_VIEW_AWARE flag.

* This indicates the view will manage whatever scrollbars are targeted
to it.
* Use _B_RESERVED7_ for this. It's been RESERVED since BeOS R5
(I guess it was probably something on some older BeOS version?)
and we don't really care about BeOS R4 ABI compatibility, so
that should be fine.
* Update BScrollView to not touch BScrollBar range/proportion
when the target view has this set.
* Update BListView to set this flag, always.

Fixes #14871.

Change-Id: I17027f3b63ef28da1e735c5393593496c415dce3
Reviewed-on: https://review.haiku-os.org/c/998
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

3493fcb6 02-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/kernel: Add argument names to initialization functions.

d65ffc92 02-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

libnetapi: Remove __gNetAPIStart.

Not used by anything.

c5e4e4ff 01-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/kernel: Include declarations of initialization functions in image.h.

No "real" functional change, but this causes GCC7 to throw errors when
these functions are declared without the image_id argument, which
in some files they were (as this commit repairs.)

This change is largely inconsequential on x86, but on callee-cleanup-args
targets, leaving out the argument would probably cause stack corruption.

d545ad17 01-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/kernel: Define B_CURRENT_IMAGE_SYMBOL via __func__.

Previously, __haiku_init_before was a symbol that was included in
each (shared) object, and so it could be used to determine what
one we were in. Now, there are no such universal symbols that
are declared private to only the object, so we have to use
a different approach.

__func__ is defined as a const char* at the very beginning of
every function it's used in, set to a string of the function name
only, i.e., the arguments and return type are left off. So while
including that is perhaps not quite optimal, in practice this
definition is used extremely rarely (it was introduced by Haiku,
and it is used in only 2 applications at all that I could find --
WebKit and Canna.)

There really isn't any other way to get a pointer that we know
for certain is within the current object besides this one
without inserting one, but that really isn't merited just for this.
(__builtin_return_address() has problematic semantics wrt. inlining,
including linker-inlining.) So this will have to do.

47517233 01-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/kernel: Move B_WAIT_TILL_LOADED to a syscall header.

It is only used as an argument to _kern_load_image directly, not to
any of the load_image functions in image.h, so it belongs in a syscall-
specific header like other such constants.

No functional change intended.

04b9fbfd 01-Feb-2019 Augustin Cavalier <waddlesplash@gmail.com>

headers/kernel: Clean up image.h.

* Add missing whitespace.
* Remove definition of the now-gone __haiku_init_before.

No functional change intended.

434c3471 27-Jan-2019 Rob Gill <rrobgill@protonmail.com>

headers/libs/agg Fix PVS 33

* Fix successive assignment of 'da'

* also trailing whitespace removal

Change-Id: Ic127150c18c042839d4104ccc5830adf19550399
Reviewed-on: https://review.haiku-os.org/c/954
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

d1f885b4 27-Jan-2019 Rob Gill <rrobgill@protonmail.com>

headers/libs/agg Fix PVS 11, PVS12

* Replace hard-coded math constants with M_SQRT1_2
(math.h was already included)

* also trailing whitespace removal

Change-Id: I5e9511060d2f812830f7621bee3aff9a517576e5
Reviewed-on: https://review.haiku-os.org/c/956
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

cf77ef18 25-Jan-2019 Alexander von Gluck IV <kallisti5@unixzen.com>

haiku_loader: Toss iSCSITarget, add TCP stack to loader.

* This iSCSI implementation only worked on PPC big-endian atm.
* We're pretty sure iSCSI support in haiku_loader doesn't make
much sense anymore. iPXE on (on arm,x86,etc EFI/BIOS platforms)
supports iSCSI boot of disks.
* Haiku could use a iSCSI driver add-on, but it would exist much
higher up and likely use standard drivers vs bare-minimum iSCSI
target impementations.
* Leaving TCP and adding to all arches since it could make sense
for haiku's native network disk subsystem or network debugging?

Change-Id: Ic181b93a1d8ffd77f69e00e372b44b79abbddb42
Reviewed-on: https://review.haiku-os.org/c/899
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

4854630d 27-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

BScrollView: Resize scrollbars dynamically based on target's B_SUPPORTS_LAYOUT...

...instead of the BScrollView itself's layout flag. Thanks to Adrien and
Kacper for discussion on the mailing list.

1322d507 27-Jan-2019 Adrien Destugues <pulkomandy@gmail.com>

HttpRequest: write whole request to socket

Better performance by using a single write, and some servers may not be
happy about getting so many TCP fragments for the HTTP header.

Change-Id: If7139e2a7748ea423d470676e70bd523a89031b2
Reviewed-on: https://review.haiku-os.org/c/909
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

9edb207f 12-Jan-2019 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Fix for bug 6991, replace registrars timer tick

Registrar schedules an event every second to do
fRoster-CheckSanity(). This uses 2.5% cpu on my machine
when idle. Changing it to five seconds lowers it to 0.1%

waddlesplash then pointed me to this bug which changes it
to watch for team deletion and call fRoster->CheckSanity()

As I know little in this area, it's mostly based on what
LaunchDaemon does in MessageRecieved.

Change-Id: Ie69f9399cab41d2d492d469b5d3dc88e6080c15c
Reviewed-on: https://review.haiku-os.org/c/876
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

2502d45a 22-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

BTabView: Change layout constructor to default to B_WIDTH_FROM_WIDEST.

This seems to fit the "spirit of layout" better.

Change-Id: I7a75b58de4c9f703d828cdd292b7b91ee720c135
Reviewed-on: https://review.haiku-os.org/c/891
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

a4f5124f 21-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

Media Kit: Rewrite DefaultMediaTheme to use layouts.

The old fixed-rect method was very error-prone in corner-cases,
resulting in half-visible (cut off) parameters, incorrectly
sized controls, etc. on various devices, which often made it
impossible to use.

While there are still a few rough edges (scrollbar behavior could
be further improved, though it's already much better than it was before),
this method is much better than the previous one.

Fixes #11592 and related tickets.

Change-Id: I65175f760bda98e42d1fc68ba8e526470bf17c25
Reviewed-on: https://review.haiku-os.org/c/889
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

b9c25b0d 09-Jan-2019 Leorize <leorize+oss@disroot.org>

unistd: introduce nice()

This commit implements nice() as specified in POSIX.1-2008.

Fixes #4932.

Change-Id: Ibd8d4636d9e3a8adf0f26a081d5b1180f0cbb839
Reviewed-on: https://review.haiku-os.org/c/863
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

8ae2e956 08-Jan-2019 Timothy Gu <timothygu99@gmail.com>

libroot: add [gs]etpriority implementation

Implemented against POSIX-1.2013.

The implementation POSIX requirement thats setpriority() shall affect the
priority of all system scope threads only extends to POSIX threads. This
is implemented by modifying the default attributes for newly spawned

It is not possible to modify the default pthread attributes for different
processes with the current implementation, as default pthread attributes
are implemented in user-space. As a result, PRIO_PROCESS for which and 0
for who is the only supported combination for setpriority().

While it is possible to move the default attributes to the kernel, it
is chosen not to so as to keep the pthread implementation user-space only.

POSIX requires that lowering the nice value (increasing priority) can be
done only by processes with appropriate privileges. However, as Haiku
currently doesn't harbor any restrictions in setting the thread priority,
this is not implemented.

It is possible to have small precision errors when converting from Unix-
style thread priority to Be-style. For example, the following program
outputs "17" instead of the expected "18":

#include <stdio.h>
#include <sys/resource.h>

setpriority(PRIO_PROCESS, 0, 18);
printf("%d\n", getpriority(PRIO_PROCESS, 0));
return 0;

The underlying reason is because when you setpriority() both 18 and 19
are converted to the Be-style "2". This problem should not happen with
priority levels lower than or equal to 20, when the Be notation is more
precise than the Unix-style.

Done as a part of GCI 2014. Fixes #2817.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Co-authored-by: Leorize <leorize+oss@disroot.org>
Change-Id: Ie14f105b00fe8563d16b3562748e1c2e56c873a6
Reviewed-on: https://review.haiku-os.org/c/78
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

ffbedf60 16-Jan-2019 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Revert "Fix for bug 6991, replace registrars timer tick"

Unintentional commit, still not used to gerrit things

This reverts commit a02e4534f54232c4e85677cfe8451808f0b44209.

a02e4534 12-Jan-2019 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Fix for bug 6991, replace registrars timer tick

Registrar schedules an event every second to do
fRoster-CheckSanity(). This uses 2.5% cpu on my machine
when idle. Changing it to five seconds lowers it to 0.1%

waddlesplash then pointed me to this bug which changes it
to watch for team deletion and call fRoster->CheckSanity()

As I know little in this area, it's mostly based on what
LaunchDaemon does in MessageRecieved.

5f603da0 17-Jul-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

Better shape for submenu arrow

Just use BControLook where appropriate. It already provides a nice arrow
drawing function (also used in DeskBar expander and in scrollbar

Fix second part of #8900

Changes by John Scipione:

Update menu mark and submenu arrow color with menu text color

Use text color for checkmark and submenu arrow colors, tint less black.
This means that colored bg/white text menu item will also draw a white
checkmark and submenu arrow.

Break out BMenuItem::Draw functionality into private methods _IsActive,
_LowColor() and _HighColor() methods and use them to set the mark colors.

Scale submenu arrow and checkmark with item height (which scales with
font size.)

does not align shortcuts with submenu arrows... but if you were to do
that you'd add item->Bounds().Height() / 2.

Signed-off-by: John Scipione <jscipione@gmail.com>

Change-Id: I8299094ef88bf227510b116eb1b84c261dc94723
Reviewed-on: https://review.haiku-os.org/c/341
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

647b5a29 08-Jan-2019 Murai Takashi <tmurai01@gmail.com>

utf8_functions.h: Fix PVS 359

Fix integer constant SIZE_MAX is converted to pointer.

Change-Id: Ifdff4e08a9b2c31e466580ba9a71f6ea7c0191d4
Reviewed-on: https://review.haiku-os.org/c/865
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

1c1efa6f 07-Jan-2019 Augustin Cavalier <waddlesplash@gmail.com>

kernel/x86: Use volatile in restore_interrupts.

We already use it in enable_interrupts, so we might as well
use it here too.

954a0a0c 02-Jan-2019 Stephan Aßmus <superstippi@gmx.de>

Fix some cases of updating draw state while recording a BPicture

* Also implemented recording DrawString(string, length,
BPoint[] locations), which was previously not recorded at all.
* Also implemented playing back recently added drawing commands
in PicturePlayer.cpp. I don't quite understand what this is
actually used for, but it seemed it was forgotten. I just followed
the pattern already established in the code.
* The other important bit in this change is to update the pen
location when it is needed while recording a BPicture. Often
the BView will use PenLocation() in order to transmit drawing
commands to the app_server which use absolute coordinates only.
This isn't actually so nice, since it means the client has to
wait for the server to transmit the current pen location. If there
were dedicated link-commands for pen-relative drawing commands,
the client could just keep sending without waiting for the server.
In any case, the app_server needs to update the pen location in
the current DrawState and even the DrawingEngine even while
recording a picture, because some next command may need up-2-date
state information, such as the font state and the pen location.
* I have not yet tried to find /all/ instances where the DrawState
needs to be updated while recording. This change should repair
/all/ font state changes, all versions of drawing a string, and
all versions of StrokeLine().

Change-Id: Ia0f23e7b1cd058f70f76a5849acb2d02e0f0da09
Reviewed-on: https://review.haiku-os.org/c/817
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>

6086986d 04-Jan-2019 Rob Gill <rrobgill@protonmail.com>

kernel/x86: additional msr and cpuid items

Adds SSBD and L1TF related items

Change-Id: Iccea2bb9e057e0d011a18609212f175f9b5e678d
Reviewed-on: https://review.haiku-os.org/825
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

e7933432 28-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

BCodecRoster: Remove MakeFormatFor

* I want to introduce a new way for plugins to
register for a format. Supporting the old FormatManager is
too painful at this point and not worth the effort.

fa911df6 27-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

Move FormatManager back to the media_kit

* We don't aim to replicate this functionality. I don't
think this will be useful at all in future iterations.
Originally I planned to rewrite it on top of the new
BMediaFormat, but now I am of the hopinion this is
greatly unneeded.

708de94f 27-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

MetaData: Add doxygen brief

e98351d3 26-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

MetaData: Revert types to uint32 and define framerate as float

* Adds some missing methods signatures.
* integer vs float framerate is a longstanging debate. In theory,
in digital a/v there should not be need for floating point framerates.
This is because unless the software is run on exoteric hardware, there
is not need for it. Unfortunately, some legacy from the past like the
29.7 hz debate (NTSC) still may need to work under floating point framerates.
Even if in pratice it'd be run at 30 hz anyway.
* In theory, to handle all those correctly we should use a rational framerate,
however most code should be rewritten to support that correctly, and
it'd add some excessive complexities.
* All integer types are reverted back to unsigned ones. There's really
no reason to use signed integers there, and more importantly the danger
for integer underflows and the attached security concerns is very big.

13beda00 26-Dec-2018 Michael Lotz <mmlr@mlotz.ch>

kernel: Fix race condition when waiting for load of new team.

There was no synchronization of the check of the done flag and the
waiting thread suspending to wait for it. It was therefore possible that
the new team both set the flag and triggered the wakeup of the waiting
thread in that time window, causing it to miss both the set flag and the
thread resumption.

Use a condition variable instead.

Fixes #13081.

Change-Id: I93c45db8dd773fe42b45c4b67153bcd39e200d3b
Reviewed-on: https://review.haiku-os.org/803
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

30d69e3f 25-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

BMetaData: Add missing stuff to describe a media format

* We will need those for BMediaFormatBuilder.

e4103b1b 25-Dec-2018 Michael Lotz <mmlr@mlotz.ch>

libroot: Introduce thread specific heap init/exit hooks.

This allows heap implementations to initialize and clean up any thread
specific structures. The current default hoard heap does not use these.

Note that the thread exit hook will not be called for the main thread as
the heap may be needed during process termination (__cxa_finalize for

Change-Id: I703fbd34dec0d9029d619a2125c5b19d8c1933aa
Reviewed-on: https://review.haiku-os.org/799
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

da31c585 17-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

shared/locks: Add RecursiveLocker.

Copied from the kernel version.

a41ed241 16-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

headers/compatibility: Re-add missed _BSD_SOURCE guards to vis.h

324336d1 16-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

libbsd: Update vis and unvis from FreeBSD.

Fixes #11061.

08858e10 10-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

kernel_cpp: Don't import all of the "std" namespace.

This file is included, directly or indirectly, by most of the
kernel-space C++ code, and so importing the entirety of "std"
seriously pollutes the global namespace.

So instead, just import "std::nothrow", which is the only thing
we really want in the global namespace. Tested on both GCC2
and GCC7 and seems to work just fine.

While I'm here, also update the include guards and copyright
header to match the standard format used elsewhere.

6b83d77f 09-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

smp: Make {acquire|release}_read_seqlock_inline cast explicitly.

Also fix braces.

86c12bf0 09-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Initialize all fields of rw_lock in RW_LOCK_INITIALIZER.

Spotted by Clang.

5dd66afb 09-Dec-2018 Augustin Cavalier <waddlesplash@gmail.com>

headers: Remove some extra semicolons.

Spotted by Clang.

e28abad7 03-Dec-2018 Murai Takashi <tmurai01@gmail.com>

userlandfs: Fix -Werror=parentheses

Remove unnecessary parentheses in declaration of pointers.
Pointed out by gcc8.

Change-Id: I6f56b12349b6c8433f7ce237f5ce5d7af45bf103
Reviewed-on: https://review.haiku-os.org/750
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Skipp_OSX <jscipione@gmail.com>

151343eb 27-Nov-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

BLooper: API to hijack existing thread.

I need this to use loopers in WebKit, which spawns threads and expects
to be able to turn them into event loops later on.

This is the pattern already used in BApplication, we may as well make it
available elsewhere.

Change-Id: I5939ca89d33cb3bcc92567b302c2038d976af598
Reviewed-on: https://review.haiku-os.org/735
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

4c5e5d8b 25-Nov-2018 Murai Takashi <tmurai01@gmail.com>

tools/locale: Fix using auto_ptr to array.

Use BStackOrHeapArray instead of using auto_ptr to array.

Change-Id: I171cb002829c36ec51ba7d1e387869263e2a40f2
Reviewed-on: https://review.haiku-os.org/745
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

b6802a95 30-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

MetaData: Remove support for uint32 keys

* We try to conform to what ffmpeg does, it is
unuseful to support metadata keys formats which
aren't really used anywhere.
* Add TODO with some infos for future improvements.

a57cf128 01-Dec-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Introduce declarative macro with version and name

* Namespaces protect symbols, I didn't consider that when adding
the BCodecKit namespace, so, the AddOnManager complained that
instantiate_plugin() was missing. A macro is introduced that allow
plugins to specify it's className, version and name, this ease
the declaration of the plugin symbols, otherwise the function
should have been declared inside the BCodecKit namespace which
we would like to avoid.
* The code is also more future proof, since in future the AddOn manager
can begin to check for plugin versions.

f0a1a07c 27-Nov-2018 Murai Takashi <tmurai01@gmail.com>

RegionSupport: Fix PVS 338-346

Fix 'true / false' value is implicitly cast to the integer type.

Change-Id: I2f72fcd34d2d97d20e2a98ed5efe25919a485c9d
Reviewed-on: https://review.haiku-os.org/739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

36f94d9e 29-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Move RawFormats.h to Codec Kit

* This should be probably uniformed with the future
media kit format defs. Not sure why those formats are
separated and used only by the codec kit. Eventually,
if needed can be changed to some name that differentiate
them better than media defs.

278d03da 27-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

media_kit: Remove most private dependencies from codec_kit

* Move to BCodecKit namespace and make extensive use
of BCodecRoster.
* This is a first step in the right direction of
decreasing private dependencies. Some APIs are being
translated to the CodecKit. I am doing an investigation
on which APIs are really used among apps, so that the new
kit can be more slim and oriented toward easy development
and can be extended in the right direction instead to
continue maintaning unuseful code.
* BMediaFormats needs still a bit of love.
* General improvements in style and code maintainability.

fe9542fd 27-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

BCodecRoster: Add useful functionality from MediaFormats

d33bd9ec 26-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Introduce BCodecKit namespace

24741481 26-Nov-2018 Nathan Sashihara <nsashihara@protonmail.com>

Fix IN6_IS_ADDR_V4MAPPED & IN6_IS_ADDR_V4COMPAT false positives

Change-Id: I71af73718667b800c416e47203f8b9924a1096c4
Reviewed-on: https://review.haiku-os.org/733
Reviewed-by: Rene Gollent <rene@gollent.com>

f20ff4fa 25-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

CodecRoster: Add GetDecoderInfo

1b96c341 25-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

ChunkProvider/ChunkWriter: Move method to protected

* Remove inline destructor.

ee09c291 24-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Media Kit: Update private code

be805d02 24-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Rename classes to BFoo pattern

082e4ae4 25-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Rename files

ef593f61 24-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>


This allows Clang builds (linked with our cross binutils) to
at least start runtime_loader and then try to load launch_daemon.
That fails with an infinite loop somewhere...

807304b1 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add basic support for MinGW hosts.

This doesn't fully work yet (the FS code in libroot_build
needs to be adapted, as some of the symlink-related calls
are not available on MinGW), but it gets much further than
the "Cygwin" target did.

37c10606 23-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Remove support for cross-building from Cygwin and SunOS.

These have been broken for a long time. Some Cygwin changes that
are relevant on MinGW are kept here, but users on Windows who
want to build Haiku should probably use WSL at this point.

However, now that we are using relative paths and don't need
to worry about drive path kludges, it's actually possible to
get some host tools built on MinGW. Changes for that coming.

44fc903a 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Introduce BCodecRoster

* This class include almost everything you need to
manage codecs and iterate over them.

f5a45291 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Add some TODO for the future

* Little beauty fixes included.

06b088bd 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Streamer: Make constructor private

f4054701 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Encoder: Make constructor private

c09a5898 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Decoder: Make constructor protected

a741fb49 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Writer: Make constructor and Init protected

75b5f33c 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Reader: Make constructor protected

af34e7ab 22-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Beauty fixes

608c9d9a 21-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codek Kit: Introduce BMetaData in Writer/MediaWriter

* Remove SetCopyright as well.

3e8f721b 21-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Introduce BMetaData in Reader/Extractor

* Remove superfluous Copyright method.

9bbd53a2 21-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

BMetaData: Add missing functionality

* Add more metadata keys needed to support ffmpeg.
* Implement methods allowing to embed BMetaData into
* Add methods to handle more types.

f7220405 20-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

BMetaData: Finalize implementation

* Use string keys. I am still convinced we need BValue.
* Use boolean instead of status_t in return, this is
much more handy in pratical use given that there's no
really a status to check.

c95db883 18-Nov-2018 Zoltán Mizsei <zmizsei@extrowerk.com>

sincos, sincof, sincosl declarations in gnu/math.h

Signed-off-by: Zoltán Mizsei <zmizsei@extrowerk.com>

Change-Id: I44b39e8d76dd970e18e285b5d8b9bad715608154
Reviewed-on: https://review.haiku-os.org/715
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

2897df96 18-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

bluetooth: ioctls always pass size on Haiku.

1f2ddf2f 18-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Initial BMetaData implementation

b4d8bbd5 18-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Codec Kit: Move Managers to private headers

* Those classes are not ready for public consumption. Ideally,
I'd add a well designed BCodecRoster wrapping them. This is part
of the general cleanup I am doing to get the code in a good state
before going to finalize the design.
* I don't plan to reintroduce BMediaFile in the media2 API, and
I'd like to remove any (explicit) usage of entry_refs and things
like that.
* I plan to introduce BMetaData and BMediaFormat which is going
to be different than what we do now.
* We need to explicitly use the mime type when it's available and
it is another design consideration when CodecRoster will be introduced.

3fe994ba 17-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

MediaExtractor: Move stream_info to private

121db87f 17-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Revert "codec_kit: Remove Perform"

This reverts commit a9ccd74af7bdbe1d42a75bdf06b11e9cbbf136b9.

9cc0f06a 17-Nov-2018 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Remove the B_KERNEL_AREA protection flag.

It is now no longer used.

a9ccd74a 17-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: Remove Perform

* Undocumented and apparently unuseful pattern.

9d90a838 17-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

StreamerPlugin: Add ctor

2f211cce 16-Nov-2018 Michael Lotz <mmlr@mlotz.ch>

virtio: Replace size return with usedLength in queue_dequeue.

The size was in fact the count of physical entries that were used. That
number must necessarily be the same as the number given when adding to
the queue, so that number isn't really interesting. Consequently none
of the users of that API made use of it.

Return the used length instead, which is the way virtio signals how much
valid data resides in the dequeued buffer. This is for example important
to know the frame length of incoming packets in virtio_net.

5bd0fbd1 04-Nov-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Add riscv architecture

* I mean, qemu 3.0 supports it.
* Nobody get excited, we need all the triplets added to
our gcc buildtools. clang 7.0 seems to be cool with riscv though.

Change-Id: I17728163e4f28a3c16cee482a253364724b06f3a

efafab64 02-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

Deskbar: Resizable tray

* Adds max width and height arguments to
* Old applications just stay with a 16x16 scaled icon, though.
* All used apps within the repository are converted to the new call
besides the input_server input method icon (that will need further
API changes in the input_server).

Change-Id: I29cc439396917be2c24135888459d31364997dff
Reviewed-on: https://review.haiku-os.org/656
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

5fd3bc6d 03-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

BDeskbar: Moved constants to shared header

* Instead of duplicating them in different files.

800e6fe4 03-Nov-2018 Kacper Kasper <kacperkasper@gmail.com>

BStringView: add support for multiline strings

* Actually draw the string at the bottom of the frame.
* Unfortunately BStringList cannot be cached because there is no
space left in the class.
* Change SGI and PNG translators to use it in place of BTextView.

Change-Id: I07e12bf1a8dc956d18c9624604c7b63453ad15a2
Reviewed-on: https://review.haiku-os.org/620
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

72577355 29-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: Some more style and cosmetic fixes

8ccd9c07 28-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: Add some padding

42693643 28-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: Cosmetic changes

* Move padding at the bottom.
* Add some missing newline.
* Remove superfluous private statements.

59125d3c 28-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

MediaWriter: Private stuff should stay private

e5e2a570 28-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

ReaderPlugin: Private stuff should stay private

* Polishment since we are making this ABI public,
I'd rather remove any previous hack.

df2639bf 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

Move adapter_kit API to libcodec.so

1275248a 24-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

codec_kit: First half

* Move all codec stuff into libcodec.so

c02c4653 22-Oct-2018 Jérôme Duval <jerome.duval@gmail.com>

virtio: sync ids with Linux.

Change-Id: I1ca852f16e2b8d5d22ebed25b682e56fd934c46c
Reviewed-on: https://review.haiku-os.org/640
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

62081a2c 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

audio: Move hmulti_audio driver API to private audio headers

* Fix all drivers to don't access private media headers.

c13b6a68 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

audio: Move private opensound API to audio private headers

c6be458e 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove audio_module_driver

* I have not idea what this is for. Seems stuff from a long time ago
when for some reason someone wanted an audio driver implemented in
a kernel module. It is not used anywhere. If someone feels this should
be reverted please let me know and add an explanation.

66741d36 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove BeOSR3MediaDefs.h

* Fix for cmedia driver included.

804f91e6 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove legacy multi_audio.h

b84955d4 23-Oct-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove debug.h, finalize MediaDebug.h

* Funny rust from 0 AD.

a668e420 25-Aug-2018 Barrett17 <b.vitruvio@gmail.com>

media: Remove OldSoundDriver.h

30749200 16-Oct-2018 Leorize <alaviss@users.noreply.github.com>

posix/pthread.h: mark pthread_exit as noreturn

This should prevents GCC from throwing -Werror=return-type when
pthread_exit is used in place of return

Change-Id: Ied7da58b671e77b53d859b67193259aa78ec27d6
Reviewed-on: https://review.haiku-os.org/632
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

15fed790 05-Oct-2018 Andrew Lindesay <apl@lindesay.co.nz>

Json : Fix String Writer

Tidy-up and correct logic around writing JSON
encoded strings.

related #13832

Change-Id: I1eca33e11dff4457f85a896c02331c1cd9ae1110
Reviewed-on: https://review.haiku-os.org/617
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

ece593e6 04-Oct-2018 Augustin Cavalier <waddlesplash@gmail.com>

freebsd11_wlan: Remove the BOSII_* ioctls.

They are not used anywhere (the rest of the stack uses the FreeBSD
ioctls instead), and there has been a TODO to remove them for
quite some time.

106ae4ec 17-Aug-2018 CodeforEvolution <themysterymail555@gmail.com>

Remove Curl, Switch to NetApi in Package Kit

Change-Id: I92213ab60dc987175c323d1d9ed11ac8b3517f2f
Reviewed-on: https://review.haiku-os.org/475
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

a609673c 10-Sep-2018 Andrew Lindesay <apl@lindesay.co.nz>

Support : Fixes for Relative URL Handling

When URLs combine a base URL with a relative part, the relative part's
path component was being pre-processed. This removed any ".." from the
path and in some cases in the unit test cases, the ".." should have been
retained and then only later applied to the base URL. This changes
fixes this so that the relative part is not pre-processed and is applied
with it's path in a raw state.

Completes Fixes for #14377
Change-Id: I9cebb8599889494e11f40a3b54c87ebca3ed1a21
Reviewed-on: https://review.haiku-os.org/529
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>

e282a54d 08-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

BUrl: Remove HAIKU_TARGET_PLATFORM_HAIKU from main header.

These are really only defined during the build of Haiku itself,
so we don't want them in a system header. Since none of these
functions are virtual, leaving them as declared but not defined
should be fine.

e54f86aa 01-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Change string_for_rate to use KiB/s instead of Kbps.

string_for_size uses KiB, etc., and so when the two are combined (e.g.
pkgman's progress display), it looked especially strange to have two
different units.

37219550 27-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

Versioning: Add BETA_1 and PRE_BETA_2 version constants.

* PRE_BETA_2 is now the default in master.
* For libbe: R1/alpha4 used internal=8, but nobody bumped master
at the same time, so now we are on internal=9.

546fafa0 25-Aug-2018 Jérôme Duval <jerome.duval@gmail.com>

pty.h: fix typo.

3bee8ef6 25-Aug-2018 Murai Takashi <tmurai01@gmail.com>

Package Kit: Fix -Wmismatched-tags

Replace class with struct, since BJobStateListener is previously declared
as a struct in Job.h
Pointed by clang [-Wmismatched-tags]

Change-Id: I75293b48bcb521d25e98702d1fc1e0ab1008d504
Reviewed-on: https://review.haiku-os.org/482
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

8f30879b 21-Aug-2018 Andrew Lindesay <apl@lindesay.co.nz>

Support : Validation for Host Portion of URL

Partly Fixes #14377

Change-Id: Ia611d3653d2c16c6dcdc48ce57bd61bb6e6db366
Reviewed-on: https://review.haiku-os.org/476
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

992ba1a5 25-Aug-2018 Murai Takashi <tmurai01@gmail.com>

Media Kit: Fix -Wmismatched-tags

Replace struct with class, since it is previously declared as a class
in SharedBufferList.h
Pointed by clang [-Wmismatched-tags]

Change-Id: I3ff4e285862f31a2088a773be2967102bc8b18b6
Reviewed-on: https://review.haiku-os.org/480
Reviewed-by: Barrett17 <b.vitruvio@gmail.com>

c7919fc7 21-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

packagefs: Move DebugSupport up into the file_systems shared folder.

ramfs will find it useful also.

47b079af 21-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

Debug.h: Implement a real STATIC_ASSERT on non-GCC2.

fc48ae3f 20-Aug-2018 Rene Gollent <rene@gollent.com>

Debugger: Fix #14375, #12343.

- When a job is aborted, instead of calling into the user interface directly
to reset the status message, post a message to do so. Also, only post the
message if we aren't already in a terminating state. Otherwise, if jobs
were still running while the team debugger is executing its destructor, it
would attempt to make calls to the already destroyed user interface. This
bug has likely been with us for quite some time, but was hidden by incorrect
ref counting in the past (see #12343).

92b07297 17-Aug-2018 Murai Takashi <tmurai01@gmail.com>

Packagekit: Fix -Wmismatched-tags

Replace 'class' with 'struct', since they are already defined as 'struct'
in PackageInfoAttributeValue.h
Pointed by clang [-Wmismatched-tags]

Change-Id: I094d32c3444fe4299a3afe0872ade296f92debf9
Reviewed-on: https://review.haiku-os.org/471
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

fd25b902 14-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

BControlLook: Add FBC padding.

Fixes #14295.

7457ccb4 13-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

BMessageFormat: Rename to BStringFormat.

The ICU class is named MessageFormat, but on Haiku, it sounds too much
like something related to BMessage (which it isn't in the slightest)
and not part of the Locale system. It works almost entirely with BStrings,
so naming it BStringFormat makes much more sense.

OK'ed by PulkoMandy and Humdinger.

f2015c2f 11-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

boot/platform/cfe: Remove, unused.

All platforms it was theoretically useful for also have U-Boot.
OK'd by mmu_man.

81375d4f 11-Jul-2018 Jérôme Duval <jerome.duval@gmail.com>

Package Kit: add Zstd compression.

Change-Id: Idbdb7cf1bde659046a88ea69a76e3b5fc4cd7013
Reviewed-on: https://review.haiku-os.org/323
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

f6ff5a97 07-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

headers/private: Fix wrong filemode.

410632da 04-Aug-2018 Murai Takashi <tmurai01@gmail.com>

UserlandFSDefs.h: Fix gcc8 build

Remove index of portInfos[], since gcc8 warns -Werror=array-bounds
in UserlandFSServer::_Announce().

Change-Id: I79c4ee9d7dc301c54454974698ebd88d1a30750a
Reviewed-on: https://review.haiku-os.org/428
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

5d0fd0e4 05-Aug-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

fdt: Major over-haul of fdt

* Consolidate all fdt code into fdt bus_manager
* Build boot and kernel static libraries

Change-Id: I2a69cd7e1f1276999a80734ff12918fd49b599e5
Reviewed-on: https://review.haiku-os.org/440
Reviewed-by: Alexander von Gluck IV <kallisti5@unixzen.com>

04cbc258 02-Aug-2018 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Use fast clearing of visible screen for splash

memset uses rep stosb on x86 during boot, with memory
not set to write-combining, which makes it slow.

Instead we do aligned writes of 2 x four bytes at once.
Only clear the minimum of size and width * height * 4
UEFI framebuffer size can be huge, upto 512MB here,
and rep stosb seems to be around 25-30MB/s

This is written as generic as possible to work on
old compilers and different platforms, without
expecting boot memset to be optimized.

This makes it almost unnoticable compared to not

3a72e3eb 10-Mar-2018 Jaroslaw Pelczar <jarek@jpelczar.com>

ARM64: Add initial kernel headers

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
aarch64 -> arm64 and coding style fixes by me.

25cd28e8 02-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

posix: Add initial ARM64 headers.

Almost directly copied from jpelczar's work.

fb4cc984 02-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Add initial ARM64 target.

It will probably be just stubs for the significant future, but,
here it is anyway.

Regarding the naming: Yes, the official name is "aarch64." However,
Linux, FreeBSD, and Zircon all call it "arm64", and so we will do the same.

I've configured it initially to be a Clang-only port, making no
changes to GCC buildtools whatsoever here. We'll see if that sticks,

edb6d3b1 01-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

kernel_cpp: Move the C++14 operator delete out of the header.

It seems not all of the kernel includes this, but some use new/delete
anyway. Further, operator delete[] was not implemented at all.

Possibly fixes the ARM build.

15db6949 01-Aug-2018 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Don't clear video mem on UEFI, efi video mode refactor

Writes to videomem is slow without memory remapping
Can't do the mapping without leaving UEFI, so skipping
the clear. Afaict it should always be cleared by UEFI

This saves ~10 seconds of booting on my machine
(1920*1080*4 bytes)

EFI video mode (should have been it's own commit)
* Only do strcmp if there are enough params
* break when found

605e7eae 31-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

arch: Cleanup a few typos. Sorry for spam.

Change-Id: Ic2fce841acdee8572005cf2a9710188d03d7cecd

9642f770 31-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

arch: Cleanup of __ARM__ checks

* gcc 7.x defines __arm__ and __ARM__ (and others)
* clang defines __arm__ and __arm
* cleanup a few related ifdef vs if macros

Change-Id: I5da4bafac590f6fa3e10e543688001c2449f840d

b5c220fb 31-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Use BeOSBuildCompatibility on Haiku also.

This forces usage of the libroot_build wrapper functions even on GCC2.
Probably fixes some strange ExtractHPKGArchive failures on Haiku.

fe66a314 22-Jul-2018 waddlesplash <waddlesplash@gmail.com>

Revert "BScrollBar: Add lines and dots knob styles to scroll bar"

This reverts commit ec1b18c58ae632444200f7e1f952ddd2e31048fa.

This was not well enough reviewed, and it seems that at least some
consumers of the old API (e.g. WebPositive) need more than the new one provides.

Change-Id: Ie7ad1fc70dab889922424298661504b00f66d31d

679518f4 20-Jul-2018 Jérôme Duval <jerome.duval@gmail.com>

setjmp.h: add noreturn keyword on longjmp variants.

bc8427c5 04-May-2018 Hrishi Hiraskar <hrishihiraskar@gmail.com>

Tracker: Allow add-ons to dynamically extend popup menu.

An add-on may now add custom entries to the popup menu, in order
to provide more than one action.

Change-Id: Ib4726c0c1e70c59e3ba4d752df24b76cfee1c4a4

ec1b18c5 14-Jul-2018 John Scipione <jscipione@gmail.com>

BScrollBar: Add lines and dots knob styles to scroll bar

Fixes #9137

Move scroll bar drawing into HaikuControlLook

Added B_SCROLLABLE flag to BControlLook

Update FakeScrollBar in Appearance to also draw using HaikuControlLook.

Focus works on scroll bars again, used by FakeScrollBar... and probably
nowhere else.

Added private _ScrollingEnabled() convenience method to BScrollBar and
use it in a few places making.

Create ScrollBarPrivate.h header to share a couple of scroll bar related
enums with HaikuControlLook that come from BeOS Scroll Bar prefs.

Stuff arrow_direction enum into BScrollBar::Private as it has been
succeeded by a similar enum already present in BControlLook and is only
around now for BScrollBar::Private::DrawScrollBarButton.

Change-Id: Idc31ee41de091ba45ded2f0315a004af00143803

3b17d8dd 27-Jun-2018 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot / PackageKit: Repositories 'Identifier' URL

Repositories are identified with a 'url' in the
remote 'repo.info' file. There is also a
'base url' which is the URL locally with which
the system is able to access the repository
data on. There is some confusion between these
two terms in the source. This change aims to
separate the two out and consistently name them.
The settings for the repository locally also was
not storing these values and that has been fixed.
Debug info about the repositories also did not
display the two urls consistently and will now
also do so. Finally, HaikuDepot now correlates
locally configured repositories with the data in
HaikuDepotServer using the identifier URL; this
makes the use of mirrors with HaikuDepot possible.

Fixes #13888
Change-Id: I66dfe589b05c24e1ab123a6945352e0f24b60bf1

12ed45b6 18-May-2018 Murai Takashi <tmurai01@gmail.com>

Media kit: Suppress -Werror=class-memaccess

* Add media_format::Clear(), media_format::Unflatten().
* Replace memset() with media_format::Clear()
* Replace memcpy() with media_format::Unflatten()

Fix #14156

Change-Id: I38ebc2de4915b954a15b6f4f6b40d016506910e5

f81f6999 26-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Remove private vmware driver headers.

Not used since the VMware drivers were migrated out of the tree
a few years ago.

f4b42b51 21-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

drivers: Deduplify joystick_driver.h.

Now there is only the one copy in headers/private/device.

e4104854 20-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

if_dl: Increase size of sdl_data from 20 to 46 bytes.

FreeBSD's is presently 46 bytes. CID 1422869 warns that it can get overrun
in if_attach() in copying if_xname which is IF_NAMESIZE bytes (32).

This breaks ABI, but BeOS did not have sockaddr_dl, it is only a modern-GCC
ABI break. Since most applications assume that sockaddr_dl is variable-length
and is null-terminated, as well as not used very often, hopefully this will
require relatively few rebuilds.

9216fc01 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

More class/struct mixup fixes.

Spotted by Clang.

fe17f0df 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

scsi: Use _res and not res in MK_ERROR.

Some users of MK_ERROR pass in parameters from a variable called "res",
which is obviously not what they want to do, as that will use this "res"
and not theirs.

Spotted by Clang.

9ac30627 18-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Small fixes for Clang.

4f7b9506 14-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert the rest of the COMPAT_MODE changes (back to hrev52003.)

This reverts commit 458e758f3792ef11ca26d6ff7e24600c88326e83.
This reverts commit ce5eb94a82b1b377ef5909e65411e031f54ceb15.
This reverts commit aac8d4c317ca11a9a6e194e2c668e8183ec23dd6.
This reverts commit c70cba914aa79c01bbc2da38085936f589899c8c.
This reverts commit 2ffbe7aaca8668c5a68ac7488459bace7a0700f2
This reverts commit c6e120e2d2f909d95f95839fa99fccf811fdb3c5.

513403d4 14-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert team and thread changes for COMPAT_MODE (hrev52010 & hrev52011).

This reverts commit c558f9c8fe54bc14515aa62bac7826271289f0e4.
This reverts commit 44f24718b1505e8d9c75e00e59f2f471a79b5f56.
This reverts commit a69cb330301c4d697daae57e6019a307f285043e.
This reverts commit 951182620e297d10af7fdcfe32f2b04d56086ae9.

There have been multiple reports that these changes break mounting NTFS partitions
(on all systems, see #14204), and shutting down (on certain systems, see #12405.)
Until they can be fixed, they are being backed out.

7d95ab67 12-Jun-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Update PCH mask to match new bits

* Missed in 87628f17eb

44f24718 20-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: add compatibility source files to the build.

* add x86 versions of fnsave frstor.
* add missing declaration for elf32_resolve_symbol().

How-to build a x86_64/x86 bootstrap build:
mkdir generated_bootstrap; cd generated_bootstrap
../configure --bootstrap /dir/to/haikuporter/haikuporter /dir/to/haikuports.cross \
/dir/to/haikuports --build-cross-tools x86_64 /dir/to/buildtools --build-cross-tools x86 -j8 --use-gcc-pipe
jam -q -sHAIKU_PORTER_EXTRA_OPTIONS="-j8 --sourceforge-mirror=freefr --no-source-packages" @bootstrap-raw

Change-Id: I6eae3653c42a53683ae307107fae595c4b8ebcfb

a69cb330 20-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: setup a new thread in compatibility mode.

* define compat_thread_info, compat_rlim_t, compat_rlimit and
compat_thread_creation_attributes to be used when applicable in compatibility
* handle 32-bit types in _user_spawn_thread(), _user_get_thread_info(),
_user_get_next_thread_info(), _user_getrlimit(), _user_setrlimit(),
other syscalls are compatible as is.
* init TLS for compatibility mode threads.

Change-Id: I483ba95e6198ddac9d240671bcb56fcd2ad831d2

95118262 20-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: setup a new team in compatibility mode.

* in load_image_internal(), elf32_load_user_image checks whether the binary
format requires the compatibility mode.
* we then set up the flag THREAD_FLAGS_COMPAT_MODE and the address space size.
* the compatibility mode runtime_loader is hardcoded with x86/runtime_loader.
* if needed, the 64-bit flat_args structure is converted in-place to its 32-bit
* a 32-bit flat_args isn't handled yet (a 32-bit team execs a 64-bit binary).

Change-Id: Ia6a066bde8d1774d85de29b48dc500e27ae9668f

458e758f 19-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: compatibility syscalls for vm.cpp.

* define compat_area_info to be used when applicable in
compatibility mode.
* handle 32-bit types in _user_reserve_address_range(), _user_get_area_info(),
_user_get_next_area_info(), _user_transfer_area(), _user_clone_area(),
_user_create_area(), _user_map_file(), other syscalls are compatible as is.
* _get_next_area_info() doesn't work well with a 32-bit address cookie (address
could be in 64-bit range). Instead use _compat_get_next_area_info() which uses
the area id as cookie, though the areas are not ordered by address any more.

Change-Id: Ic7519ca8824aa2d534b0f03ea75a1bf6ae321535

ce5eb94a 19-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: compatibility syscall for system_info.cpp.

* define compat_system_info to be used in _user_get_system_info() in
compatibility mode.

Change-Id: Ib917d41a3a87155aee9cb536fd09e7231b232bc8

aac8d4c3 18-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: compatibility syscalls for signal.cpp.

* handle 32-bit types in _user_send_signal(), _user_sigaction(), _user_sigwait(),
_user_set_signal_stack(), _user_restore_signal_frame(), other syscalls are
compatible as is.

Change-Id: I4c8dc47bfa80f36e363d444d2a5a7be6c621606d

c70cba91 18-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: compatibility syscalls for image.cpp.

* define compat_image_info, compat_extended_image_info
to be used for respective 32-bit types of syscalls in compatibility mode.
* handle 32-bit types in _user_register_image, _user_get_image_info,
_user_get_next_image_info, other syscalls are compatible as is.

Change-Id: Ibbd33e6796208dfa70d869e36bf745bc3e18d330

2ffbe7aa 18-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: compatibility syscalls for vfs.cpp.

* define compat_flock, compat_timespec, compat_stat, compat_attr_info,
compat_fs_info, compat_fd_info to be used for respective 32-bit types
of syscalls in compatibility mode.
* handle 32-bit types in common_fcntl(), _user_read_stat(), _user_stat_attr(),
_user_read_index_stat, _user_read_fs_info, _user_write_fs_info,
_user_get_next_fd_info, other syscalls are compatible as is.

Change-Id: I5b372169fe142f67b81fd6c27e0627d5119ba687

c6e120e2 15-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: add setup_compat_signal_frame.

* add compatibility signal types.

Change-Id: I665020234be0ba2ccbb33bdbc338c11a214ab6e8

87628f17 11-Jun-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add additional more recent PCH devices

Change-Id: Ib9f7dc187300c9f746bca9fd7f721c1954f5be44

52d1e933 05-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert "intel_extreme: Broadwell is really Gen7(.5), not 8."

This reverts commit 4f059c1fc51d17a2a592c5675a2f188b4bea2f69.

From discussion on the mailing list, it seems I was correct the first time
and Broadwell is Gen8. The confusion comes from the SER5/SOC distinction,
which is not in the Linux driver, and I still don't know which one it really
belongs in.

1407e6d7 03-Jun-2018 Adrien Destugues <pulkomandy@gmail.com>

Complete implementation of printer serial transport

- Allow to configure the baudrate (it is set by the printer settings,
but the transport didn't care)
- Implement reading from the serial port (some printers will need us to
poll the status and the like, as there is usually no hardware flow

Change-Id: I70ba2566595d5dfa5eda3d518614db6514cb2398

4f059c1f 05-Jun-2018 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Broadwell is really Gen7(.5), not 8.

9e75e900 28-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: use non-deprecated signatures for new/delete operators.

add posix_memalign(), needed for c++17.

8bca37d6 14-Jan-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

vfs: Bind flock locks to file descriptors

* File locks created by flock should only apply for the file descriptor
that was used to lock the file. Another fd on the same file should then
be denied access (calling flock should fail).
* fcntl based locks, however, are in a separate namespace and are global
to a team.
* This issue was found when running webkitpy test suite, and should close
ticket #13795.
* Don't use session or team as comparison in release_advisory_lock(), as
that information might not be available anymore (e.g. when called from
Team::~Team()). This fixes #14121.

Change-Id: I9efb96cfcefe7e72b0060220c635a665e7e643cc
Co-authored-by: Axel Dörfler <axeld@pinc-software.de>

7f167d4f 21-May-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd/dp: Fix bug in lane training. Kudos gcc7

* GCC7's static analysis found this one and it still
took #gcc and me a while to spot. Nice work gcc7!
* Should help DisplayPort training issues :-)

Change-Id: I9b47f13c95e622a2c08ff329ec9c3fc7e3db493d

3f9e3b0a 19-May-2018 waddlesplash <waddlesplash@gmail.com>

ICU locale backend: Increase size of fLocaleDescription from 512 to 1024 bytes.

GCC7 gave a Werror that we were snprintf'ing potentially ~860 bytes into
a 512-byte buffer.

db9b70ee 07-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: add a compatibility commpage on x86_64.

* x86 uses a commpage with 32-bit addresses, incompatible with the one used for
x86_64. For this reason, a compatibility commpage is needed to support a 32-bit
userland on x86_64.
* define ADDRESS_TYPE as a macro for addr_t (default) or uint32 (for the 32-bit
* team_create_thread_start_internal() will use clone_commpage_area() with
KERNEL_USER_DATA_BASE or clone_commpage_compat_area() with
KERNEL_USER32_DATA_BASE, to setup the correct commpage.
* real_time_clock (in compatibility mode) also updates the compatibility
commpage with real time data.

Change-Id: I61605077ce0beabab4439ef54edd1eae26f26fd2

c7c3973e 09-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: generic user_memcpy now saves the old state.

fixes #14135.

a553e95d 04-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: support elf32 on x86_64.

* define ELF32_COMPAT to enable ELF32 macros.
* add a flag ELF_LOAD_USER_IMAGE_TEST_EXECUTABLE to only check the format.
It will be used by load_image_internal() to check which mode to use when
loading an image.
* in arch_elf_relocate_rel(), switch to elf_addr instead of addr_t, which
would be the wrong size for elf32 on x86_64.
* the ELF compat loader reuses the relevant parts of elf.cpp and arch_elf.cpp,
excluding for instance load_kernel_add_on() or dump functions.

Change-Id: Ifa47334e5adefd45405a823a3accbd12eee5b116

27b32ee0 03-May-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel/x86_64: adjust descriptors tables for compatibility mode.

* also adjust BOOT_GDT_SEGMENT_COUNT for x86, the definition is used by the
boot loader.
* add some 32-bit definitions.
* add a UserTLSDescriptor class, this will be used by 32-bit threads.

Change-Id: I5b1d978969a1ce97091a16c9ec2ad7c0ca831656

630e3f14 11-Mar-2018 Jérôme Duval <jerome.duval@gmail.com>

View: move BAffineTransform out of ViewSetStateInfo.

the size of BAffineTransform is architecture dependent, so we transmit
its contents in a standard array instead.

Change-Id: I907110742168846a869a48bb2d116cc5292ec7d0

27bba9c3 17-Mar-2018 Jérôme Duval <jerome.duval@gmail.com>

registrar: flat_app_info size was arch dependent.

copy each member of app_info instead.

Change-Id: Ica8d0a195b2dbaaf57d28f2fe2f7efd73c37b2c4

dd485ed4 02-May-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

elf: Add aarch64 and riscv defines

* Add some additional defines as well.

Change-Id: I0a40f6b80a634ddaf83a8c22b9726a6e1f49bd34

c334ab21 03-May-2018 Alexander Coers <alexander.coers@gmx.de>

cpu_type.h: small fix for CPU detection

* since Core i5/Core i3 can have same model/family/stepping values
additional string evaluation is needed

This fixes #12695

2284eb48 29-Apr-2018 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Add ALLPERMS and DEFFILEMODE to enable building on hosts with the musl c library

648f0d5f 14-Apr-2018 Augustin Cavalier <waddlesplash@gmail.com>

libroot_build: Properly remap fs_attr_* functions.

This was done using macros before, which isn't the way we have things set up.
In theory that method should work, however if not all consumers include the
libroot_build headers properly, then it breaks in subtle but confusing ways,
which is not what we want at all.

Thanks to Jessica for advice.

Change-Id: Idd45df5547daecf8239932957088da03ddfccf87

61cd7e85 21-Apr-2018 Jérôme Duval <jerome.duval@gmail.com>

virtio: add API to uninit a device.

* free interrupts, free queues, return to init state.
* this will be used by virtio_net on interface uninit.

Change-Id: I7c1e6facc37cf6bfe19628576fdf2c0bac9e5c38

6e82e428 16-Apr-2018 Jérôme Duval <jerome.duval@gmail.com>

virtio: refactor to have a handler per queue.

* enable to iterate on available entries in one interrupt call.
* negociate -> negotiate, (void *) -> (void* ), thanks axel and philippe!

Change-Id: Ie2d290797abcbf4c0f3cb5bfff71d091bb800fa6

a77aa747 25-Apr-2018 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added basic logging facility

* The daemon now stores many events in am internal log.
* You can use "launch_roster log" to retrieve it.

3a764d6a 22-Apr-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: x86: add some msr and cpuid features

* for arch capabilities.
* for spec ctrl and pred cmd.

321372e3 03-Apr-2018 Michael Lotz <mmlr@mlotz.ch>

kernel: Make size argument to create_area_etc() size_t.

It was limited to a uint32 and could for example be overflown by the
slab MemoryManager that uses size_t on a 64 bit system.

This aligns the signature with create_area() that already uses size_t
for the size argument.

Note that the function is currently private, so the impact should be

b45e8b1e 19-Mar-2018 Andrew Lindesay <apl@lindesay.co.nz>

HaikuDepot : additional debugging for json-rpc invocations

61206a24 07-Mar-2018 Augustin Cavalier <waddlesplash@gmail.com>

build: Cleanup of libgnuregex usage.

John's revert of my removal commit dragged back a bunch of cygwin/sunos
cruft, as well as re-adding RegExp.cpp to the host libshared, that we don't

Instead, remove this and add libgnuregex_build to just the tools/keymap
link alongside the FreeBSD gnuregex case.

852b6295 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Rename IsRunning to IsStarted

a6ac14c7 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Add ClientRegistered callback

1c15261f 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Add connection name handling

83bcc405 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClientDefs: Cleanup unneded methods

f015d06b 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Remove Preroll and SyncTo

6dc7d854 01-Mar-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Review format negotiation mechanism

182ec76b 28-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Remove format change protocol

7de0fd45 28-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Add plans for ReadyToRun callback

9ab4c384 26-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Add more plans about buffer management

444d8ec0 26-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Hide connection callbacks

* At this point we want to avoid the user calling the callbacks
in the form of BMediaConnection. Instead we force to use the
BMediaInput and BMediaOutput versions.

ff56eda5 26-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Move buffer management on producer side

3a747315 25-Feb-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

stdlib: Add common bsd mkstemps function

Change-Id: I8c54f4b42e8b41f9a769b8b53f074a307b1a054c

46b328f1 20-Jan-2018 Xiang Fan <sfanxiang@gmail.com>

wait_for_objects: add macros for output-only select types

Bug: 13965

e74e02ac 25-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Update docs and add TODOs

9cf18a39 25-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: BufferSize should be inherited

* While it's trivial for audio to calculate the buffer size,
it isn't the same for video.

78fea9cd 24-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: General cleanup

* We are finally not dependent on media kit definitions.
* Offline mode is not important at this moment.

befa252f 24-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Non simple connections should be inherited

* BSimpleMediaConnections are provided for that.
* Make SetOutputEnabled private.

c61ffa96 24-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Remove latency range interface

* In preparation for the introduction of BMediaGraph.

dc4c49c3 24-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaConnection: Introduce Endpoint() method.

* Used to get the other side of a connection when

3b36cb59 23-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: FileInterface is a bad idea, remove TODO

72958d8b 23-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Remove SetRunMode

e8bf0f3e 23-Feb-2018 Barrett17 <b.vitruvio@gmail.com>

MediaClient: Reappropriate copyright

940a3a23 16-Feb-2018 John Scipione <jscipione@gmail.com>

Revert "build/libgnuregex: Remove."

This reverts commit ca087b05323d3c05f7fe807df017ce4133604b67.

Mac OS X requires libgnuregex for Keymap

77007502 18-Jan-2018 Rene Gollent <rene@gollent.com>

Debugger: Rework type handlers to allow for custom selection.

- Add name field for presentation purposes. Adapt subclasses accordingly.

- Add methods to count and retrieve all type handlers for a given type,
and adjust CreateValueNode to allow for passing in an explicit handler.
Adjust callers accordingly.

- Add helpers to store an explicitly chosen type handler for a node.

- ActionMenuItem subclass that takes care of reference management
for its contained type handler.

- Add context menu for choosing type handlers if applicable. Implement
support for invoking said type handlers in a similar manner to explicit
- Adjust saving/restoring the view state so that hidden nodes are taken
into account as well. This is necessary since it may be the case that
the handler had to be applied to the hidden child rather than the visible
node (i.e. the BMessage handler when applied to a pointer to a BMessage).

All together, these changes allow choosing to switch between views of a type
when the Debugger has multiple handlers for it. For example, for BMessages
this allows switching between displaying the raw underlying structure vs
the decoded message content.

401fb209 04-Feb-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: use x2apic on hypervisor, or if already enabled.

* this can be disabled per safe mode setting.

66fa3b18 31-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: Add set_clac and clear_ac() definitions on non-x86 platforms.

9dd4d2dd 03-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: support for Intel SMAP and SMEP on x86_64.

SMAP will generated page faults when the kernel tries to access user pages unless overriden.
If SMAP is enabled, the override instructions are written where needed in memory with
binary "altcodepatches".
Support is enabled by default, might be disabled per safemode setting.

Change-Id: Ife26cd765056aeaf65b2ffa3cadd0dcf4e273a96

08a4536b 12-Dec-2017 Axel Dörfler <axeld@pinc-software.de>

BMessage: Added missing [Get|Set]Pointer()

* SetPointer() was declared, but not defined.

c8fcb2a0 13-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

udis86: Add clac/stac instructions for SMAP.

still in a PR:

1a59e1d9 15-Jan-2018 Leorize <alaviss@users.noreply.github.com>

gnu: introduce memmem(3)

Implementation imported from OpenBSD

Change-Id: If2620dc7ed373650bb3dabb0f22c2cd84b9e0ef9

964fb0c3 16-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: make arch_kernel.h for x86 C safe.

483c4584 15-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: x86: add some more cpuid flags.

cedb0e11 12-Jan-2018 Leorize <alaviss@users.noreply.github.com>

uchar: Introduce C11 uchar.h

Currently this implementation only supports UTF-32

a2021292 12-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

kernel: Binary code patches on x86.

This will be used to support SMAP.

Sponsored-by: https://liberapay.com/korli

0291f009 13-Jan-2018 Jérôme Duval <jerome.duval@gmail.com>

udis86: update to current version.

94090214 21-Dec-2017 Jérôme Duval <jerome.duval@gmail.com>

kernel: x86: add cpuid feature 7 flags.

da30fdf9 05-Jan-2018 Michael Lotz <mmlr@mlotz.ch>

kernel: Fix overflow in load tracking for very large deltas.

The scheduler uses the load tracking logic to compute the load of
threads to be enqueued into the run queue. The time delta between the
last enqueue and the next enqueue may grow very large for threads
that mostly wait on conditions. In such cases the int "n" period count
variable would become too small and wrap around, leading to an
assertion failure.

For this to happen, the thread in question would have to have slept for
at least ~25 days and then wake up. Threads often affected would be ones
waiting for some other process to end, for example shell threads waiting
for a long running process to exit.

Fixes #13558.

8a9e1e0d 31-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Removal of non-Haiku target platform logic from build system (part 1.)

Following recent changes to use libroot_build on Haiku also, it is now
actually impossible to build Haiku components on non-Haiku platforms
(BeOS R5, Dan0, BONE, Zeta), so we can remove any logic related to this.

This is only the first part; still to be removed are:
* SetSubDirSupportedPlatformsBeOSCompatible

03544bf0 30-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

libroot_build: Full passthrough to system attributes.

As it turns out, using the xattr emulation layer plus "libgnu"
causes some strange mixups at package build time, and so packages
built with it were winding up with no attributes at all.

So I've just bitten the bullet and written a full passthrough layer
to the system attributes. Verified using a full build of haiku.hpkg
this time ... after a lot of painful debugging of symlink mixups.

Hopefully I am finally rid of this plague...

699b4bba 29-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

libroot_build: *Actually* fix attribute usage on Haiku.

To quote jscipione (from 95e8362c52af35a4012ca4d0facd62fb9856b619),
"Let me tell you a story about a bug" -- though this tale spans a much
lesser time than that one did.

In 5e19679ea35a79a26477c6215c7abba9bb7c4d00, I enabled libroot_build for
Haiku, instead of using the system libroot as we had before. There were
a number of bugs introduced along with this that I hadn't fixed (and there
may be more after this), but most of the obvious ones (crashes on x86_64...)
were fixed shortly enough.

Attribute usage, though, was a different story. Unlike most of the POSIX
calls in libroot, which were aliasing system functions no matter what the
platform, the attribute calls were not, as they are specific to Haiku.

Initially I had completely forgot about them, and it wasn't until a few days
later when I noticed that I had an "attributes" directory in my generated
that I realized that the "generic" attribute layer was being used on Haiku.
I attempted a fix for this in 5e19679ea35a79a26477c6215c7abba9bb7c4d00,
thinking that would clear the problem up, but I didn't actually run a test
beyond seeing that my BuildConfig had been updated properly. In fact,
BuildSetup was hard-wired to not even pass that definition through on
Haiku, and so that commit had in effect caused nothing.

My initial "fix" of just changing BuildSetup then caused a build failure,
as while libroot_build itself compiled, it ran into errors whenever attributes
were used, because in letting the real libroot's attribute calls shine
through, I had bypassed libroot_build's FD emulation/shim layer.

Then I tried and failed at three separate attempts to solve this with code:
- a version of the "fs_attr_...h" interface for Haiku. This proved possible
in theory, but in practice I would need to reimplement a lot of attribute
handling code in it, because all I had access to from there was syscalls.

- a version of "fs_attr_untyped" that bypassed its reimplementations of
the "fs*attr" functions for the libroot ones, only using the FD shim layer.
This proved possibly not even theoretically possible because it would have
caused preprocessor hell in some of the build headers, and also assumptions
about how attributes are read were totally different.

- a completely new "fs_attr_haiku" that was a completely new interface to
the fs*attr functions. This proved practically impossible because of the
need to include structures from the system libroot to call out to readdir,
etc. that attempts to solve would also have caused preprocessor hell.

Then I realized that the Linux xattr emulation library, which I'd used
as a reference when attempting the first solution, was shipped by default
as a system library in all builds of Haiku ... and so I could just tell
fs_attr_untyped to use the Linux xattr handler, and then link against libgnu.

So that is how I arrived at this strange and decidedly unorthodox solution
to a problem of my own creation.

8d432462 26-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>


Not in the POSIX specification, but defined (not behind any guards)
in (at least) FreeBSD, NetBSD, glibc, and macOS.

Found by miqlas and myself while working on porting GNU inetutils.

33056110 25-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Mail Kit: Delete now-unused DES implementation.

95c9effd 25-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Migrate the BMailComponent docs to the Haiku Book.

I've updated the docs to match the current BMailComponent, documented
new functions, and cleaned up the MailComponent.h file to at least
somewhat match our coding style.

First in a series (there are 3 more old API docs on the Mail Kit in that
"Public API" folder.)

ca087b05 23-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build/libgnuregex: Remove.

It was needed on macOS for a time when BUrl used regexes for parsing.
Now it does not, and so we can remove libshared's RegExp from build
libshared, and thus also libgnuregex.

226f6c8b 11-Dec-2017 Hrishi Hiraskar <hrishihiraskar@gmail.com>

Notification_Server: Added ability to choose position of notifications

The feature gives user ability to choose the position of notifications
out of Follow Deskbar, Lower Right, Lower Left, Upper Right and Upper
Left. Fixes #9749 - Notification_Server: add the ability to choose the
position of notifications (easy).

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

add916a7 20-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Restore the "GPL licensing not permitted" in GLUT license headers.

It was originally there but was removed erroneously. The emails in which
we received permission to relicense stated this restriction explicitly.

0be0fba2 18-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

BHttpForm: Clang also uses pair<> now.

0006cc3f 13-Dec-2017 Leorize <alaviss@users.noreply.github.com>

libs/bsd: add explicit_bzero(3)

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

3d61d207 13-Dec-2017 Leorize <alaviss@users.noreply.github.com>

libs/bsd: add be64dec(3) and be64enc(3)

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

9a1d0467 12-Dec-2017 Leorize <alaviss@users.noreply.github.com>

libs/bsd: add readpassphrase(3)

Imported from freedesktop libbsd project

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

f0cdb091 14-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

headers/bsd: Add sys/queue.h.

Requested in #12617.

1465ec71 13-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build/kernel: Properly shadow syscall functions.

I didn't notice this in the previous commit because apparently GCC2
just links against libroot's versions of them. On GCC5, however,
the version from libroot_build was used even for calls from libroot itself,
which led to infinite loops and then stack overflows.

So instead we must have the "syscall" functions in libroot_build shadow
the real ones by being named differently, which I did by changing their
prefix from "_kern" to "_kernbuild" via preprocessor macros.

Since the build syscalls.h is now substantially different than the non-
build one (and has not been synchronized in nearly a decade anyway),
I've just stripped out all the syscall defns except for the ones actually used
in the build.

Thanks to kallisti5 for helping me debug and test.

5e19679e 13-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build: Use libroot_build on Haiku.

Previously we just used the system libroot, which of course meant
that when libroot's ABI changed, the build broke. Now we use the full
libroot_build that we do on non-Haiku platforms. The logic for "BeOS-compatible
but not Haiku" does not really apply anymore, so it has been gutted where
appropriate (and libhaikucompat has been decoupled from the build.)

The only caveat here is the change to Errors.h -- we really should be using
the system's one where I included the one from the tree, but for whatever
reason, GCC2 refused to handle the #include_next properly.

Fixes the build breakage of Haiku-on-Haiku by my prior commits (sorry).

361f980f 12-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

More "missing space after macro; invalid in C++11" error fixes.

0d020b82 12-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

headers/build: Use the system's types.h on Haiku.

Technically a "hack" (but then again most of the config/build stuff is);
as we need to use the system's config/types.h in order to get stdint
definitions and the like.

Previously there was a config_build directory which allowed the existence
of two types.h -- the system one, and the headers/build one, but seeing
as we only need this to provide Haiku-specific core types on other platforms,
using the system's one should be fine.

Our core type definitions have not changed in some time (and it's unclear
when they would change aside from potential new platforms), breakage of the
Haiku-on-Haiku build due to this should not happen often (if ever.)

02c9c92a 11-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

BeBuild: Treat TinyCC as GCC4 ABI.

Since it's just a C compiler "technically" the ABI does not matter,
but since it also can target other ABIs from one toolchain (e.g. x64),
just treat it as GCC4 ABI unilaterally.

Fixes #13847.

82bffcc3 11-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

headers/build: Reunify BeBuild.h and related cleanup.

Now that we do not target BeOS and also do not include the main headers
directory when building "build" binaries, we can drop the separate
config_build directory and thus also the separate BeBuild.h, and just
..-include the regular one.

The build BeBuild.h defined empty _IMPEXP_ROOT and _IMPEXP_BE preprocessor
macros that the regular one does not; so I also re-synchronized
headers which used these as needed.

2b6c2ec3 26-Aug-2017 hyche <cvghy116@gmail.com>

fs_shell: Added socket filetype.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

1750cd1e 23-Aug-2017 hyche <cvghy116@gmail.com>

block_cache: Implement cache_has_block_in_transaction function that will check the existence of block in one specific transaction.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

e7156146 05-Aug-2017 hyche <cvghy116@gmail.com>

AVLTree: forward LeftMost and RightMost method from AVLTreeBase

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

06b79f55 05-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

build/Errors.h: Synchronize with the non-build one.

This file was apparenly based off the BeOS one (as is evidenced
by the "Be Incorporated" copyright ... which is problematic.)
Now it's directly based off of the non-build one.

f1e8af17 03-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

net_socket: control op should be uint32.

Where it is called from stack_interface_ioctl, the parameter
is already a uint32 there.

Fixes #13826.

acf02fd2 03-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

locale: Fix another class/struct mixup.

7c234361 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Fix more class/struct mixups.

bf77c152 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

kernel/vm: Correct virtual function declarations.

The base VMCache class changed to the generic_ types with their
introduction in in *2011* (435c43f5912b109e7d5cf682865d2061e62fad8c),
but these classes were never properly adapted. These functions should not
be called here (they panic() -- but the base class only returns B_ERROR,
so that is a difference at least.)

Found by Clang's -Woverloaded-virtual.

764c402a 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

GraphicsDefs: Revert back to casting structs to integers to compare them.

This reverts commit d3abf525c5f0ba0260a11649eb439a4e4730d39d.
Clang's warning was a little overzealous; this is not a problem on x86.

841d719f 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

MediaDefs: May be included as C not C++, so accommodate for that.

2b1481f0 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

Fix a few more miscellaneous (harmless) Clang warnings.

08ff3a4e 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

headers/clang: Remove.

Never used, and never will be following previous commit.

30c9d3c0 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

kernel: Correct class/struct mixups.

Almost certainly harmless. Spotted by Clang.

d3abf525 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

GraphicsDefs: Do not cast structs to integers to compare them.

That requires more padding (1 byte vs 4 or 8 depending on integer size),
so just use regular loops and chained ==s.

Caught by Clang. No functional change intended.

be622abd 01-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

fluidsynth: Remove from tree.

Not included in the build (or even wired to Jam) since the new package
repo changes merge.

e96835a9 27-Nov-2017 Axel Dörfler <axeld@pinc-software.de>

Added simple test_launch_daemon.

* Expects its config files in /boot/home/test_launch.
* Uses standard I/O, and is always in user mode.
* Also added test_launch_roster command that is able to talk to the test
server like it does to the real thing.

fc23c097 26-Nov-2017 John Scipione <jscipione@gmail.com>

BDeskbar & Deskbar: export window bool settings to BDeskbar

Add methods to get and set "Always on top", "Auto raise", and "auto hide"
which are all booleans which control aspects of the Deskbar window to

Set the bool to the default value initially. Check if sending the
message succeeds, if so check the reply which also fills out the bool.
Don't check to see if reply succeeded because the bool will only be
overwritten if it did.

Follow the BDeskbar convention Is...() for getter, Set...() for setter
e.g IsAlwaysOnTop() is the getter, SetAlwaysOnTop() is the setter.

Define new message constants to call the newly created methods.
Follow BDeskbar convention: 'gtla' is used for getter, 'stla' for setter.
g/s for getter/setter, tla is an all-lowercase code unique to each
getter/setter pair.

Copy/paste these message constants into BarApp.h unchanged. Replace four
letter codes with imported message constants in BarApp.cpp and
BarWindow.cpp. Much nicer than using bare codes.

The new BDeskbar methods are all handled by TBarApp. The getters send
back a reply message containing the bool while the setters fall through
to existing setter cases.

f8811591 26-Nov-2017 John Scipione <jscipione@gmail.com>

BDeskbar: Style fixes

Update Copyright in cpp, add myself, alphabetize, standardize
Pointer style in cpp
Update some comments
Some 80 char stuff
pragma section headers

6ac3a280 23-Nov-2017 Jérôme Duval <jerome.duval@gmail.com>

Add ZstdCompressionAlgorithm.

* kernel lib is decompress only (like zlib).
* expand compression_test for zstd.

8ddec194 23-Nov-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: backlight control on pre-PCH devices

Thanks to oco for letting me test this on his old laptop.

8903cd42 23-Nov-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>


Fixes #13733.

Unlike written in the ticket, the string length is 136 (not 135),
and the code checks for rejects anything greater or equal to the max
value. So set the constant to 137.

164e4f8d 21-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

intel_extreme: Beginnings of Broadwell support.

At present, does not work (it fails to properly set up interrupts,
resulting in thousands of unhandled ones which all but grinds the system
to a halt) but this at least is some progress.

b140a1c3 21-Nov-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

NetworkAddressResolver: cache needs to be locked

It is not a good idea to have a thread get an address from the request
cache, while another thread is deleting said address as the cache has
grown too large. Add a lock around the cache access to make it safe.

aef94baf 21-Nov-2017 François Revol <revol@free.fr>

ISA: fix ram_address() to use phys_addr_t for completeness

I don't know of any driver actually making use of it, but some weird
architecture might want to emulate an ISA bus to reuse a driver maybe...

16bb99fd 21-Nov-2017 François Revol <revol@free.fr>

PCI: fix ram_address() to use phys_addr_t

Since it handles physical address it should really be this.

It's not like many drivers actually used it anyway. It shouldn't harm
compatibility, drivers calling it with only 32bit would leave garbage in
the higher bits but since on x86 it's a noop anyway, it would end up in
the MSB register tha's ignored because it expects a 32bit result.

3b3688c7 21-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

fs_shell: Change {set_}real_time_clock to match the new definitions.

24e63de5 21-Nov-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fix: parameters should have a name.

3a2b67b5 21-Nov-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Support for configuring screen backlight

Accelerant interface:
Introduce new hooks B_SET_BRIGHTNESS and B_GET_BRIGHTNESS. Brightness is
a float in the 0..1 range.

Forward brightness things between BScreen and the accelerant.

Implement the hooks. Note that this only works for laptop panels, but
the driver will pretend to support it in other cases as well.

Screen preferences:
If the accelerant supports the B_GET_BRIGHTNESS hook, allow to set
brightness with a slider. Otherwise, the slidere is hidden and these
changes aren't visible.

a42249db 20-Nov-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Add 8250 omap variant uart driver

* Untested, someone with an omap3,4,5 could though.

1d3d336a 16-Nov-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

libbsd: Move lutimes to bsd compat

* Rework be149e8ccf9 since lutimes isn't posix

7d8eb4d7 16-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

time: Address review comments.

* Use ENOSYS not B_DONT_DO_THAT (thanks korli)
* Use unsigned long not uint64 (thanks axeld)

be149e8c 15-Nov-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

libroot/posix: Add lutimes for better posix compatibility

* Didn't exist on BeOS, but exists most other places.
* Update times of a file, not following symbolic links.

9a50e01e 15-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>

set_real_time_clock: Change parameter from uint32 to uint64.

This should have been done along with the time_t change, but I forgot
to check this then.

Technically this breaks ABI against BeOS, but:
1. BeOS used an int32, so we'd already slightly broken ABI here
2. Only one thing at HaikuArchives (VMwareAddons) and one recipe at HaikuPorts
(samba) uses this function at all.

If it turns out some critical BeOS app uses this, then I guess we can enclose
GCC2 guards around it, but since I can't find any evidence of that, I'm
pushing it without them for now.

581cd2a2 13-Nov-2017 Augustin Cavalier <waddlesplash@gmail.com>


Not used in $long_time, almost certainly broken, so it's just cruft.

ce6fdd33 13-Jun-2010 Andreas Faerber <andreas.faerber@web.de>

Detach UDP sockets on cleanup

The UDP service does not own the UDP sockets. When shutting down,
inform the bound sockets that the service is no longer available.
This allows subsequent method calls to error out cleanly.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

74077e46 13-Jun-2010 Andreas Faerber <andreas.faerber@web.de>

Add net_stack_cleanup()

Add a cleanup function net_stack_cleanup() that calls a new NetStack::ShutDown() method.
Make sure this method works even if the network stack was never initialized.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

6f6c9e00 10-Nov-2017 John Scipione <jscipione@gmail.com>

BDurationFormat::Format docs, update method params

Also a tiny style fix in the header, put const qualifier
on same line

a295d3f4 10-Oct-2017 Jérôme Duval <jerome.duval@gmail.com>

wait4(): retrieve dead team entries usage information.

* This adds a parameter to the wait_for_child syscall. I extended the test case
to show the actual retrieved information.
* fix #13546

6aff37d1 01-Oct-2017 Augustin Cavalier <waddlesplash@gmail.com>

Move SHA256 class to libroot instead of linking libshared into libroot.

Discussed with PulkoMandy and on the haiku-commits mailing list.

Thanks to @jessicah for compile-testing and fixing 2 small issues I missed.

9d8a58ea 30-Sep-2017 Augustin Cavalier <waddlesplash@gmail.com>

nvidia_gpgpu: Remove from tree.

Was nothing but a slightly-stripped version of the nvidia driver,
not touched substantially in nearly 10 years, and the cards it was
originally going to support (but never got anywhere near so) have long since
been deprecated.

db68ff23 10-Sep-2017 Augustin Cavalier <waddlesplash@gmail.com>

Interface Kit: Make BControlLook a proper pure-virtual base class.

All of its prior functionality has been moved into HaikuControlLook.
This paves the way for customizeable control looks, which I intend to implement
in the future as part of decorators.

This is being pushed now because libbe ABI was already broken due to the
Notifications changes, so this is riding that so we only have to do a mass
rebuild once.

d52572b3 10-Sep-2017 Augustin Cavalier <waddlesplash@gmail.com>

BControlLook: Make all public methods virtual.

Solves a "TODO before R1". Breaks ABI, but almost nothing outside the
tree uses it.

2da9ebb7 29-Sep-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Drop dp config array from dp_info

* Caching these values could result in missed
state changes.
* We may want to re-implement later.
* Highlights that all DP AUX communication is broken
during my testing.

8856b518 28-Sep-2017 Brian Hill <supernova@tycho.email>

BNotification ABI padding

Add reserved functions and data to avoid future ABI breakage

6aa05872 23-Sep-2017 Brian Hill <supernova@tycho.email>

Notifications preflet and notification_server

Notifications preflet:
-Use sliders instead of text fields for width and timeout
-Remove icon size choice (mini icon looks horrible)
-Consolidate both "Enable" checkboxes into one
-Fix Revert button, remove Apply button, add Defaults button
-All changes to settings saved immediately
-Live example notification message shown when settings changes are made
-Add setting for individual apps to specify whether their notifications
should be muted
-Remove history list (to be implemented later)

BNotification class:
-BNotification records the signature and name of application that
created it
-New functions to get source application signature and name

Notification Server:
-Notification pop up view layout fixes and bold font size fix
-Remove notifications history from AppUsage class (will be saved in
cache instead)
-Remove vector of NotificationView objects which isn't needed
-Get source application info from notification object, not the received
message which is not reliable

4bcba8a8 22-Sep-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing FirePro, Add vega, cleanup names.

* Vega is 100% untested.
* I think AMD is doing away with the DCE version numbers.

42745b94 03-Sep-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

BDateFormat: Properly map day values to ICU day-of-week.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

2976cf85 15-Sep-2017 Jérôme Duval <jerome.duval@gmail.com>

libroot.so: make first parameter of dladdr() const.

This follows up on a mail from 2011:

ccd42320 05-Sep-2017 Jérôme Duval <jerome.duval@gmail.com>

libroot: add posix_spawn().

c5e77784 10-Sep-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

compatibility/bsd: add endian.h for BSD extensions.

f995cdcc 10-Sep-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Revert "endian.h: add BSD extensions when _BSD_SOURCE is defined."

This reverts commit b8cfd96db10fc4341ffd3b552d28d95f716e895e.

b8cfd96d 09-Sep-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

endian.h: add BSD extensions when _BSD_SOURCE is defined.

66a16010 08-Sep-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing DP STATUS request type

* Name change inline with DP specifications.

22d88eb4 01-Sep-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

BCalendarView: Adjust day name format to available space.

* Use BDateFormat::GetDayName() to fetch weekday names.
* Use appropriate symbol width(Mon, Mo, M) depending on the frame width.
* Provide functionality to update day name header in case of locale
preferences change.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

ec3dbaa1 30-Aug-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Use B_FULL_DATE_FORMAT as the default style value.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

bb3ad41a 30-Aug-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Implement functions to get localized long/short dayofweek name and short month name in BDateFormat.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

1e4ab34c 23-Aug-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Implement a formatter for relative dates.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

It can give results such as "in 2 hours", "2 days ago", etc.
This is different from BDurationFormat which will just say "1 hour, 2
minute and 36 seconds"

26740b28 24-Aug-2017 Jérôme Duval <jerome.duval@gmail.com>

POSIX: F_DUPFD_CLOEXEC support (POSIX.1-2008).

* fix #12187.

cb13fce8 19-Aug-2017 Kacper Kasper <kacperkasper@gmail.com>

BTabView: implement drawing tabs on all sides.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

d64c7746 04-Aug-2017 Owen <owenca@users.noreply.github.com>

Add B_TRANSLATE_MARK_CONTEXT to Catalog.h and tools/CollectingCatalog.h

Fixes #13656

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

99e5e3fd 08-Jul-2017 Humdinger <humdingerb@gmail.com>

Package daemon notifications

* Sentence casing
* Localize notification texts in the package kit
* Have "Package daemon" as group name and "Warning" as title
* Use ::BPrivate in Bitmap.h to solve an ambiguity (as pointed out
by PulkoMandy). Though not needed for my changes any more, since
a the icon of the notifying app is now shown by default.

Fixes #13590.

d9823ef5 31-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

PrintJob: make struct print_file_header packed.

* also struct _page_header_: on x86_64, these would align to 8 bytes, which the code
doesn't handle well.
* remove beos leftovers.

a1ceb000 30-Jul-2017 Augustin Cavalier <waddlesplash@gmail.com>

Remove even more Locale Kit cruft.

Not included in the build and not used.

01c1bb62 30-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove more Locale Kit cruft.

BNumberFormat is the way to go for all of this. This code was not even
compiled in.

f0f458eb 28-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove glow from boot logo.

It looks better without it.
Note: beta and "development" images not adjusted. We don't have the
wonderbrush sources in the repo for these, apparently.

f806447f 27-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

aarch64: Add aarch64 build host support

* Maybe it will be a target someday.
* 64-bit ARMv8 for those not in the know.

6c9e0126 24-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

pthread_rwlock: use a mutex for process-private locks.

* instead of a benaphore.
* adjust Init(), Destroy(), StructureLock() and StructureUnlock().

9f9ba0bd 30-Jun-2017 hyche <cvghy116@gmail.com>

btrfs_shell: Support AVLTree

dbad909b 24-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

BMediaFile: fix MediaExtractor crash.

* stop the extractor processing before deleting the source.
* crash happened in MediaPlayer FilePlaylistItem::_CalculateDuration().
* was a regression introduced in hrev50671.
* fixes #13156.

13dbf471 24-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

Revert "BView: use off_t instead of long."

This reverts commit ab3a87ed6e5925dd8f9de119dbf689b6ac8afee5.

037ea84b 23-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

BNumberFormat: add Parse() and GetSymbol().

6cbcfc19 23-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

BNumberFormat: cache ICU formatters

For performance reasons, it is a good idea to keep the formatters
instanciated, instead of re-creating them each time we need to format a

0e4ad75e 23-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove more unneeded files from the Locale Kit

All of this is replaced by the single BNumberFormat class.

b7cc4ccd 22-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove remaining include of FloatFormatParameters.h.

1d6af34b 21-Jul-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

LocaleKit: remove obsolete files.

Formatting floats is handled by BNumberFormat already.

ab3a87ed 21-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

BView: use off_t instead of long.

c57b500a 16-Jul-2017 Jérôme Duval <jerome.duval@gmail.com>

libprint: fix invalid use of long.

8013f2e0 09-Jul-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Highlight current system date in BCalendarView.

* Issue: In BCalendarView presently, there is no notion of a current date
and the current date is not highlighted. So in the deskbar tray calendar
which uses BCalendarView, we cannot know the current date once we change
the selected day.
* Fix: Make BCalendarView accept pulse messages, check for system date
with every pulse message and update the current date accordingly.
Highlight the current date by rendering its day number text in a
different color.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

ticket : #13592

42123119 13-Jul-2017 Joseph C, Hill <calvin@hakobaito.co.uk>

unistd.h: define _POSIX_BARRIERS

This constant was missing in unistd.h and some applications
use it to check for pthread barriers support.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

ticket : #13601

0cc293cf 11-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

raspberrypi_arm: Drop old Raspberry Pi 1 boot loader.

* We transitioned to u-boot quite some time ago
* We also are dropping < ARMv7 support

f642e558 10-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Drop board_config headers

855fc5a0 09-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

platform/u-boot: Build all fdt's and include in u-boot mmc

* Eventually BoardSetups and target boards will go away.
* Include all known fdt's in the mmc image
* This gets us closer to target board-less arm
* Changing hardware is as simple as plugging a new fdt
into u-boot's startup script.
* Drop my original rpi1 work. We're targetting ARMv7

49a2540f 03-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

ppc/atomic.h: Readd arch atomic improperly removed in hrev51254

9c8119e0 03-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/smp: Add a comment for some obsecure knowledge

* I was ready to rip this out until PulkoMandy set me stright.
* Add a comment so others understand the impact here.

913d4886 02-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel/arch/ppc: Add missing cpu reference for PAGE_SIZE

5c4c4e91 30-Jun-2017 Augustin Cavalier <waddlesplash@gmail.com>

fssh_time: Fix following time_t changes.

402ec26e 28-Jun-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

ide: Remove last ide fragments.

* Missed in previous commit.

952318fe 11-Jun-2017 Jérôme Duval <jerome.duval@gmail.com>


39efd913 05-Jun-2017 Augustin Cavalier <waddlesplash@gmail.com>

Switch to a 64-bit time_t everywhere except 32-bit x86.

Thus, BeOS compatibility is preserved (and there is no risk of
breaking GCC5<->GCC2 interoperation on hybrid builds.)

This commit only makes the actual change, the build fixes are
in the next commit.

36576214 04-Jun-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>


These were added in C99 to avoid interferring with C++, but then C++11
caught up with inttypes/h/stdint.h and removed the need for the macros.
They have disappeared from C11 as a result, and also from current glibc
implementation (https://sourceware.org/bugzilla/show_bug.cgi?id=15366)

So it seems reasonably safe to do the same, and it will save people
having to enable access to these macros explicitly when writing C++.

b70a58f9 29-May-2017 Augustin Cavalier <waddlesplash@gmail.com>

pthread.h: Remove PTHREAD_RWLOCK_INITIALIZER macro.

This reverts commit 17286dc70a81d1aa8d853a73db0b0ebe79e6ed9a.

As discussed on the mailing list. As it turns out, this was less
than half of an actual implementation of this macro, and there's
technically no way to implement it without introducing (theoretical)
race conditions, in the current design anyway.

2b204c56 29-May-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove deprecated BCollatorAddOn and implementations.

Leftover from initial import of the locale kit from OpenTracker. We are
now using ICU for this, so specific add-ons for each language are not

a19a18f5 28-May-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Rework BCollator API

- Strength is now set once, instead of at each comparison, to improve
performance and fix potential locking issues
- Add a way to enable "numeric" collation (aka "natural order")

17286dc7 27-May-2017 Joseph C, Hill <calvin@hakobaito.co.uk>


Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #8798. One tiny style fix by me (adding spaces around braces).

f5c544b5 16-May-2017 Akshay Agarwal <agarwal.akshay.akshay8@gmail.com>

Fix style formatting issue in BTimeUnitFormat, update BDurationFormat accordingly.

* Issue: BTimeUnitFormat doesn't incorporate style formatting while
formatting a time unit. Format() does take style as an argument but the
style is not used anywhere. So currently the abbreviated style doesn't
work and by default the time unit is formatted to the full style.

* Fix: Move the style flag from BTimeUnitFormat::Format() to the
BTimeUnitFormat constructors and call the relevant icu::TimeUnitFormat
constructor. Map the Haiku defined style unit to the corresponding ICU
unit. Move the style flag from BDurationFormat::Format() to the
BDurationFormat constructors to map the changes in BTimeUnitFormat.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #13508

e8882171 13-May-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

loader: fetch all potential boot partitions for boot device.

This allows the loader to skip BFS partitions that don't contain
a bootable system. Useful when you have a BFS data partition that
comes before the system partition when iterated over.

Currently, only the UEFI loader actually returns more than one
possible partition.

133e4131 13-May-2017 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 8.

e6fa1be5 13-May-2017 Andrew Lindesay <apl@lindesay.co.nz>

Implementation of JSON Streaming Parser

Addition of missing files from previous commit

5e7964b0 03-May-2017 Alexander G. M. Smith <agmsmith@ncf.ca>


There is no DATA directory in BeOS, and its FindDir() doesn't implement
it. No need for a confusing backwards compatibility to something that
doesn't exist (had my hopes up, was going to move some non-executable
files from AddOns to Data in a program that works in BeOS and Haiku).

The removed enum label doesn't change the directory_which enum order
or count, as it was aliasing the value of another existing enum label

Fixes #13470

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>

9b6b158b 10-Mar-2016 dsizzle <dcieslak@yahoo.com>

Implementation of BFont::Blocks

BFont::Blocks is now implemented in ServerFont, via a call through the
app_server. It uses fontconfig to iterate through a charset of a font
and stores the defined blocks in a bitmap.

A new API was added, BFont::IncludesBlock, that will allow for arbitrary
testing of a given Unicode block. Since nothing is cached, searching
through an entire charset for a series of Unicode blocks can be quite
slow. In a given block there may be only 1 or 2 characters actually
defined so every character within a block needs to be checked until one
is found, which in a degenerate case will mean the entire block is

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>

c0ef5b2b 04-May-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaFile: Little refactor to use the MediaStreamer class

* This clarify the ownership of the source when using the experimental
* The extractor/writer are simplified and don't have to care about
* MediaStreamer is able to provide a generic BAdapterIO that is
suitable also for different uses than the codecs API itself.

9198105d 04-May-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaWriter/MediaExtractor: Remove BUrl constructors

dfecb37a 04-May-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce new experimental class MediaStreamer

e9843da3 30-Apr-2017 Axel Dörfler <axeld@pinc-software.de>

KPath: Added LAZY_ALLOC flag.

* This allows KPath to not allocate a buffer when initialized
without path.
* Added test cases for this.
* Added test for LockBuffer().
* Enhanced tests to allow building them in debug mode.
* Moved calling vfs_normalize_path() into own private method.
* Improved error codes; B_NO_MEMORY is now only returned if the
allocation actually failed.
* If used with LAZY_ALLOC, Path() and LockBuffer() are now allowed
to return a NULL path.

eac83fb3 30-Apr-2017 Axel Dörfler <axeld@pinc-software.de>

KPath: Replaced booleans with flags field.

* No functional change intended; I chose the flags in a way that it
should still work even if I missed a reference.

b8a61399 08-Feb-2017 Brian Hill <supernova@warpmail.net>

Fix glitch in Screen prefs when changing background color.

When both Backgrounds and Screen are open, if the workspace color is changed
in Backgrounds the monitor preview in Screen will now refresh to the new color.

Also added a BAlert in BackgroundsView.cpp when failing to change the
background image.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #13286.

3582d4fe 29-Apr-2017 Axel Dörfler <axeld@pinc-software.de>

Minor style cleanup.

a33c8f4c 27-Apr-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Some more consistency in args order

43542cab 20-Apr-2017 Jérôme Duval <jerome.duval@gmail.com>

runtime_loader: increase max length for image names.

* was previously 32, which would truncate longer shared object names.
* fixed #13436.

41458d97 19-Apr-2017 Jérôme Duval <jerome.duval@gmail.com>

limits.h: define PIPE_BUF.

00796434 16-Apr-2017 Jérôme Duval <jerome.duval@gmail.com>

limits.h: bump _POSIX_SEM_NSEMS_MAX to 256.

128 was too low for Python3.

0cc5ecb8 13-Apr-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: IDs should be signed integers

* It's very important to use a negative value to identify
non valid or uninitialized connections. Additionally, it's preferred
to don't interfere with media_kit types as long as the framework use
it in the backend.

56403b63 13-Apr-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

limits.h: define PAGE_SIZE only if XSI is requested

limits.h is part of the C standard, but POSIX and XSI extend it with
various defines. We should not add these unless the application requests
support for them.

In this case, PAGE_SIZE should only be defined if XSI support is
requested by defining _XOPEN_SOURCE. Note that PAGESIZE (plain POSIX for
the same thing) and B_PAGE_SIZE are alternatives that remain available.

b68cf9d6 11-Apr-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

elf.h: add more architectures.

Mostly I need EM_AVR to build avrdude on Haiku.

6516aed5 05-Apr-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

network preflet: Make InterfaceListItem dumber

* Allows us to use InterfaceListItem for non-physical
interface things (like a VPN connection)

e5c95a01 28-Mar-2017 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Use 64 bit addressing for ACPI on 32 bit builds.

32 bit builds with PAE are so much fun. It's like
64 bit without all the extra registers...

8cc5325a 18-Mar-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

agg: Pull in updated scanline + basics header from 2.4

* Resolves #13382

ad05d1f0 18-Mar-2017 Augustin Cavalier <waddlesplash@gmail.com>

libs/agg: Remove GPC.

It was licensed with a "no commercial usage allowed" license, which if
we were using it would be a gray area at best. We weren't using it at all,
and AGG seems to have disabled building it by default, so just remove it
from the tree entirely.

Briefly discussed on IRC.

63863c98 12-Mar-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

cpu_type.h: Fix missing ;, sorry for spam

54066ddb 12-Mar-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

OS.h: Add AMD Ryzen CPU name identification.

* Update cpuidtool.c to new post-smp rework name

5854fc4a 18-Feb-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Add remaining wiring for input/output functionality

* BufferReceived is renamed HandleBuffer.
* Update doc.
* Implement buffer production private methods.

d47434c2 10-Jun-2014 Jim Barry <jim@chez-jim.net>

Added "explicit" specifier to constructors that would otherwise allow undesirable implicit conversion from integer types.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

3c69a2e2 03-Apr-2013 John Horigan <john@glyphic.com>

Add agg_renderer_base::fill(color&) method for blending a color. Complements the clear(color&) method, which copies the color.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

cb743deb 03-Apr-2013 John Horigan <john@glyphic.com>

Add const qualifier to multiply and divide operators for agg_trans_affine/perspective

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

58916d4a 31-Aug-2016 Murai Takashi <tmurai01@gmail.com>

agg_scanline_u.h: fix wrong base_type

As pointed out at https://sourceforge.net/p/agg/svn/37

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

6ced9245 11-Feb-2017 Julian Harnath <julian.harnath@rwth-aachen.de>

FUSE compat: add MIME type faking

* Add special handling for reading the BEOS:TYPE attribute to supply
on-the-fly fake MIME types for FUSE module filesystems, the same
way it's done in our FAT and NTFS FS modules

* Reuse the mime_ext_table which we already have and put it into a
shared location so we don't get further extra copies of it

1263be8f 11-Feb-2017 Julian Harnath <julian.harnath@rwth-aachen.de>

FUSE compat: add Haiku extension

* Add a way for a FUSE module to supply Haiku-specific extensions.
This allows it to integrate better with Haiku while only requiring
minimal changes on the FUSE module itself.

* For now, there is only one extension: another function pointer for
"get_fs_info", which lets the FUSE module fill in an fs_info struct.
FUSE provides no good way to otherwise communicate extra information,
such as the volume flags (e.g. B_FS_IS_SHARED).

* A FUSE module can signal that it supports the Haiku extensions by
a) defining HAS_HAIKU_FUSE_EXTENSIONS before including the fuse
b) setting the global variable gHasHaikuFuseExtensions to 1 in
its initialization
Otherwise, the Haiku extensions are completely invisible to the
FUSE module.

388ac82b 05-Jan-2017 John Scipione <jscipione@gmail.com>

BString: Add IStartsWith() and IEndsWith() methods

Case-insensitive version of StartsWith() and EndsWith()

85566e03 21-Feb-2017 Jérôme Duval <jerome.duval@gmail.com>

posix: add _POSIX_SEM_NSEMS_MAX.

* have _SC__SEM_NSEMS_MAX return _POSIX_SEM_NSEMS_MAX, a per team limit
instead of the global limit.

0bec83a8 21-Feb-2017 Jérôme Duval <jerome.duval@gmail.com>

pthread: add const for pthread_mutex*_get*()

according to the spec. Fixes #13324.
* code style clean up.

100775b7 11-Feb-2017 PulkoMandy <pulkomandy@pulkomandy.tk>

Fix build on Linux

Stub out some translation macros for host build, so the now localized
package solver can be built there.

b6f76ebe 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

s/OpenBeOS License/MIT License/ universally, as they're the same thing.

Fixes #8681.

6c9415e3 09-Feb-2017 Augustin Cavalier <waddlesplash@gmail.com>

BJson: Use the normal "input, output" argument ordering instead of the reverse.

Update all in-tree consumers of the BJson API to match. Also added
const-qualifiers to the BString versions of the API, and added the leading
"_" to the header guards.

d0a92cb6 01-Feb-2017 Jérôme Duval <jerome.duval@gmail.com>

x86: added a MSR definition.

f9e1854f 29-Jan-2017 Adrien Destugues <pulkomandy@gmail.com>

libbnetapi: fix access to HTTP headers

The asynchronous listener had no reliable way to access HTTP result and
headers from the callbacks. As the callbacks are triggered
asynchronously, they can be run after the request has carried on and,
for example, followed an HTTP redirect, clearing its internal state.

The HeadersReceived callback now passes a reference to BUrlResult for
the request. There are two cases:
- Synchronous listener: passes a reference to the request's results
- Asynchronous listener: archives a copy of the result into the
notification message, and passes a reference to the unarchived copy.

Unfortunately this comes with several ABI and API breakages:
- Change to the prototype of HeadersReceived()
- Change to the class hierarchy of BUrlResult (implements BArchivable)

All users of HTTP requests will need to be updated if they implemented
in HeadersReceived or used BUrlResult.

2332ebfd 21-Jan-2017 Kacper Kasper <kacperkasper@gmail.com>

ControlLook: Add side parameter to tab drawing functions.

* This allows drawing tabs on any side of the view.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

a7359754 18-Jan-2017 Andrew Aldridge <i80and@foxquill.com>

Sync atheros813x with FreeBSD

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12328.
Fixed a style error (2 lines between functions).

991d9dbf 18-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaConnection: Implement auto release

0844ddf4 18-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Polish destructors

* Make Release() the only public way to destroy a connection.

d64dd7be 16-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Fix style for private methods and other cleanup

* Cleaned up some unneeded callbacks.

7561d9ac 16-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

Populate media/experimental with future media_kit classes

* Node implementations headers are move into src/kits/media.

41acdd1d 16-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

media_kit: Move some files and headers under docs/develop/media

550e05af 15-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Start/Stop force argument doesn't make sense

2c9fa0f2 15-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClientNode: Schedule outgoing connections on start

* Add preliminary binding support.

3705d40c 12-Jan-2017 John Scipione <jscipione@gmail.com>

BSpinner: Set min value then max value

... reverse this to avoid confusion, you'll see why in next commit.

No functional change intended in this commit, functional change is in the
next commit.

bdd02e0d 12-Jan-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

BString: rename SetCharAt to SetByteAt

Makes it clear that it operates on bytes, not unicode codepoints.
Thanks to mmlr for remembering me of this subtlety.

0c5219a1 12-Jan-2017 Jérôme Duval <jerome.duval@gmail.com>

Restore missing symbol _ZN7BStringixEi on x86 and x86_64.

* Vision and others were broken after 3eac8208dfcd6bd73a534303414784d3754de855.
* this adds BStringRef in the backward compatibility section.
* fixes #13199.

3eac8208 09-Jan-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove BStringRef and users.

As discussed in 2008
this class was not efficient because of lack of inlining. Implement the
suggested solution of a SetCharAt method instead. Also add a CompareAt
which covers a specific use case in KeyboardLayout.cpp.

Adjust all places which were using this feature to safer APIs.

Also fixes a copypaste error in FormattingConventions.cpp.

e6004b77 10-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Move WIP min/max functions into BMediaConnection

3ef4b200 10-Jan-2017 Dario Casalinuovo <b.vitruvio@gmail.com>

Make BMediaRecorder public

* Fills a functionality lack of the classic media_kit.

e1304871 01-Jan-2017 John Scipione <jscipione@gmail.com>

Revert "BWindow: CenterOnScreen a bit above center"

This reverts commit a5be1832cc9f29a230e587c77793e624ec4fbd2a.

a5be1832 31-Dec-2016 John Scipione <jscipione@gmail.com>

BWindow: CenterOnScreen a bit above center
BWindow docs: Document changes to CenterOnScreen()


Will revert if not appreciated.

0e0f49e7 27-Dec-2016 Dmytro Shynkevych <dm.shynk@gmail.com>

libroot: Implemented pthread barriers

This is an implementation of pthread barriers pursuant to the relevant specification.

Barriers are essentially a special case of conditional variables,
such that all threads waiting on one are woken up when the number of
waiters reaches a number provided at the initialization of the barrier.
In view of that, this implementation mimics the implementation of pthread_cond,
except it is more specialized and self-contained.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>

7056e542 29-Dec-2016 PulkoMandy <pulkomandy@pulkomandy.tk>

Add forwarding header for BUrl.

2c26ad4b 29-Dec-2016 Adrien Destugues <pulkomandy@gmail.com>

move BUrl to the support kit

It is used by the media kit, which created a dependency from libmedia to
libbnetapi to openssl.
It is not entirely specific to the network kit, there are some use cases
that don't involve network at all.

4ee47fe9 25-Dec-2016 Rene Gollent <rene@gollent.com>

BListView: Cleanup, no functional change.

- Rename _FontChanged() to _UpdateItems() to more accurately reflect its
purpose, as discussed on commits list. Adjust callers accordingly.

4419d699 22-Dec-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

partitioning: pass along reference to parent when uninitializing.

* Fixes problems with setting the partition name after uninitializing
a partition in DriveSetup. Previously, UninitializeJob() was
followed by SetStringJob(), but the kernel was updating the
change counter for the parent partition when uninitializing a
partition, leading to SetStringJob() having an incorrect change
counter for the parent partition. Now the parent change counter
will be correct when SetStringJob() runs.

51844723 17-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaConnection: Remove redundant IsInput/IsOutput

17b2a3cf 17-Dec-2016 Jérôme Duval <jerome.duval@gmail.com>

fork(): Defer signals and lock the heaps while _kern_fork().

* Also defer signals while registering fork hooks.
* While malloc provides fork heap hooks which lock the heaps and unlock/reinit,
malloc_debug provides empty hooks.
* Ideas suggested by Ingo, patch reviewed by him. Thanks a lot!
* Also call fork parent hooks on failure.
* Solve locks-up when combining multithreading and process forking, should help
with #13111.

194afffd 17-Dec-2016 Jérôme Duval <jerome.duval@gmail.com>

user_thread.h: use struct keyword to be usable in C.

75b90c42 17-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaConnection: Fix buffer size and duration redudancy

* There's no need to supply ways to mismatch the buffer duration
and size. Anything should reflect the media_format, this is at least
fixed on API level.

2fdc256d 17-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaOutput: API cleanup

63cb26c5 17-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Hide timesource related API

* There's no point actually in providing BTimeSource dependant
functionality. If and when there will be need for something like
that, possibly never, an higher level solution will be integrated.

83cd87d0 11-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

SimpleMediaClient: Use virtual inheritance to reduce duplication

d1742cc3 11-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaInput/Output: Inherit base virtually

fda0bf77 09-Dec-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "repo rework: Re-add compatibility url field"
Revert "repo rework: Remove stubs; Breaks repo compat."
Revert "repo rework: Remove need for repos to be self-aware"

This reverts commit a2b2f4d6427914cdcdb59943dd8e4a0bfdcd53ee.
This reverts commit 602076ef82647a48fd10f4d1ec830bb4242f9eb6.
This reverts commit 5ffaf72c8a74a7eb6827e4d2b1f47c9360ddaefe.

These changes break the build on Haiku and the ability to create repo
mirrors, for the lack of a replacement for the URL (an UUID was evoked
on the mailing lists, but not implemented).

We are due for a release soon, please don't break the build.

7bdeef54 09-Dec-2016 Rene Gollent <rene@gollent.com>

Debugger: Rework parts of report generation.

- Adjust report generation event to include a final status code for listeners.

- Use aforementioned status code to indicate whether report generation
succeeded or failed.

- Notify listeners if report generation fails. This may have previously
been responsible for some bug reports where it was indicated that the
debugger hung without exiting after being asked to save a report from
a crashed app.
- When dumping disassembly, retrieve it directly if necessary rather than
requesting it via the user interface listener. This also fixes the quirk
that requesting to save a crash report while looking at the source code
of a function would trigger switching it to disassembly visually.
- When walking the list of threads to dump, acquire references to all of
them before starting. Otherwise, it was potentially possible for a running
but not crashed thread to exit while we were generating the report, leaving
us with a pointer to a deleted thread. This was most likely the cause of one
of the crashes reported in #13082.
- When receiving the notification that source code state has changed, clear
the waiting function. Otherwise, it was potentially possible for us to get
other state change notifications, leading to the data semaphore being
released too often. This would then cause later potential waits such as
the stack frame memory dump to not actually wait when they should,
potentially leading them to dereference objects that weren't yet ready.
This fixes another of the crashes in #13802.

602076ef 07-Dec-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

repo rework: Remove stubs; Breaks repo compat.

* These stubbs satisfied older Haiku releases that
required the URL
* Users running nightly images will need to upgrade
to hrev50723 - hrev50744 before upgrading further
* Getting this out of the way now before the beta
comes out.
* New installations shouldn't suffer any problems.

f1f09565 06-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Just some interface review

c1137899 06-Dec-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Update comments to last changes

* The interface is being refined and various comments were inconsistent
at this point.
* AddInput/AddOutput is private now.

10ba3348 30-Nov-2016 Rene Gollent <rene@gollent.com>

Debugger: Cleanup.

- Split MessageCodes.h into a second file that separates out the
application-specific message codes from those used by the core.
Adjust includes accordingly. No functional change.

25ec63db 25-Nov-2016 Rene Gollent <rene@gollent.com>

libdebugger: Add string setting type.

- Needed in order to properly implement a settings description for
a remote interface.

129626b5 03-Dec-2016 John Scipione <jscipione@gmail.com>

Fix warnings building on newer OS X

Apple has gotten around to updating their POSIX support so these
constants are now defined. Add some #ifndef guards to prevent warnings
during compile.

5ffaf72c 01-Dec-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

repo rework: Remove need for repos to be self-aware

* See #12917 for details.
* Squashed to one commit to make revert easy if we
run into any issues.
* pkgman is now pre-attached to the 'current' repo
version within nightly images so they can be updated
by default.
* This shouldn't impact us keeping older sets of package
versions by commit hash for building older hrevs.
* There are XXX stubs with "Kill me". These will need
to be dropped after users are given sufficent time to
upgrade. We're dropping a previously required field (url)
so making this a slowish roll out.
* Makes the repos a lot less restrictive which should
help PM package building automation be a bit easier.
* Once this stuff smooths out, we'll add UUID's to the
repo definitions for duplicate repo detection.

852e09d6 29-Nov-2016 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added stop target ability.

* Before, you had to stop each job by itself.

ecb39585 28-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce BSimpleMediaClient

* The idea is to move the callback based mechanism into a derived
class. The objects can be composed to create working systems.
* The BMediaClient class supply RegisterInput/RegisterOutput
and BeginInput/BeginOutput is moved to BSimpleMediaClient.
* Various minor fixes.

209b520f 26-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Add some padding and reserved functions

05e29ea1 26-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaConnection: Remove Reset()

9ee6577e 26-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Distribute callbacks across derived classes

9e9655ed 25-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Use CurrentTime for both offline and performance time

6d025521 25-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Introduce BMediaInput and BMediaOutput

eebedf8f 24-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Use unique id for both inputs and outputs

30f9eb3f 24-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Use kind/kinds pair for media_connection_kind

* Use const reference for media_connection::kind.

902701e6 24-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Use higher level structs for the remaining methods

3c1e0133 23-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Fix build

f506f305 23-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Improve internals and API

* Capabilities() become Kind()
* Use media_client and media_connection to better model
the different situations of the API. Reduce code duplication
and move media_kit structs/methods into private.
* Various API and beauty improvements.
* Introduce id management for media_connections.
* Fix different issues preventing to correctly begin a connection.

23d5326e 23-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Introduce media_client and media_connection

* Those structs are provided as replacement for the classic
media_kit ones. They provide better encapsulation of the data
and the resulting code is heavily simplified. It's planned to
introduce BMediaRoster functions to provide conversion from
media_node and media_input/media_output to media_client
and media_connection.

a9d53d9e 22-Nov-2016 Rene Gollent <rene@gollent.com>

Debugger: Fix regression introduced in hrev50534.

- Add new state FUNCTION_SOURCE_SUPPRESSED. This signals that the user
explicitly forced disassembly to be loaded despite source code being

- When forced to disassembly, use the above suppressed state accordingly.

- Adjust to take new state into account as needed.

- When looking at a function to decide whether to return line information
based on source or disassembly, first examine the source code state. If
the source has never been loaded for that function, but we have it available,
set it on the function at that point. This lazily addresses the fact that
LoadSourceCodeJob is called on behalf of a specific function, and
consequently only sets the source code onto that function, and not all others
present in the same file. This allows us to differentiate between the case
where a function doesn't have source code available at all, versus a function
that has simply been forced to disassembly view at this point in time.

The primary symptom of the above issue was that attempting to set a breakpoint
outside of the currently active function, but within the same file would result
in the breakpoints view indicating that the breakpoint was at line 0 rather
than the appropriate line, and breakpoints would also not be drawn in the
source view for such locations.

Thanks to Humdinger for the heads up!

2082b5d2 18-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Use media_client_kind for client capabilities

5ec9bd1e 18-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: general cleanup

0253ecbd 16-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaClient: Remove BeginConnection for external connections

* While it looked like a good formalism, there's no need to add
unneeded complex steps to the user of the API.

586734d6 14-Nov-2016 Janus <janus2@ymail.com>

Fixes Success/Failure colors in Appearance

* Fixes the mapping function index_to_color_which
* Fixes #13073

f4ff9cb0 13-Nov-2016 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Merge branch 'uefi-support'

6e6efaec 24-Apr-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

EFI: add ACPI support

Also add support in the kernel to get the ACPI RSDP from the
bootloader, and pass onto the ACPI driver using get_boot_item.

82dcc316 22-Oct-2014 Henry Harrington <henry.harrington@gmail.com>

bootloader: Translate kernel args before adding them to kernel_args_range.

Chunks may be physically contiguous, but virtually disjoint. Adding
physical addresses may cause ranges to be merged incorrectly.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

9b410c41 11-Nov-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Initial merge of the BMediaClient branch

* The BMediaClient is an higher level API to the media_kit. It
corresponds to what the layout API was for the interface_kit.
The main idea is to allow the developer concentrate only on
higher level details and avoiding handle with the tricky parts
of the media_kit. At the same time the general purpose node that
is implemented inside would allow implementing the best techniques
around thus at the same time reducing code duplication and increasing
* BMediaClient is WIP, this is the initial merge of the branch.
The initial development stone was set long time ago and walked
through various design/implementation phases.

12431ebf 02-Nov-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

listusb: dump video streams from UVC devices.

e6464087 01-Nov-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

listusb: parse UVC devices

- Various cleanups to the USB-audio side, which is similar
- Add in the UVC (USB Video) specific info with parsing of some of the
descriptors (most of the "control" part).

b32f51ce 01-Nov-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

elf.h: add ELFMAG* constants

Needed by libelf, when elf.h exists.

8023d6ba 31-Oct-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager: Move reference counting in the MediaPlugin

* Ideally we should support this feature by default to allow
future improvements to the plugins management.
* Fixes the major memory corruption that lead to various
crashes on exit in MediaPlayer.

42a3f947 25-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManger: Remove BReferenceable and add locking

ed31589c 31-Oct-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

URL Disaptching/Async listeners: forward debug messages

This makes it possible for the Asynchronous listener to get the
messages. It can then process them in a more fancy way.

The default implementation will still log the messages to the console
(if debug is enabled), but it will do so from the Async listener for
asynchronous requests now. This means they will probably be logged from
the same thread, and show up in a more readable way.

This also makes it possible to listen to several requests and log them
in a nice way (in a status window or whatever).

cf657294 13-Oct-2016 Andrew Lindesay <apl@lindesay.co.nz>

Url: implement same URL parsing logic in C/C++ code

- Remove uses of group matching regular expression, not available on all
build hosts,
- Parsing is faster than our old regexp engine.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

- Fixes #13002
- Fixed some indentation (tabs vs space), please configure your editor

65f5e1e1 28-May-2016 Mark Hellegers <mark@firedisk.net>

Fix #12799: Enable elf symbol patching for Haiku

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>

b2bdabc7 20-Oct-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Add beaglebone target, rename beagle

* beaglebone vs beagleboard
* While the boards are almost the same, they have
diff. FDT's now (more memory, different layout etc)
* Make u-boot script more rpi-like
(depend on u-boot for initial addresses)
* Wasn't working, still doesn't.

3588e74a 19-Oct-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaEventLooper: Return to simple lateness computation

* Remove enqueue_time again.
* Lateness seems generally useless. No way to get something useful
experimentally. The commit noise however was useful, the port wait is
behaving more in accordance with the lateness calculus.
* Fixes #12817 and possibly #12594.

0c98ab27 19-Oct-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaFile: Add BUrl SetTo

* Also fix the server version of BUrl constructor
to use a const reference.

e340f717 11-Oct-2016 Jérôme Duval <jerome.duval@gmail.com>

runtime_loader: add support for ELF init/term routine arrays.

* binutils 2.27 defaults to DT_INIT_ARRAY instead of DT_INIT.

af0282f9 09-Oct-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make US-english the default KDL keymap again.

fe2557b6 21-Feb-2016 S K <sylvain_kerjean@hotmail.com>

PS/2: fix warnings, enable -Werror

- elantech: Remove unused variables and functions.
- "movement maker": float/int confusions
- debugger keymap: don't use multi-byte chars in preprocessor to avoid
warnings with gcc2 (even with -Wno-multichar)

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12658

25a087bc 04-Oct-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS version bump. Encoder work.

* Now pulling in latest amdgpu atombios.h headers
* Lots of DisplayPort cleanup and removal of legacy stuff
* Add obsolete atombios header for things that disappear
(amdgpu doesn't support older cards like we do)
* Introduce new code to support later encoder tables
* Drop radeon-specific encoder service from common dp_info
* Tested on HD 5450 hdmi

e25f9933 05-Oct-2016 Jérôme Duval <jerome.duval@gmail.com>

complex.h: add a C++ guard.

dd074cc7 29-Sep-2016 Kacper Kasper <kacperkasper@gmail.com>

Style fixes for Errors.h.

No functional change intended.

38f17b01 28-Sep-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Polaris10 power distribution fix

* Helps prevent mainboard explosions and other bad stuff.
* ...maybe not explosions, but bad things.
* The RX 480 reference design can pull as much as 90W
from its PCIe slot at load. PCIe is rated for 75W.
* This change overloads the PCIe power cables vs the PCIe
slot. The PCIe power cables can handle going over spec.
* Untested since we really can't come close to loading a
RX 480 without hardware OpenGL ^_^
* Should be able to test on real hardware within a week.

c4da8485 27-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

BTextEncoding: even more style fixes.

a71b10d7 27-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

BTextEncoding: fix naming and move to BPrivate namespace.

32afcc5c 27-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fix in Locale Kit headers.

As pointed out by Axel, the wrong style was used in these headers we
inherited from OpenTracker days.

a95053dd 26-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

TextEncoding: Style fixes to header.

As pointed out by Axel.

08e52491 25-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

TextEncoding: add Encode/Decode methods.

This replaces convert_from/to_utf8 in a way that doesn't leak memory.

Use the new method in StyledEdit.

Fixes #6252, #3065.

fbb725bb 25-Sep-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add text encoding detection to the Locale Kit.

As usual we ask ICU to do the actual work. The TextEncoding constructor
is fed with a sample of the text to identify (ICU docs recommend a few
hundred bytes). The text is analyzed in various ways (bytes patterns
such as UTF-8 escaping schemes, common letter sequences from known
languages, byte order marks) and an encoding is determined.

Replace code in StyledEdit by this new implementation.

Note that ICU seems to always return some valid encoding, even with fed
with obviously non-text data. This makes StyledEdit open the files no
matter what, where it would error out before.

Fixes #9395.

b65adbdf 09-Sep-2016 Rene Gollent <rene@gollent.com>

Debugger: Fix #12940.

- Add new interface TeamFunctionSourceInformation. Currently this
exposes a single function allowing one to query for the currently
active source code given a FunctionDebugInfo instance.
- Implement TeamFunctionSourceInformation on TeamDebugInfo.
- Pass TeamFunctionSourceInformation to Dwarf{Team,Image}DebugInfo.
In turn, make use of it in DwarfImageDebugInfo::GetStatement() in
order to determine whether to return the corresponding assembly
or source statement.

With this piece of information, the debugger is now correctly able to
determine that the user is currently looking at disassembly despite debug
info being available, and consequently adjust its stepping behavior based on
that. Previously, the source code statement was always used, leading to it
not being possible to single step assembly lines in such a circumstance
without manually using run to cursor.

Other related cleanups:
- TeamDebugInfo now inherits BReferenceable directly, rather than relying on
indirectly inheriting it from TeamTypeInformation.
- Remove BReferenceable from TeamTypeInformation. The latter is only an
interface anyways, and inheriting that base class from multiple locations
was causing GCC5 trouble when resolving BReference<TeamDebugInfo>, even
when virtual inheritance was used.

e3f20799 07-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Remove unuseful Close()

79bd3b48 07-Sep-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

StreamerPlugin: Add reference count

* Keep the Streamer around until everyone released it.

495efc38 06-Dec-2013 François Revol <revol@free.fr>

loader: Drop the HashMap for partition lookup by id

The HashMap constructor was called before the heap is initialized,
ending up calling malloc from the OpenHashMap constructor.

Oddly it was still working on x86 but broke other platforms.

Instead we add a Lookup() static method to Partition,
which by default walks gPartitions for the id,
and recursively calls itself on the children lists.

This means we must add a partition even temporarily to gPartitions
before Scan()ing it though.

Signed-off-by: François Revol <revol@free.fr>

211483cb 14-Apr-2016 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

EFI: Initial test EFI application

* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
modified to include support for C++ constructors, etc. Keep in
sync with the gnuefi package

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

96658eae 27-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

elf.h: add some defines from Linux version

For completeness and compatibility.

69808176 27-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove pthread.h include from netdb.h

- It is not needed in the .h, and makes gawk build fail.

187ad82a 26-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

intel_extreme: fix wait_for_vblank on SandyBridge

There was some mixup with the interrupt registers, still:
- The driver uses 16-bit read/write, but on SandyBridge the register is
32 bits
- There is a global interrupt enable bit, which must be set to unmask
everything else
- The bits for vblank interrupt are not the same on SNB and later PCH
based devices, and the code mixed the two.

Move the computation of the interrupt bits to an helper function, and
use it everywhere to make sure we always use the right bits.

adc0f76e 25-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

More SandyBridge fixes and cleanups


My previous hack was setting the transcoder registers, instead of the
display ones. Do that the way it is designed in the driver instead:

- If there is a transcoder, set its registers, but do not set the
display timings. The display will remain set at its native (and only)
resolution, and panel fitting will adjust the output of the transcoder
to match.
- If there is no transcoder, set the display registers directly to the
native resolution, as it was done on previous generation devices.
- fPipeOffset hacks no longer needed


It seems the panel control register is not readable on PCH? Anyway, the
code would loop forever waiting for the bit to become unset when turning
the display off. Waiting seems to not be needed, so just remove it as
well as the "unlock" bit, which does not work for me and results in a
black screen.

Remaining hacks

I still need to force HEAD_MODE_A_ANALOG to get output on pipe B (LVDS
display) working. I suspect something is common to the two pipes or not
allocated to the right one.

This version will have less side effects on other generations and help
with getting things to work on SandyBridge and possibly later devices.
Please test and report.

9b193544 21-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

CID 608995: buffer overflow.

This should not happen, so in case a file has an unexpectedly large
name, drop to debugger.

bb4190f0 01-Jun-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix SandyBridge support.

This reverts commit 4f2b258c32efeab97f043519b7f2d4e22819d431.
This reverts commit c86f3dba238a44a8fcf7b1452c46f1cab68f525a.
This reverts commit 61fbdb0667c57f6d3d11d33bce6c01bdd625aaec.
This reverts commit b3f14fb7c715cf95b374ee749dcafd5537d1b017.

2446f53b 18-Aug-2016 John Scipione <jscipione@gmail.com>

BListView: Impliment autoscroll

BeOS had a feature where you could click on a list and while holding
down the mouse button scroll through the list items selecting them
as you went. I implemented the same feature on Haiku.

Did the work in separate thread which makes sure that the mouse
is held down the whole time even if you leave the view.

Thanks Diver for bringing this feature to my attention.

9dfd244e 18-Aug-2016 John Scipione <jscipione@gmail.com>

BListView: Style fixes

* Rename kDoubleClickTresh to kDoubleClickThreshold
and use floating point in rval
* Pointer (*) goes with type for property var
* Use {}'s for multi-line if conditional
* rename point to where (consistent with header and rest of IK)
* Explicitly compare with 0 for bitwise operator statements
* Rename InitiateDrag() params

c2ddcb79 07-Aug-2016 Adrien Destugues <pulkomandy@gmail.com>

elf.h: also define SELFMAG

- Used by distcc when it detects elf.h.

8efb6db7 06-Aug-2016 Adrien Destugues <pulkomandy@gmail.com>

elf.h: rename ELF_MAGIC to ELFMAG

- This is how it is named in other versions of elf.h (Linux, glibc, possibly more)
- ELF_MAGIC is used by libelf for the same thing, and the defines conflicts,
breaking libelf build on Haiku.

9d37e741 31-Jul-2016 John Scipione <jscipione@gmail.com>

Tracker FindPanel: Make a copy of fDeviceIcon

... so that it gets deleted by destructor and not the original

d8c4f7b5 31-Jul-2016 John Scipione <jscipione@gmail.com>

IconMenuItem: Make icon_size B_MINI_ICON by default

caf0a129 11-Apr-2016 John Scipione <jscipione@gmail.com>

Tracker: Draw IconMenuItem in closed state

Add an Icon() and SetIcon() method. Override SetMarked() to set the
parent menu field icon.

Don't move the label right if icon is NULL. Make the first menu item
an IconMenuItem with a NULL icon. This allows the icon to draw in the
closed menu state.

icon gets updated even if you select an item in a submenu

81364c9d 18-Apr-2016 John Scipione <jscipione@gmail.com>

BColorMenuItem: add custom color menufield


* Make the color box a rectangle with proportions of golden ratio.
* Override GetContentSize() to make menu item area larger.
* Label should never truncate since I make sure there is enough room.
* Draw the label using BMenuItem parent class
* Carefully adjust the spacing so that there is an attractive amount of
padding between the checkmark and color box and the color box and label.

Add _AddMenu method to BMenuField that adds BColorMenuItem as its
base menu item. This shows the BColorMenuItem in the closed state.

Create BPrivate::MenuItemPrivate

Add a SetSubmenu() method to MenuItemPrivate that gives you
the ability to add a submenu after creating the object. This
method should be public

Skip disabled items

Color gets updated even if you select an item in a submenu

e8d4db8e 19-Apr-2016 John Scipione <jscipione@gmail.com>

MenuPrivate: Add SetItemMargins() method

dcecaf60 19-Apr-2016 John Scipione <jscipione@gmail.com>

BMenu: Remove _ from protected method _DrawItems

61dfdec4 19-Apr-2016 John Scipione <jscipione@gmail.com>

BMenu and friends: style fixes

BMenuBar: style fix: msg => message

MenuPrivate: style fixes

MenuItem: 80 char limit style fix

MenuBar: tiny style fix

Menu: tiny style fix, indentation

Menu: Small refactor

Implement _SetIgnoreHidden() in header
Change on to ignoreHidden
Change on in _SetStickyMode to sticky

_BMCItem_: tiny whitespace style fix

Menu: style fixes, rename msgr => messenger

BMenu: style fix, pointer != NULL

BMenu::Archive rename ret to status

Also check pointer against NULL explicitly

BMenuItem style fixes: rename abbreviation, pointer style

9c9c24ce 31-Jul-2016 Rene Gollent <rene@gollent.com>

libdebugger: Add accessor for cpu state size.

- Store and provide accessor for the size in bytes of the low-level
debug_cpu_state size of the respective target CPU. Adjust subclasses
to pass in the appropriate size information.

95b6439e 29-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Implement Snb PCH FDI link training

48440e69 29-Jul-2016 Augustin Cavalier <waddlesplash@gmail.com>

headers/libs/mesa: Remove.

Unused, as far as I can tell, and not installed. (Grok returns 0 results
for "glcore.h" and 0 relevant results for "mesa".)

2381f827 29-Jul-2016 Augustin Cavalier <waddlesplash@gmail.com>

be_apps/ServicesDaemon: Remove.

The last reference to the Services Daemon, which was removed from the
tree a while back (the launch_daemon has supplanted it).

a3e794ae 29-Jul-2016 Augustin Cavalier <waddlesplash@gmail.com>

be_apps/Deskbar: Remove.

The only file in here was Deskbar.h, which just included the "real"
Deskbar.h. Considering nothing in-tree cares about this, and only
a small number of applications at HaikuArchives do, and that Haiku already
broke BeOS source compatibility in lots of other ways, let's just remove
this deprecated cruft.

c0d4def4 29-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Implement Ilk PCH FDI link training

* IronLake tested and FDI says it trains successfully
* Still no LVDS video on Ilk

02283e08 20-Jul-2016 François Revol <revol@free.fr>

M68K: drop the custom C arch_cpu_user_mem*() for the default impl

I didn't notice there was a C++ version that didn't require writing asm.

I'll have to write them anyway for speed someday.

d26fd5f6 20-Jul-2016 François Revol <revol@free.fr>

M68K: drop the platform_type field, the enum is gone from OS.h

990d34ef 20-Jul-2016 François Revol <revol@free.fr>

M68K: add arch_cpu_idle and arch_cpu_pause inline stubs

Remove the stub from arch_cpu.cpp

We might want to implement a 040 CPU module providing idle using LPSTOP.

7ab9993a 20-Jul-2016 François Revol <revol@free.fr>

M68K: Add missing defines

No idea for cache level.

On 030 and 040 a cache line is 16 bytes.

3805f722 20-Jul-2016 François Revol <revol@free.fr>

M68K: add arch_atomic.h

47a20cd6 20-Jul-2016 François Revol <revol@free.fr>

M68K: turn #warnings into comments in public headers

The warnings made those headers and those including them not detectable
by libiberty's configure because of the way it checked for them.

This fixes the gcc build.

f6c32ce3 19-Jul-2016 Alexander von Gluck IV <alex.vongluck@r1soft.com>

intel_extreme: Set FDI PLL RX lane count when enabling

a933bb4c 17-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: IronLake reference clock activation

92e254d0 10-Jul-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Improve PCH detection

* Detect PCH model based on ISA bridge and save
into shared info for later use.
* On CougarPoint PCH systems, assign pipes via
special CPT registers
* Drop HasPlatformControlHub as PCH should be
based on more than just generation.

07d59ab7 01-Jul-2016 Murai Takashi <tmurai01@gmail.com>

PictureIterator.h: fix header guard spelling

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes: #12839

0474db50 09-Jul-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Add IsRunning method

* The backend need to know if we can really get data.
* Adapt WaitForData to be more reliable using this method.

5c05bb48 08-Jul-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Remove default arguments in ctor

05fc1277 03-Jul-2016 Rene Gollent <rene@gollent.com>

Debugger: Fix team restart request.

- Add Clone() function to set of required virtuals. This asks the subclass
to create a new instance of its respective type.

- Implement the above function.

- Add accessor for the currently active UI.

- Set correct request type when setting up the options for a team restart.
- Ask the TeamDebugger for its user interface and clone it in order to fill
in that aspect of the debug options. This fixes a regression introduced in
commit 880a64, which inadvertently resulted in team restarts no longer

9f2deec2 03-Jul-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Seeking and flags access improvements

* Backend seeking is done only if explictly requested in
BAdapterIO Seek.

3ad928de 02-Jul-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BAdapterIO: Refine size inheritance

* Wait evaluation is done considering both position
and buffer size.
* Set back position to 0 after seeking.
* Simplify EvaluatePosition to take advantage of inheritance.
* Use back position to determine the current size of the buffer.
* Add more debug tracing.
* Other minor fixes.

30d631c8 30-Jun-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add new Polaris GPU, untested

345dba54 30-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Further development of the interface

* Implement Open/Close mechanism.
* Implement SetBuffer.
* Implement timeout handling.
* Improve Seek mechanism, this is now working by locking the
thread until the backend call SeekCompleted.

4dd09daf 24-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Streaming: Use const reference in place of copying

* Thanks to Markus for reporting.

0ba82236 24-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Streaming: Remove any pointer BUrl argument

* There's no need to pass BUrl by pointer, this is
potentially dangerous and leaky without any advantage,
copying is definitely safer.

6903cf9b 22-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

AdapterIO: Increase consistency

* Moved data locking in the internal buffer class, includes handling
of backend writes.
* Takes advantage of inheritance for getting the size. The choice is
made depending on the flags. This allow the implementer to easily
return a custom size by reimplementing GetSize. At the same time
a plain BAdapterIO can still have it's total size set, but the behavior
will change depending it's mutable or not.
* Some decisions are now made by considering everything in absolute
* Other minor fixes.

e1c98cea 22-May-2016 Mark Hellegers <mark@firedisk.net>

Add support for TLS SNI

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

73e180c9 18-Jun-2016 Augustin Cavalier <waddlesplash@gmail.com>

Revert "cppunit: Enable elf symbol patching for Haiku."

This reverts commit 56430ad8002b8fd1ac69b590e9cc130de6d9e852.

It builds on my machine, but apparently the buildbots choke on it...

fa2dd9c4 09-Apr-2016 Andrew Lindesay <apl@lindesay.co.nz>

BPackageInfo::Parser: Validate URL strings.

Fixes #12710.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.

56430ad8 28-May-2016 Mark Hellegers <mark@firedisk.net>

cppunit: Enable elf symbol patching for Haiku.

Fixes #12799.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

ac315db0 29-May-2016 Mark Hellegers <mark@firedisk.net>

locale: Fix 24 hour format for DateTimeFormats.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #12575. I checked with PulkoMandy on IRC before merging this,
and fixed some whitespace violations of the coding style.

3faf39eb 07-Jun-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BAdapterIO: Add initial seeking support

* This is by default provided using a relative buffer. When the
client request a seek over the range we currently have, we will
ask the backend with a SeekRequested. When the backend operation
ended successfully, the client is required to call SeekCompleted
before to return. This will cause the offset to change and the
buffer is cleaned as result. Next data received will be considered
to be at a position equal to the offset plus the relative position.

2dc495dc 05-Jun-2016 Jérôme Duval <jerome.duval@gmail.com>

bluetooth: remove DEBUG definition.

fce4895d 29-May-2016 Rene Gollent <rene@gollent.com>

Debugger: Split into core library and application.

- Add subfolder src/kits/debugger which contains the debugger's core
functionality and lower layers. Correspondingly add headers/private/debugger
for shared headers to be used by clients such as the Debugger application
and eventual remote_debug_server. Adjust various files to account for
differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.

b660d95f 30-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce BAdapterIO

* This class is provided as a safe multithreaded communication channel
between a BMediaIO-like interface and a Read/Write backend.
* Includes internal buffering and can be used to provide multithreaded
edit of the data.
* Current limitations include missing BOutputAdapter and
correct timeout handling.
* Future plans provide a BRemoteAdapterIO that using ports
and areas allow to easily send big data between processes.

9217f5c5 30-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaIO: Add GetFlags method to define properties

c60453fd 22-May-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

Core dump: Add symbols for commpage to core file

90f57186 22-May-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

kernel: Add elf_read_kernel_image_symbols()

Refactor new function out of _user_read_kernel_image_symbols(). Can be
used to get a kernel image's symbols from within the kernel as well.

25835173 16-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaIO: Fix header typo

b8a71696 14-May-2016 Rene Gollent <rene@gollent.com>

BSocketMessenger: Further improvements.

- Messages that expect a reply are now tagged with a unique ID field to
indicate that expectation to the receiving socket messenger.
- The messenger now maintains a map of received reply IDs and their
corresponding messages, along with a message queue of other unsolicited
- After successfully connecting, the messenger now spawns a thread
whose sole responsibility is receiving and parsing all incoming messages,
and consequently sorting them into the aforementioned data structures based
on the presence of the reply ID. Callers who are awaiting either replies or
other messages are signalled appropriately via a semaphore. This allows
multiplexing of both types of messages on the same socket.

f0a5e33a 13-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

HttpAuthentication: Add explicit copy & assignment constructors.

So that we don't copy the BLocker. Fixes part of the build.

69b8f7f1 13-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

BLocker: Make copy constructor & assignment operator private.

On suggestion of Axel.

8fe50548 08-May-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Extend DDI port probing to A-E

* The Linux code made this a bit hard to figure out via
complex define functions, however there can be up to
5 DDI ports (A-E)

5559d51d 07-May-2016 Augustin Cavalier <waddlesplash@gmail.com>

bluetooth_server: Nuke the weird logging system, just use macros...

... just like everything else on Haiku does. Permanently enabled for the
time being. At least I can tell what's going on now.

6d63bc5e 07-May-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

launch_media_server: Use BLaunchRoster::Start

* Remove SyncToServices and the related code from BMediaRoster.

c9dba742 05-May-2016 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 7.

493cced1 30-Apr-2016 Rene Gollent <rene@gollent.com>

libbnetapi: Add socket messenger class.

- Introduces new network API class BSocketMessenger, allowing one to send
and receive BMessages across a network socket in a BMessenger-like
fashion. Still very much WIP, hence currently not exposed via public headers.
Based partly on previous work by Axel.

3490eda8 29-Apr-2016 John Scipione <jscipione@gmail.com>

ControlLook: Rename border param to borderStyle

border vs. borders is confusing.

BTabView: Rename border param to borderStyle

BTabView docs: rename border param to borderStyle

enumerate border styles in docs

a0c364c7 29-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

Core file images note: Add text delta field

9266cd66 29-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

extended_image_info: Add text_delta field

Needed to offset a symbol address read from the symbol table to the
actual load address.

c9dd7d0d 27-Apr-2016 Rene Gollent <rene@gollent.com>

libbnetapi: Extend socket classes.

- Add functionality to listen for and accept new connections, thus allowing
one to use the socket classes for server functionality as well.

- Adjust to take into account differences between how SSL needs to be called
when accepting an incoming connection vs initiating an outbound one.
The handshake on the accepted connection stills fails for unknown reasons
at the moment though.

Note that these changes break the ABI, and thus any packages making use of
them directly will need a rebuild.

22097d7a 26-Apr-2016 John Scipione <jscipione@gmail.com>

Style fixes to BPeropertyInfo class

4c25397c 27-Apr-2016 John Scipione <jscipione@gmail.com>

AppMisc: correct param name in docs, silences warning

5cde7a85 26-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

Add symbol and string table addresses to core file

8c6cb8af 26-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

runtime loader: Register extended image info with kernel

Add structure extended_image_info which extends image_info by the
fields symbol_table, symbol_hash, string_table.

82185a52 26-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

Future proofing core file format

* The Haiku specific notes contain a structure size field, now.
* Change the type of the count and size fields in the Haiku specific
notes to uint32 also for 64 bit ELF. The size field for a note is a
uint32 anyway.

467fe4ca 24-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

kernel: Add core dump facility

* Add function core_dump_write_core_file(). It writes a core file for
the current thread's team. The file format is similar to that of
other OSs (i.e. ELF with PT_LOAD segments and a PT_NOTE segment), but
most of the notes are Haiku specific (infos for team, areas, images,
threads). More data will probably need to be added.
* Add team flag TEAM_FLAG_DUMP_CORE, thread flag
THREAD_FLAGS_TRAP_FOR_CORE_DUMP, and Team property coreDumpCondition,
a condition variable available while a core dump is progress. A
thread that finds its flag THREAD_FLAGS_TRAP_FOR_CORE_DUMP set before
exiting the kernel to userland calls core_dump_trap_thread(), which
blocks on the condition variable until the core dump has finished. We
need the team's threads to stop so we can get their CPU state (and
have a generally unchanging team state while writing the core file).
* Add user debugger message B_DEBUG_WRITE_CORE_FILE. It causes
core_dump_write_core_file() to be called for the team.
* Dumping core as an immediate effect of a terminal signal has not been
implemented yet, but that should be fairly straight forward.

ac1f1a92 24-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

kernel: +image_iterate_through_team_images()

Like image_iterate_through_images(), but iterates though the images of
the given team only.

99f00556 20-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

kernel: +arch_get_thread_debug_cpu_state()

Similar to arch_get_debug_cpu_state(), but the thread whose CPU state
to retrieve is specified. Works only for threads that aren't running,
and on x86-64 we can get the FPU state only when the thread was
interrupted in userland.
Not implemented for the incomplete architecture ports.

7a187cd6 09-Apr-2016 Ingo Weinhold <ingo_weinhold@gmx.de>

_user_debug_thread(): Use new signal SIGNAL_DEBUG_THREAD

This resolves a TODO: We used thread_interrupt() to wake up the thread
from an interruptable wait. However, if the thread was already in the
kernel and about to start waiting, that would have no effect and the
thread would wait anyway. Now there's the new non-blockable signal
SIGNAL_DEBUG_THREAD, which is sent to the thread instead, making sure
that thread doesn't start waiting.

8d1cb54a 22-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add in some code for the lakes (unused)

e54df517 22-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

x86/kernel: Up kernel max page table to 16

* New Intel SkyLake seems to have 9 mapped ranges
at boot. It seems like this define has been creeping
up for a while.
* Resolves the inital issue reported in #11377 on SkyLake
as well. Bonefish mentioned it might need to be raised
again... he had some good foresight there :-)
* I'm seeing the same no bootable partitions issue though
via USB after this raise. (maybe a USB 3.1 thing?)

76889670 21-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

shutdown_media_server: Finalize rework of synchronization

* When the user isn't requesting a custom notification, it will
be a BMediaRoster job to do it.
* Reintroduce BMediaRoster::SyncToServices, this time based on local
message passing rather than a global semaphore.
* SyncToServices is used in launch_media_server to make the process
more launch_daemon safe and faster in the average case.
* It was an error to add notifications in the media_server.
* Fixes #12717.

e9208b68 13-Apr-2016 John Scipione <jscipione@gmail.com>

ScreenSaver: Rename BuildScreenSaverDefaultSettingsView

...to just DefaultSettingsView

It is just as obvious what it does in context, but shorter.

Rename the function it contains from
BuildDefaultScreenSaverSettingsView to

3801c37b 13-Apr-2016 John Scipione <jscipione@gmail.com>

Screensaver: Update Default Settings View to use Layout

and standard insets so that they match other screen savers

c58e1d7f 09-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

l2cap: Fix x86_64 build and refactor trace

1f2fa6cd 09-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

bluetooth: Refactor debugging and trace calls

* The old debug system was too complex and made
troubleshooring difficult. (it also was unique
like a snowflake... which we don't want)
* Move to the classic TRACE / ERROR a large majority
of the code has changed to.
* I like trace statements, but drop some obvious ones
* Fix style issues along the way

03b9db1a 09-Apr-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

Merge branch 'intel-extreme'

Rework of the intel-extreme driver. Don't expect anything special yet.

11c7bd86 04-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Replace synchronization semaphore with async messages

* Remove SyncToServices, I will probably readd it in future
but this time using a local synchronization service more than
relying on the media_server to release the semaphore.
* Due to some discussions today in mailing list I decided
to step back and retry the initial way to notify media rosters
about media services status. It is woking by using two different
notifications for reconnecting to the media_server and notifying
the local subscribers.
* This speed up the media services restart.
* Sorry for the noise and very thanks for reviewing my code to

c131229f 03-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Add notifications

53c3fa51 02-Apr-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Introduce functionality for syncing with the media services

* The global synchro semaphore is provided with the purpose of
being used to avoid threads lock up when the media_server is in
an undefined state. There's still room for improvements.
* BMediaRoster::SyncToServices lock up on a semaphore until
the multi_audio correctly connected to the mixer.

c4ec640b 31-Mar-2016 John Scipione <jscipione@gmail.com>

WindowInfo: spaces => tabs

7eaa054b 31-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

StreamerPlugin: Use BDataIO as base interface

* There's no need to force the streamer plugin to use a
BMediaIO. This class is supplied to accomodate more smart uses,
but in certain cases it makes just things more complex. If a
plugin doesn't need to have an internal caching method, then it
will be simpler to implement a block-consuming BDataIO and let
the internal BMediaIOWrapper to deal with caching.

67988f50 21-Mar-2016 Axel Dörfler <axeld@pinc-software.de>

NodeMonitor: Resolve mount points for B_WATCH_CHILDREN.

* When a watched directory contains a mount point, we need to resolve
the actual parent directory of the mount point in the file system to
serve the monitor.

6f7fc220 07-Mar-2016 Axel Dörfler <axeld@pinc-software.de>

NodeMonitor: Added B_WATCH_CHILDREN flag.

* Added a directory argument for notify_{stat/attribute}_changed().
* This allows to watch only a directory, and get the notifications for
all of its files, not just add/remove entry notifications.

97dfeb96 27-Mar-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make some headers C89 safe again

- Allows to use FindDirectory.h in C89 sourcecode (no C++ style comments

8c767985 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Move MediaIO in it's own header

3733e4b2 11-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

PluginManager/AddOnManager: Add streamers support code

b7776028 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaFile: Rework to support BUrl sources

20ae088f 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaWriter: Add new BUrl functionality

a2b3f126 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

MediaExtractor: Adapt to new BUrl functionality

63e1708e 25-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Finalize StreamerPlugin

* Add cpp file.
* Make Sniff virtual.

3d8e0d38 10-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Add initial design of StreamerPlugin

7b79e069 06-Mar-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

Add prototype BMediaIO interface

8be1a5f0 22-Mar-2016 John Scipione <jscipione@gmail.com>

Slider: Style fixes

Pointer style
Compare against NULL or 0 explicitly
use single floating point precision for float literals (i.e. use 0.0f)

ca95e9da 15-Mar-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add initial work for DDI ports

31023893 15-Mar-2016 Julian Harnath <julian.harnath@rwth-aachen.de>

Network Kit: add BNetworkDevice::Control

* Allows to do an arbitrary ioctl on the network device

* For ifreq and ieee80211req requests

53f75ce5 12-Mar-2016 John Scipione <jscipione@gmail.com>

BColorControl: Remove fOffscreenView pointer

...and rename fBitmap to fOffscreenBitmap to make it more clear what it is.

We don't need to save a pointer to both the offscreen bitmap and
the offscreen view, just the bitmap. We can access the view by calling
fOffscreenBitmap->ChildAt((int32)0). This gives us back a _reserved private
variable slot.

In the (unlikely) case that _InitData() is called with offscreen = false but
the fOffscreenBitmap is not NULL, delete fOffscreenBitmap before
setting it to NULL so that memory is not leaked.

3d1bd895 11-Mar-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Properly use VBIOS panel mode

* Move current_mode into the accelerant as the
driver doesn't care.
* Record panel_mode in driver and present to accelerant
* eDP, if no EDID and mobile, leave edid incomplete.
Mode set should notice that and fall back to panel_mode

a81f65ea 09-Mar-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

Merge branch 'master' into intel-extreme

80bc632a 07-Mar-2016 Augustin Cavalier <waddlesplash@gmail.com>

BStatusBar: Restore the old blue-ish color from before the Set*Color changes.

93ea83e5 27-Feb-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Allow custom baud rates for FTDI serial ports

- Termios: cf{get,set}{i,o}speed can handle arbitrary speed values.
- The value is stored in the appropriate fields of the termios structure
in this case. The old constants (stored in the flags) are preserved
for BeOS binary compatibility.
- Adjust the FTDI FT232* driver to accept custom rates, by replacing the
hardcoded regster values with a function that will compute it
according to FTDI documentation (confirmed giving the same values for
the existing baudrates).

14cfccd0 12-Jun-2015 François Revol <revol@free.fr>

U-Boot: add a 'physical' arg to fdt_get_device_reg()

If false, try to use the virtual-reg property first.

721ba9af 23-Feb-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Clean up DisplayPort Port class

* DisplayPort != DigitalPort
* i2c needs wrapped in DP AUX transaction code
* Mode-setting comes with DP link training as well
* We need to try and share DP code with radeon_hd

99756206 23-Feb-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Prepare for DisplayPort AUX comms

f369957d 19-Feb-2016 Jérôme Duval <jerome.duval@gmail.com>

via.accelerant: move enums out of the struct.

bab64f65 19-Feb-2016 Alexander von Gluck IV <Alex.vonGluck@r1soft.com>

Merge remote-tracking branch 'upstream/master' into intel-extreme

c9c61669 18-Feb-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add general pipe configuration and adjust color space

a5a3b2d9 14-Feb-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Bluetooth: fix thread safety issue.

Fixes #11428.

c1ad6121 09-Feb-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRecorder: Solve possible problem with node references

* Since the BMediaRecorder have an it's own estabilished policy
relating releasing the producer node we will not interfere with
it except when we are controlled from Cortex.

cc0d365e 09-Feb-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRecorder: Fix unneeded argument and error check

2a2e352a 09-Feb-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRecorder: Rework to allow external connections

* This required to review various parts of the code, and
isn't probably still perfect. The main problem was an attributes
hell where redondance created a lot of problems, all this data
is now controlled mostly by the node.
* Header indentation changes needed too.

138a8026 02-Feb-2016 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaEventLooper: Use enqueue_time in a different shape

* This is the only solution that allowed to use the best
of both ways to do this calculus. I've also tested it
with a modified sound player that snoozed every time
the buffer should be handled, and found that neither
of the lateness calculus I tested (including enqueue_time)
really solve all problems. That's why I've tried to find
an average solution. There's still room for improvements

de4b1ded 20-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

BMailProtocol: Removed delete/append methods.

* The mail system is file based which makes these methods pretty much

0fa7d5c4 23-Jan-2016 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

VIA gfx driver: overlay engine on K8M800 responds now, wip.

618cc43b 14-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: New folders will now adopt default mail attributes.

* Added a function CopyMailFolderAttributes() that copies the attribute
layout from the text/x-email default query folder.
* This using the new CopyAttributes() method in libshared that is pretty
much a copy of a similar method from copyattr. However, I did not
replace the latter, as that one allows for more fine grained error
reporting (and attribute filtering).
* Closes ticket #3498.

14de50ba 12-Jan-2016 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

VIA gfx driver:K8M800 now works (fixed PLL), fixed info in GetDeviceInfo

90fd6af0 12-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added ability to enable/disable a job.

* Instead of just starting/stopping it.
* Also available via the launch_roster command.

f9f16ddb 09-Jan-2016 looncraz <looncraz@looncraz.net>

BAbstractSpinner Colors

Adopted parent colors for the text view - should not have done so.
Disabled colors were incorrect, so I also corrected those in this patch.

Fixes #12574.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

1d114757 06-Jan-2016 Augustin Cavalier <waddlesplash@gmail.com>

BAboutWindow: Put the AboutView and StripeView into BPrivate.

To avoid name clashes. Possibly fixes the HaikuDepot crashes.

b0c69e84 05-Jan-2016 Rudolf Cornelissen <rudolf.cornelissen@gmail.com>

nVidia driver: added option to block EDID resolution restrictions (check_edid)

81805393 04-Jan-2016 Axel Dörfler <axeld@pinc-software.de>

IMAP: setting flags, and body fetching works now.

* The direct methods in BMailProtocol now forward the request to the
looper; it's no longer the mail_daemon's responsibility to know
anything about that protocol.
* It's in desperate need of refactoring, but it doesn't hurt to add
it to the repository as is.

06343681 04-Jan-2016 RudolfC <rudolf.cornelissen@gmail.com>

nVidia driver: Added basic dualhead support for native Haiku ScreenPrefs app

7f9368ca 09-Dec-2015 looncraz <looncraz@looncraz.net>

Set*UIColor, etc.

The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

SetViewUIColor(color_which, float tint)
ViewUIColor(float* tint)

BWindow gains a simple helper method:

BMessage gains:

HasColor() * allegedly this API is deprecated, but I implemented it anyway

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

d35a52e8 03-Jan-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix i965 LVDS panel programming

* polarity regs move on LVDS vs analog
* add knowledge or transcoder registers, they
exist seperately on PCH-split
* Native resolutions now work on LVDS under i965

52c07497 26-Dec-2015 Markus Himmel <markus@himmel-villmar.de>

BLayoutBuilder: Add support for BCardLayout

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

5f2db70f 26-Dec-2015 Markus Himmel <markus@himmel-villmar.de>

Interface Kit: Add BCardView

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

c302a243 23-Dec-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

Merge remote-tracking branch 'upstream/master' into intel-extreme

6984b855 20-Dec-2015 Augustin Cavalier <waddlesplash@gmail.com>

Revert "libroot: Undefine constants for unsupported POSIX features"

This reverts commit 7aebec8db1a6f231a2a93ec82872afadb8ed3879.
As per the discussion on the mailing list.

7aebec8d 21-Dec-2015 Simon South <simon@simonsouth.com>

libroot: Undefine constants for unsupported POSIX features

Haiku does not yet support certain features related to POSIX threads.
Constants used to test for the presence of these features should
therefore be left undefined, according to the POSIX spec, but are
currently set to -1. This can cause software built on Haiku to
incorrectly detect the presence of these features.

* unistd.h: Undefine _POSIX_THREAD_ATTR_STACKADDR,
* conf.cpp: __sysconf: Return -1 for unsupported features.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

485f5339 15-Dec-2015 Augustin Cavalier <waddlesplash@gmail.com>

RWLocker: Move to kits/shared.

As requested by looncraz. A lot of stuff in IOM/MediaPlayer's
'support' directories probably should be moved to 'shared' anyway.

0ea662e5 15-Dec-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Correct panel control register on non-pch

3cfe2997 04-Dec-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rework PLL and id PineView as PIN

e6fefa6c 19-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: More FDI training work

* IvyBridge or higher can auto-train.
* Linux doesn't use this feature, however
manual FDI link training is *really*
complex... lets try auto-training first.

aa06863c 19-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Enable / Disable FDI TX/RX

00e0982f 17-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: First work at programming FDI

e5494f1b 16-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix DP / HDMI gpu register location mixup on die

202ffc8c 16-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Bump the VLV offset back a bit and fix port defines

f979e62e 12-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Program more LVDS regs. Set +/- @ lvds port

92bcdd79 09-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add initial TMDS modesetting code

d442692f 09-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Correct DP port registers

61fbdb06 08-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Set mode and pll via pipe-aware class functions

37b903fb 08-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add pipe selection for ports

b809fb52 04-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add some missing panel registers, masks, shifts

9cd46c73 04-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix PCH_PANEL STS/CTL register location and define more

fb255821 04-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Correct generations based on some Intel help

fa1d5933 03-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_gart: Clean up trace code, break apart gtt probe functions

47fba246 02-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix IsMobile. That's not how masks work

c86f3dba 02-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: LVDS cleanup and fixes for later gens

e2e5daf2 02-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add generation index + begin to use in gart

53f5bffe 01-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_gart: Fix gart detection and begin using DeviceType

* Correctly identify newly re-assigned cards families
* Begin using new DeviceType class in intel gart code

84b7116d 01-Nov-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rework card identification defines

* Be more verbose on flag type
* Add additional groups
* Add additional families
* Correctly assign later models

57b86ef3 30-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Clean up PLL reg defines

163e66f7 27-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Add pipe base register

b3f14fb7 25-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Start doing mode-setting at port level

* I really hope we can kill head_mode some day
* Break pll code out from mode code
* The LVDS and Digital are smooshed together and
likely need broken apart.

e747cbe1 23-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Fix regs, remove PCH for VLV, Expand Type

* Fix some incorrect HDMI reg locations
* PCH goes away on later Intel chips
* Add more mask room for Intel Groups

bc5cad73 18-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Correct card identification, add gen4 hdmi regs

50f0b3fe 17-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Rebase and refactor mmlr's work from 2013

* New port storage classes and cleaner logic

c80084b0 18-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

JobQueue: fixed incorrect requeuing.

* A dependent job was requeued even if it wasn't part of the queue
before. The code relied on dependent jobs being already enqueued;
but that cannot be guaranteed.
* If a job failed, its dependent jobs are now also set to failed, so
that they won't be requeued at a later point.
* This caused some of the "Launching xxx failed: Operation not allowed"
messages in the boot process. Those actually weren't harmless, and
could mess up the natural job order.

7cd19b7e 17-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Implemented sticky events, and registration.

* Sticky events are events that keep their signal raised, ie. even if
a job is initialized afterwards, it will still be triggered.
* Consolidated naming for external events.
* Events are now registered once they are actually being used. This
allows them to allocate the resources they need to do their thing.

5ab2b145 17-Oct-2015 Axel Dörfler <axeld@pinc-software.de>

BJob: Added SetState() method.

97aa078e 15-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

intel_extreme: Intial work for ValleyView support

* No impact to non-ValleyView chipsets
* Bump some register locations for VLV
* Only have HDMI port to test with on my ValleyView GPU
and our driver seems to be missing all HDMI and
sideband functionality.
* As ValleyView chipsets seem to be UEFI only, we don't
have VESA fallback, so this shouldn't cause regressions.
(unless we get UEFI framebuffer support)

a1ed294f 05-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

AHCI: Rework port reset and control

* Move to more standardized functions matching AHCI spec
* Don't perform unnecessary double port resets
* Begin implementing a software reset to try first per spec.
Software reset needs more work, falls through to port reset
for the moment which is stable.
* Don't duplicate ATA defines, use what we already provide.
* Tested working on VirtualBox 1-16 AHCI ports, Intel C200,
and AMD FCH.

93244a65 14-Sep-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

BScrollView: _ComputeFrame(BRect,...) used incorrect insets.

Previously, the BRect would be expanded by the call to
InsetBy(), but the replacement _InsetBorders() forgot to
take this into account.

Fixes #12380.

8e96ec34 14-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BWindow::MoveOnScreen() now has a flags field.

* You can now specify whether or not you want to resize the window,
and move it on screen, or center it.
* Removed PulseWindow::MoveOnScreen() method.

6adf7a0c 11-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

VFS: prevent FD inheritance for the kernel completely.

* Each io_context now has a "inherit_fds" member that decides whether
or not this context allows to inherit FDs to its children.
* This replaces the former O_CLOEXEC mechanism.

14cc5b4c 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BMenuBar::SetBorders() added.

* This allows you to only draw some of the borders.

fd79684a 09-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BScrollView::SetBorders() added to disable borders.

* You can specify which borders will be drawn using the
BControlLook::B_TOP_BORDER, ... constants.
* Adapted Mail to no longer need the SetInsets() hack.

f7c2983e 08-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

HaikuDepot: change window frame setting.

* Moved entirely into MainWindow.
* Moved duplicated code into separate methods.
* Resize the main window on larger screens by default, as we can make
use of the extra space.
* Use BWindow::MoveOnScreen() instead of make_sure_frame_is_on_screen()
as the former has more info. And is even smarter now as it can
optionally resize windows to fit on screen.
* Center window on screen by default (ie. when there are no settings).

ce27f961 05-Sep-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Implement ClipToPicture inside a BPicture. Not working yet.
BView::ClipToPicture doesn't work anymore, when nested inside a BPicture,
This happened when its implementation was moved server-side.

d64c7086 05-Sep-2015 Michael Lotz <mmlr@mlotz.ch>

Various whitespace cleanup only.

eec73693 05-Sep-2015 Michael Lotz <mmlr@mlotz.ch>

PicturePlayer: Rework to be more safe against corrupted data.

This introduces a more sane API (currently private) that allows for
safer and possibly more efficient implementations:

* It uses a struct of named and typed function pointers instead of just
a void pointer array. This adds type safety to the callbacks so the
compiler can figure out if things match up before subtle bugs get
* It provides bounds for all strings/buffers passed to the callbacks.
* It uses const references instead of implicitly copying arguments.
* It folds stroke_x/fill_x pairs into draw_x functions with a fill
argument to reduce the amount of functions needed.
* It uses unsigned values where negative values make no sense.

The old API has been implemented on top of the new one using adapter
functions. It makes copies of all data passed to the callbacks which
effectively keeps the picture data from being modified. This matches
with the R5 behaviour.

This also reimplements the buffer parsing to be safe against corrupted
data by validating that the types actually fit in the provided sizes
and buffers (using a templated reader).

Since this class is used from the app_server with user provided data,
making it more safe is important even though it comes with a slight
overhead (replicating R5 behaviour, i.e. crashing the app_server when
corrupted data is fed, doesn't seem very appropriate here).

6b871266 02-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

BToolBar: made FindButton() public.

7bdee8be 31-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

BEmailMessage: added missing const, Date() returns time_t.

* Added missing const to some getter methods.
* Date() now tries to parse the date of the mail, and return it as
a time_t; you can still retrieve the actual string via
HeaderField("Date") if you have to.
* Mail now shows the time in the local time zone, and with the
current locale.

66078c79 31-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

BMailComponent: made a few methods const.

19d8cb70 31-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

BDate: added time_t constructor.

* This class is pretty much useless as it is.

e047b40a 25-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

Interface Kit: use different spacing constants.

* While this breaks binary compatibility with earlier Haiku releases,
use values that are less likely to clash with actual use cases.
* Specifically, using a negative spacing is one way to get rid of the
border of BScrollViews, to put them into a window neatly.
* Also, BControlLook now uses a switch to resolve them.

ebf4cbe6 03-Sep-2015 Axel Dörfler <axeld@pinc-software.de>

Incredibly smart BWindow::MoveOnScreen() method added.

* Makes sure that the window is as complete as possible on screen.

7d337b23 01-Sep-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRoster: Reintroduce the undertaker class

* This has been necessary due to the undefined call order of
of static objects. Fixes #12315.
* The bug has been caused by the linker which free unused resources,
making the BMediaRoster to run in a zombie state. In this state
anything such as a message could make the looper to crash.
* The class is reintroduced with some differences though, we are
going to protect it from another thread calling Roster() while the
BMediaRoster is quitting and implement BMediaRosterEx::Quit.
* Unregister registrar notifications before we quit our thread. Avoid
to uninitialize anything from QuitRequested as it may cause problems.

75d1eb3a 16-Aug-2015 Adrien Destugues <pulkomandy@gmail.com>

assert.h: reintroduce headers guard for function declarations.

The POSIX standard requires us to allow assert.h to be included multiple
times with differnt values of NDEBUG. So we can't have a global header
guard on the files. However, we must also make sure that we don't
declare functions multiple times in that case. Re-introduce an header
guard on the part of the file where we declare functions, only.

Fixes lots of warnings when building Netsurf.

5b9f6b54 28-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

BRoster: Add launchSuspended option to _LaunchApp().

It allows to launch the app, but keep its main thread suspended instead
of automatically resuming it.

Also add appThread argument which allows to retrieve the main thread of
the launched team.

d6039d2b 27-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi: Remove some duplicated code
Introduced new private read/write_midi_settings() and used them
in MidiSettingsView and SoftSynth.

c34e5f4d 24-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Small style change in midi headers.

a0ba79fb 11-Mar-2015 John Scipione <jscipione@gmail.com>

Split BSpinner into BAbstractSpinner and...

2 concrete classes which are currently implemented:
* BSpinner (works on int32s)
* BDecimalSpinner (works on doubles)

In addition BAbstractSpinner now inherits from BControl instead of
BView/BInvoker. This allowed for code simplification at the cost of needing to
cast for the decimal version because SetValue(int32 value) comes from BControl.

Also, add a spinner_button_style enum with 3 options:

which sets the spinner arrows to either use horizontal arrows (left/right)
vertical arrows, (up/down), or +/- symbols (the default).

If the spinner button is using horizontal arrows you can decrement and increment
the spinner value by pushing control+left/right, otherwise you can increment and
decrement by pushing up or down. The reason for needing control is so that you
can move the cursor in the textbox otherwise.

Switch the 3 apps that are currently using BSpinners to use the integer variety
in Deskbar preferences, WebPostive preferences, and Screen preferences.

d1229383 10-Mar-2015 John Scipione <jscipione@gmail.com>

Spinner: Generalize actions into methods

Add an Increment(), Decrement(), and SetValueFromText() method.

These can be overridden by derived classes.

a9385e8e 10-Mar-2015 John Scipione <jscipione@gmail.com>

Spinner: Move ValueChanged up

... along with the other hook methods

adba4ce9 10-Mar-2014 John Scipione <jscipione@gmail.com>

Add BSpinner class based on GCI2013 work

5d4501aa 20-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

Assorted whitespace cleanup and typo fixes.

efb0a3a8 17-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

EntryCache: Add entry_cache_add_missing() for negative caching.

It provides a way for filesystems to cache a lookup failure and
therefore prevents repeated lookups of missing entries. This is a
common scenario for example in command lookup and compiling, where
each directory in PATH or each include directory is searched for the
given entry.

f474606e 12-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

libroot_debug: Merge guarded heap into libroot_debug.

The individual debug heap implementations are now exposed via a
structure of function pointers and a common frontend dispatches the
malloc and malloc_debug APIs through them.

The MALLOC_DEBUG environment variable can be used to select the guarded
heap by adding 'g', otherwise the debug heap is used as the default.
Consequently the separate libroot_guarded is not needed anymore and has
been removed.

To allow the use of environment variables this early, init_env_post_heap
has been added and the heap dependent atfork() moved there. This allowed
to fold the code of init_heap_post_env into init_heap so the former has
been removed.

3749038b 07-Aug-2015 Adrien Destugues <pulkomandy@gmail.com>

MouseDownThread: let thread terminate cleanly.

* Killing the thread leaks resources, and it will terminate cleanly and
safely when the destructor exits anyway.
* Fixes #12293. Thanks to ttcoder, jackburton and bonefish for investigating!
* Does not fix #12286. Going to bissect now...

7771139c 02-Aug-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaEventLooper: Rewrite ControlLoop()

* The first problem was the O(n^2) complexity of the algorithm, it's
now linear and try to act in a circular way by dispatching
events and reading the port in a balanced way. This exclude
a certain degree of possible deadlocks.
* Add detection and escape when the system try to kill the
thread. This solve some blocking issues on exit et similia
that i had with libjackcompat.
* The algorithm choose soon which event to focus on.
* Lateness is calculated just before the event is dispatched
as it is the more appropriate place, otherwise we would be
calculating something imprecise/guessed.
* Remove timed_event_queue::queued_time. It's more precise to
just use the RealTime() before to Dispatch the event.
* It should solve the BSoundPlayer lateness problems.
* With those improvements the media_kit is not going to lock
completely under stress conditions, instead it try to work
in a best effort shape.
* There's still room for improvements, for example i'm considering some
strategies in lateness situations such as update scheduling latency,
try to decrease waiting time and detect when we are too early on
the other hand to recover when the load go down.
* Thanks to Julian Harnath for sharing his WIP patch which helped
with some controls such as avoiding negative lateness.
* Comments are welcome!

f9a8f3e7 05-Jul-2015 Michael Lotz <mmlr@mlotz.ch>

Clean up various whitespace and fix one header guard.

b4665f9a 30-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

HttpForm needs another friend class for GCC6.

7b0ff5c6 29-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

BAlert: use layout API, allow any number of buttons.

* Added default constructor; you can now alter the complete behavior
via setters, and also add buttons afterwards.

99b4affa 30-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

Added BWindow::ResizeToPreferred().

* B_AUTO_UPDATE_SIZE_LIMITS only really makes sense for resizable
windows, and it only sets the minimum/maximum window size.
* ResizeToPreferred() resizes the window to its preferred size, and
also supports height-for-width layouts.

8acd164f 29-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Add new version of launch_media_server

* Due to the needs to provide a peaceful UX, i moved out the
notifications mechanism from the Media preflet and i have
integrated it with the launch and shutdown functions of MediaDefs.h.
* This implied to introduce a new launch_media_server function
similar to the shutdown_media_server allowing to specify a custom
notification function too.
* Both functions then are reworked to send by default notifications
to the Deskbar, this was needed because in a lot of situations
the mechanism failed without correctly noticing the user.
* The one argument launch_media_server is considered to be deprecated,
the default argument is removed to mantain binary compatibility but
make new apps to automatically use the new one with just the default
arguments. This is needed due to conflicts in overloading.
* Improve notifications by indirectly extending localization
to old BeOS apps.

189156a0 26-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Boot stdio.h: define a bunch of functions required by c++ headers.

4fb4b320 25-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Force use of std::isnan() in agg_conv_curve.h.

cmath could be included before inclusion of this header, thus undefining isnan.

32afe10a 23-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>


* This is done by watching to registrar notifications
and providing a minimal service to contact the
media roster in private API. The roster use this
service to automatically reconnect to the media_server.

e57acc3a 23-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRoster: Fix initialization and destruction

* Improve consistency by adding a BMediaRosterEx destructor
and using it for the specular functionality of ctor instead
to use the father's class destructor.
* Avoid double initialization of MediaInitializer that
becomes MediaRosterUndertaker.
* Remove superfluos call to BMediaRoster::Quit()
in media_addon_server.

6cd18b57 23-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BMediaRosterEx: cleanup and fix style in the header

67483eda 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Add BMediaRoster::IsRunning

* This function is provided to check
if media services are running.

2090ed13 23-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: IconMenuItem: Don't "use namespace" in a shared header.

34671d60 23-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

Added execvpe().

* This closes #12114 again; while not POSIX, it's just a line away.
* Removed exect() from the header -- not sure where this came from.
but I can't find anything about it on the net.
* Consolidated use of asterisk style in exec.cpp.

58ee42e9 21-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolBar: Add a "text" parameter.

For defining the text that appears alongside the icon.

This function really has too many parameters; we probably should break
it out into a BAction class...

326e03f7 17-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

BLaunchRoster: removed be_launch_roster again.

* Not implemented, an unused -- no need for a global instance.

d94e9c97 16-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Added support for external events.

* Other apps can register events, and the launch_daemon can act on them
when they are triggered.

fb7dad2b 07-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: Added ability to pass env on launch.

* Added BRoster::Private::Launch() that adds an additional parameter
to pass a pointer to the environment of the launched app.

06e0f807 06-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

registrar: Fixed app_server detection.

* This also fixes the shutdown process, as the registrar no longer
kills the app_server.
* Removed SERVER_PORT_NAME definition as it has no use anymore.

4c67f79c 01-Jul-2015 Axel Dörfler <axeld@pinc-software.de>

FirstBootPrompt: launch installer/desktop targets directly.

* No need for shell scripting here.

79879070 26-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: We can now talk to the authentication manager.

* When creating the port of the registrar's authentication manager, we
now set it manually, so that the user/group functions work.
* This allows LaunchDaemon::_StartSession() to set up the user, and
groups as needed.

560119c9 25-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Don't verify passwords.

* Instead, the caller should have done this already. This is really
outside of the scope of the launch_daemon.
* Fixed Login with empty passwords; removed the (unused) test login
feature along the way.

c4b6278c 17-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: added "wildcard" support.

* You can now add arbitrarily named fields to the message as well,
without having them all specified in the template.
* Also added a missing converter method that is called when there
are no values to add, and implemented all methods in the base
class, so that you only have to implement the methods you actually

78e39852 17-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Use BRoster::Launch() without registrar.

* BRoster now allows settings a "no-registrar" mode that is currently
only honored in _LaunchApp(), though.
* Job::Launch() is now using this, which also allows launching
applications by signature (ie. if the job name matches the
signature, you can omit the "launch" option).

c086a183 15-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Improved target support.

* You can now put jobs/services into a target.
* Instead of having Login started as part of the normal boot process,
it's now in the "login" target.
* The app_server now launches the login target when a login becomes
available (ie. during startup, but that could be improved later on).

ac0a462f 10-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: Basic user session implementation.

* Instead of launching Tracker/Deskbar directly, we now launch the
Login application.
* This will now start a new session for the selected user (the password
is currently ignored).
* When a user session is started, the launch_daemon forks, and the
child then restarts the LaunchDaemon application in user mode.
* It then registers itself with its parent, in order to resolve user
dependent services.
* Added a user launch file that will cause Tracker, and Deskbar to
start in the new session.

bea38cb7 11-May-2015 Axel Dörfler <axeld@pinc-software.de>

registrar: implemented auth port via launch_daemon.

* get_roster_port_name() is no longer needed.
* This also removes the app_server restart code from the debug
server -- this will be done by the launch_daemon in the future.

798ad3db 23-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

BLooper: don't delete a launch_daemon port.

* Unless the service is really to be quit, the port should stay around;
but that decision is to be made by the launch_daemon, not the service

4bf862e3 21-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

syslog_daemon: Converted to BServer.

* Instead of letting the kernel search for the syslog port, the
daemon now registers itself with the kernel (which even solves
a TODO).
* A port is created for the actual log messages from the launch_daemon,
and used on start.
* However, the SyslogTest does not yet work, due to the BMessage <->
KMessage communication problems.

9d69dc09 21-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

libroot: added ability to communicate with the launch_daemon.

* These methods don't really work yet, as BMessage doesn't support
replying with a KMessage; the request is received, but the reply
never gets to the target.

43aec2c7 21-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: added support for arbitrary ports.

* Dropped "create_port" -- this is now the default for services.
* Additionally (or alternatively, if you use the "legacy" mode), you can
now create named ports, and specify their capacity.
* Added convenience methods to BLaunchRoster that automatically use the
signature of the current be_app.

592ffe64 15-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

The app_server is now a regular BServer.

d482c7ca 15-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

launch_daemon: actually launch the jobs.

* BRoster::Launch() cannot be used (yet), as it pre-registers the
application we're launching, and that won't work for the registrar or
anything else until the registrar is up and running.
* Add the team ID to the get-launch-data reply.
* Added BLaunchRoster::GetPort() for convenience.
* Removed some superfluous debug output, but temporarily dump all stdio
to /dev/dprintf (ie. the syslog).
* Made job matching case insensitive (as MIME types should be).

035e3e77 15-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

kernel: profile system when SYSTEM_PROFILER is defined.

* This enables a mechanism to profile almost the complete boot process
(starting with main2()), if SYSTEM_PROFILER is defined to 1.
* You can access the profiling data using "profile -r".

1480e5da 02-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

The beginnings of a launch_daemon for Haiku.

* This will be heavily inspired by Apple's launchd, as well as
systemd -- for now it really doesn't do a whole lot, though.
* What works so far: the configuration files are read, parsed, and
the jobs created.
* The jobs are even initialized, and their message ports created.
* BApplication now retrieves a previously created port from the
launch_daemon for use with BServer.
* Only the registrar actually uses this for now.

5f83ad89 21-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Move DirMenu.h to headers/private/tracker so other applications can uuse it.

94887feb 20-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

Added some support for GCC 5+.

df459da6 15-Jul-2015 Rene Gollent <rene@gollent.com>

{Tree,Table}: Add cell rect accessor.

- Add helper method for getting the visible rect of a given field.
Refactor SuggestTextPosition to use it.

- Add wrapper to retrieve table cell rect using the aforementioned
BCLV helper.

1b69f339 15-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Properly and consistently pick HPD ID

6fd25536 14-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

TabView: Lots of style fixes.

c432a83b 14-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

TabView: Add TabViewPrivate class, actually fix non-layout SetView.

Thanks to Axel and Stephan for reviewing!

7ea1ad10 13-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Fix dp aux request / response shifts

6031dea0 13-Jul-2015 Augustin Cavalier <waddlesplash@gmail.com>

BTabView: Lots of fixes & cleanup.

* Address TODO about setting fSelected when nothing is done.
* Pass a pointer to the tab view to the BTab so that it can call Invalidate().
(Checked against BeOS).
* Call Invalidate() from the BTab after SetView() & SetName().

Fixes #12108 & #12196.

c079d8d6 12-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::GetNodeAttributesFor

1cc20d82 14-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

BBufferGroup: Check for duplicated buffer id

* This exclude some possible cheating cases.
It impose to have only a buffer_id per thread,
so instances will not be duplicated if not needed.

a8344698 10-Jul-2015 Jérôme Duval <jerome.duval@gmail.com>

libroot: added a complex.h header based on ...

* added missing parts from glibc.
* x86_64 was already complete, x86 was missing a few functions.
* should help with #12202, provided that the gcc4 buildtools are rebuilt.

b6f0f884 10-Jul-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::GetFileFormatsFor

75486484 09-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::SyncToNode

7bcdb362 24-May-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

media_server: Improve BTimeSource slave nodes management

The media_server is now able to remember the timesource associated to
a certain registered_node and always remove it when the owner
application crash, Fixes Ticket #11852

63b02c37 07-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

accelerants/common: Add displayport aux message struct

c466b4da 07-Jul-2015 John Scipione <jscipione@gmail.com>

IK: Change orientation param name to direction

for ScrollView::ScrollBar in ScrollView.h and the documentation. This makes
the parameter name consisent and fixes a doxygen warning.

bf8fe3dd 07-Jul-2015 Alexander von Gluck IV <Alex.vonGluck@r1soft.com>

radeon_hd: Add Hawaii,Topaz,Tonga,Carrizo chips/cards

7e24b659 04-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

build: Convert to external libedit build package

* Drop lib/edit and matching bsd header
* Convert Debugger to libedit build package
* Should solve problems with libedit consumers
not defining _BSD_SOURCE
* Progress on #10267

cc8f1d2f 24-Jun-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/os: Add gcc 5 to BeBuild.h

* While we still use gcc 4, the host tools won't
build on gcc 5 systems without this.
* x86_64 compiles under gcc 5.10 successfully

50440c42 17-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

Remove gethostbyname_r and gethostbyaddr_r from headers

* They were not in BeOS.
* They are also not in netresolv, they are deprecated and getaddrinfo
should be used.

f972422c 14-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

Add a simple DNS caching system to BNetworkAddress

netresolv (and libbind) won't cache DNS requests, which can result in a
lot of DNS requests being made for the same host. Implement a simple
cache in RAM (local to each application) which will keep the most
recently requested addresses cached. This can speed up loading of an
HTTP page a lot, by saving a DNS request for each resource stored on the
same server as the main page.

8d2aee6b 14-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

libbind: integrate "netresolv" patches from NetBSD.

libbind development was transferred to the NetBSD project at

There isn't an official release yet, but they provide a set of patches
against the latest libbind release.

* Remove all files we don't use
* Merge the changes to the remaining files
* Add some new files we need
* Move getifaddrs implementation to libnetwork (instead of libbnetapi)
so it can be used by netresolv.

Fixes #8293 : netresolv uses getifaddrs to determine if there is a local
IPv6 address. If there is not, it will not return AAAA records.

404cb7e3 14-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

BReference: missing const cast when building a BReference<const>

* The internal BReference is on a non-const object so it can increment
and decrement the reference count, so we need to cast the const away.

0dc6b011 13-Jun-2015 Jérôme Duval <jerome.duval@gmail.com>

malloc: implement malloc_usable_size().

* Fix #12132

8a86ad75 09-Jun-2015 Axel Dörfler <axeld@pinc-software.de>

libbe: Fixed current_team() to work after a fork.

* This allows to start a valid looper in the forked child, for example.

4b2d018b 10-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>


* Part of latest POSIX specification, this prevents send() on a closed
socket to raise a SIGPIPE signal (but EPIPE is returned).

6ff95509 31-May-2015 Axel Dörfler <axeld@pinc-software.de>

JobQueue: fixed leak, notification, added Pop() variant.

* Was leaking fQueuedJobs on destruction.
* fHaveRunnableJobSem implementation was not completed; it was never
* Added Pop() variant that is a bit more flexible, and allows for a
timeout as well as waiting even when the queue is empty, and can
return a status code.

d6d439f3 11-May-2015 Hamish Morrison <hamishm53@gmail.com>

Reimplement unnamed POSIX semaphores using user_mutex

* Fixes sharing semantics, so non-shared semaphores in non-shared
memory do not become shared after a fork.
* Adds two new system calls: _user_mutex_sem_acquire/release(),
which reuse the user_mutex address-hashed wait mechanism.
* Named semaphores continue to use traditional sem_id semaphores.

e711e6e4 18-May-2015 Axel Dörfler <axeld@pinc-software.de>

Moved BJob, and JobQueue into the support kit.

* Put it in the BSupportKit namespace, following the style introduced
with the package kit for now.
* The BSupportKit::BJob class no longer knows about the package kit's
Context class. However, the BPackageKit::BJob class does.
* Due to the namespace juggling, a lot of files had to be touched.
* The JobQueue class remains private.
* Due to the way Haiku is built on itself, you cannot build this change
under Haiku with an older release.

5ce80a78 21-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

BMessage: implemented KMessage reply.

* When you receive a message from a KMessage, and reply to it,
it will automatically reply as KMessage, too.
* This allows to communicate with BLoopers from within the kernel
or libroot.so.

4d50aa32 29-Apr-2015 Axel Dörfler <axeld@pinc-software.de>

MessageAdapter: cleanup, no functional change.

73de5837 10-May-2015 Jérôme Duval <jerome.duval@gmail.com>

Update icu x86_64 package with namespace renaming enabled.

"Renaming" means the icu namespace is suffixed with the version number,
atm icu_55. Using "renaming" allows to use two different versions of ICU,
thus easing upgrades. For instance haikuwebkit uses a current version of ICU,
while the system uses a newer one after an upgrade.

* Replace all uses of the icu namespace in our public headers, with a macro
defaulting to icu. As the namespace is only used for private fields pointers,
there should be no impact.
* Locale kit *.cpp have to import the macro from <unicode/uversion.h> *before*
including any locale headers. Ditto for a Time preferences cpp file. This way,
the correct current icu namespace is referenced.
* Fixes bug #12057.

54656b39 08-May-2015 François Revol <revol@free.fr>

stdio.h: declare fcloseall() GNU extension

Since libroot already exports it and I've found some code using it.

10b4fed2 02-May-2015 Hamish Morrison <hamishm53@gmail.com>

Add support for pthread_condattr_get/setclock()

* Allows use of either CLOCK_REALTIME or CLOCK_MONOTONIC as the time
base for pthread_cond_timedwait().

b526d04a 20-Apr-2015 François Revol <revol@free.fr>

paths.h: add _BSD_SOURCE guard back, also check for _GNU_SOURCE

So things (like m4) expecting paths.h as part of glibc will get
what they want with _GNU_SOURCE.

7dd10738 20-Apr-2015 François Revol <revol@free.fr>

ByteOrder.h: add explicit casts when using gcc builtins

Those return uintNN_t types instead of our own types,
but uint32 for example is long while uint32_t isn't,
giving some trouble with the PRI* macros for example on PPC.

ae65896a 20-Apr-2015 François Revol <revol@free.fr>

paths.h: fix some paths

We don't have /sbin so...

110600c6 20-Apr-2015 François Revol <revol@free.fr>

paths.h: remove the _BSD_SOURCE guard

It seems like glibc also has paths.h and m4 fails to bootstrap
without _PATH_BSHELL.

This file really needs some cleanup btw, since most is actually
irrelevant or incorrect for Haiku.

d508fd4c 20-Apr-2015 François Revol <revol@free.fr>

PPC: leave all atomic ops as gcc inlines

I'm not sure the 64bit versions are really implemented though...

62d30d9e 19-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

libmedia: Put AddOnManager into BPrivate::media namespace.

The AddOnManager was in the global namespace, clashing with application
classes with the same name.

The input_server has an AddOnManager of its own. When the
shortcut_catcher filter was loaded by said AddOnManager, it in turn
loaded libgame.so, which in turn loaded libmedia.so, where an
AddOnManager was created for the global AddOnManager instance in
libmedia.so. Unfortunately the wrong AddOnManager, the one from the
input_server, was created. This lead to two AddOnManagers being active
in the input_server which very well could be responsible for #11049
and #11280.

This was a regression since the move of the AddOnManager from the
media_server to libmedia.so in hrev47086. This also fits with the two

I actually noticed the problem when debugging the shutdown process of
the input_server, where the destruction of the wrong AddOnManager
caused a deadlock with itself.

c7ad68f0 16-Apr-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

assert.h: add comments explaining the omission of include guards

9f170279 16-Apr-2015 Jessica Hamilton <jessica.l.hamilton@gmail.com>

assert.h: remove include guards

* including assert.h multiple times with NDEBUG varying is
perfectly legal, and required by POSIX.

091a80ae 15-Apr-2015 Adrien Destugues <pulkomandy@gmail.com>

Protect all BSD extensions with _BSD_SOURCE

* Do not define the symbols by default, as they are not in the default
* Adjust jamfiles of all code using BSD extensions to define
* This makes Haiku slightly more compliant to standard C/POSIX.

0cc8c71b 14-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

BLayoutItem: Add RemoveSelf() convenience method.

It works analoguous to BView::RemoveSelf(), i.e. it removes itself from
the parent (layout in this case) and returns whether or not it had and
was successfully removed from said parent.

4198ccec 14-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace cleanup only.

4232706d 07-Apr-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Clean SharedBufferList.h.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

9bf9ee38 12-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace and style cleanup only.

3b7b927d 12-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

libbnetapi: Add BNetworkRoute to replace use of route_entry.

The BNetworkRoute class manages a route_entry and the sockaddr's
associated with it. It replaces the direct use of route_entry in the
BNetworkInterface API.

Using route_entry is fragile and inconvenient as it only holds pointers
to the sockaddr's. When getting a list of routes from the kernel, each
route_entry is set up so that its pointers point into the single flat
buffer that is passed around. Creating a copy of the route_entry and
then deleting the flat buffer makes the pointers in the copy stale.
Returning these route entries therefore always lead to a use-after-free
when they were eventually used.

BNetworkRoute also takes over the code and functionallity of getting
routes from RouteSupport. The corresponding method in BNetworkRoster is
replaced by a static method in BNetworkRoute.

Also distinguish between the default route and gateway of an interface.
GetDefaultRoute() now gets the default BNetworkRoute for the interface
while GetDefaultGateway() gets the associated gateway address within
that default route. Adjust network preferences panel to this change.

Note that we currently only seem to have per interface default routes
and not an actual global default route. This was already the case before
these changes and I did not further investigate what this means.

9c5e234c 11-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Initial Cubieboard4 work

* SD cards are "blessed" with a boot0 spl and boot1 u-boot
at fixed locations.
* Allwinner's u-boot is lacking a lot.
* Upstream u-boot should be better at some point. WIP:

8f9d4cad 11-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

syscalls: Remove get_stack_trace syscall again.

This reverts the other half of b959d46dbd2f9087ae860dbced40440c28596a6e.

c012e7e9 11-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

libroot: Add private __arch_get_stack_trace().

It can be used to get a stack trace of the current thread. Note that
this works by walking frame pointers and will not produce anything
useful if an application is compiled with the frame pointers omitted.

The stack base and end addresses have to be provided as arguments and
are used to check that the frame pointers fall within that range. These
values are thread specific and can be retrieved with get_thread_info().
No other sanity checks (like checking for loops in the linked list) are

This is a simplified rewrite of the stack trace code from the kernel

As this code is common to x86 and x86_64 but is not generic across
architectures I introduced x86_common as a directory to put such

459e651f 11-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

syscalls: Remove lookup_symbol syscall again.

This partially reverts b959d46dbd2f9087ae860dbced40440c28596a6e.

ebdc1d48 11-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

runtime_loader: Add imageName and exactMatch to symbol lookup.

Extend the get_nearest_symbol_at_address() private runtime_loader
export to include imageName and exactMatch arguments.

The imageName holds the SONAME of the image, if available, so cannot
neccessarily be extracted from the image path.

Whether or not there was an exact match, i.e. the symbol with its size
contains the address, is now returned in exactMatch.

ec0190ad 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

malloc_debug: Implement allocation dump on exit in guarded heap.

When enabled (using heap_debug_dump_allocations_on_exit(true) or
MALLOC_DEBUG=e) this causes a dump of all remaining allocations when
libroot_debug is unloaded. It uses terminate_after to be called as
late as possible.

When combined with alloc stack traces this makes for a nice if a bit
crude leak checker. Note that a lot of allocations usually remain
even at that stage due to statically, lazyly and globally allocated
stuff from the various system libraries where it isn't necessarily
worth the overhead to free them when the program terminates anyway.

158e20e6 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

malloc_debug: Implement alloc/free stack traces in guarded heap.

When configured to do so (using heap_debug_set_stack_trace_depth(depth)
or MALLOC_DEBUG=s<depth>) the guarded heap now captures stack traces on
alloc and free.

A crash due to hitting a guard page or an already freed page now dumps
these stack traces. In the case of use-after-free one can therefore see
both where the allocation was done and where it was freed.

Note that there is a hardcoded maximum stack trace depth of 50 and that
the alloc stack trace takes away space from the free stack trace which
uses up the rest of that maximum.

b959d46d 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

syscalls: Add get_stack_trace and lookup_symbol syscalls.

The get_stack_trace syscall generates a stack trace using the kernel
debugging facilities and copies the resulting return address array to
the preallocated buffer from userland. It is only possible to get a
stack trace of the current thread.

The lookup_symbol syscall can be used to look up the symbol and image
name corresponding to an address. It can be used to resolve symbols
from a stack trace generated by the get_stack_trace syscall. Only
symbols of the current team can be looked up. Note that this uses
the symbol lookup of the kernel debugger which does not support lookup
of all symbols (static functions are missing for example).

This is meant to be used in situations where more elaborate stack trace
generation, like done in the userland debugging helpers, is not possible
due to constraints.

e01de522 10-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

More whitespace cleanup all over the place.

e25776bd 07-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace cleanup only.

85b350ed 05-Apr-2015 Janus <janus2@ymail.com>

BColumnListView: BRow height is proportional to font size.

* Add a BRow default constructor that use font size to compute height.
* Min height size for Title and Row are decoupled.
* The font ratio for Title and Row are decoupled.
* For small font use min height (set to usual 16.0).
* Better baseline formula.
* Fixes #11944.

b1ad5660 04-Apr-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Prevent bcm283X inclusion from breaking other boards

* Move *_BASE into board_config.h to prevent conflicts

121655e9 04-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

malloc_debug: Add default alignment option.

This allows for something similar as was implemented in 217f090 but
makes it optional and configurable.

The MALLOC_DEBUG environment variable now can take "a<size>" to set
the default alignment to the specified size. Note that not all
alignments may be supported depending on the heap implementation.

5ae3af6c 04-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

SupportDefs: Add B_SCN* counterparts for some more types.

Namely for [s]size_t, [{phys|generic}_]addr_t and off_t.

a05bfeb4 04-Apr-2015 Michael Lotz <mmlr@mlotz.ch>

Whitespace cleanup only.

53094e2f 04-Apr-2015 Stephan Aßmus <superstippi@gmx.de>

StringForSize.h: Fixed header guard comment at EOF

251eb00d 01-Apr-2015 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Use B_PRId32.

1aaa0c21 24-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

Package Kit: FetchFileJob now contains package size.

* So that you know how much already was, and still has to be downloaded.
* Automatic whitespace cleanup.
* The link in FetchFileJob.h did not fetch the correct header under
Haiku anymore (since the addition of the private headers to the

ffba6606 29-Mar-2015 Michael Lotz <mmlr@mlotz.ch>

UserlandFS: Make 64 bit clean and enable build for x86_64.

I did not bother to fix the BeOS kernel emulation, so this part is
still left out of the x86_64 build.

c6a4fee5 28-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

loader/u-boot: Use FDT serial info to create uart

* drop my fdt tests
* we have to call fdt parsing code *after* cpu_init (why?)
* pass fdt pointer to all FDT support calls to avoid confusion
once we get into the kernel land
* look for PL011 compatible uart and use it
* Add some saftey checks to serial putc code to avoid null*
* fdt_node_check_compatible returns 0 on success not 1
* fdt_get_device_reg needs to add the SOC base to the result
* fdt_get_device_reg might need to add the second range cell
instead of reg?

4a9c56f6 27-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

x86_64: fenv.c needs __weak_reference()

* the weak symbol feenableexcept wasn't available.

687d0bc2 23-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: fixed converter signature.

* The ConvertFromDriverSettings() method missed the current value
* Completed unit tests, and enabled them all.

3d7aaa30 18-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

Network: added notify settings updated method.

* And call it from the DNS client -- this is the only add-on that does
not trigger a configuration or settings update, so we have to notify
the changes manually.

8bc3ecb0 16-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

Added BTextControl::TextLength() method.

d26777c4 16-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

Network: added BNetworkSettingsListener.

* Same as the configuration listener, just for SettingsUpdated().
* This is now broadcasted to all list items, too.

f7ccc9af 16-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettings: added const, server IsRunning() method.

* Get{Interface|Network|Service}() methods are now const.
* Added variants of Interface(), and Service() that are const.
* Added new BNetworkServiceSettings::IsRunning() convenience method that
reflects the status quo rather than the settings.

c3ef9391 11-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

net_server: Clients can now check if a service is running.

* Using the new kMsgIsServiceRunning command.

1f94cdcd 11-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkServiceSettings: Added missing functions/constructor.

7ca40f60 10-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettings: made service stuff writable.

* And added the ability to disable a service without losing its

d1f0b8db 10-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

Network: fixed top item creation, sort entries.

* Need a way to access the NetworkWindow object from a static
method in order to sort all entries correctly, though.

5274e9b0 04-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

Network: added interface list item.

* Added BNetworkInterfaceListItem that can be used by interface protocol
add-ons to represent their functionality in the list view.
* It will automatically update itself on changes, and will show the
specified label, and address, if any, as well as indicate whether or
not the family has been disabled (which doesn't work perfectly yet,
as IFF_AUTO_CONFIGURED is on the interface level).
* Therefore, the interface list item will no longer show the address,
but the type of the device instead.
* Introduced the BNetworkConfigurationListener interface that is used
to broadcast network updates to.

b00dcbca 04-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettings: added some convenience methods.

* From InterfaceAddressView: FindFirstAddress(), and IsAutoConfigure().
* Removed some debug leftovers in InterfaceAddressView, too.

e4f4658a 04-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettings: made interface settings writable.

* It also makes use of the new driver settings converter mechanism.

3211cbcd 03-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

DriverSettingsMessageAdapter: optional field converter.

* You can now optionally specify a converter that does the actual
message to settings conversion, and vice versa.
* This allows for more sophisticated and custom conversions.

07addd7e 26-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Network: broadcast updates, remove apply button.

* Network now monitors all network, and network settings changes, and
will notify all add-ons about those changes.
* Removed the global apply button. Instead, the static IP configuration
now got that button. All other changes will be instant.

f16f9ee4 25-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Moved more functionality from net_server to NetworkSettings.

* Added (still incomplete) helper classes for the settings messages.
* The net_server now uses these classes for its interfaces, and services.
* Renamed service_address to service_connection, as that better matches
what it is used for.

7a9c0073 26-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

BMessage: add default parameter to GetString()/GetBool().

* It's likely that you want NULL/false when the data is not available
so you can now leave out the default value in that case.

2864e4da 19-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Network: added global settings.

* NetworkWindow now manages a single BNetworkSettings object
that is shared with all add-ons.

db6d25ce 19-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

NetworkInterface.h: honor 80 character limit.

d880e2d9 19-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettings: added Get*() by name methods.

fd55fb66 18-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Moved net_server's settings to libbnetapi.

* As experimental API class BNetworkSettings.
* Added add/remove methods for interfaces, and services, too.
* Moved the conversion of the wireless networks into the settings class,
too, so that it only gives out converted ones (but accepts both

3401ff7c 13-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

BNetworkSettingsAddOn: added missing destructor.

f6c7cf44 05-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Network: integrated former hardware view from add-on.

* The interfaces logic is within the main application, so is the
new interface view.
* Disabling/renegotiating does not work yet.
* Reveals a bug in some interface code; when you click on an ethernet
device first, there is no place for the wireless menu. When you then
press on a wireless device, it crashes in BMenuField code.
In the other direction, there is then an empty space.
* Fixed list item width reporting.

021ff1ca 04-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Network: no need for public constants.

77db25dd 04-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Network: moved add-on headers to the correct position.

* Ie. they've moved to headers/os/add-ons/network_settings now.

0690387c 26-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

BServer/BApplication: added constructor for looper name.

* Added an extra looperName argument to the private BApplication
constructor that BServer is using.
* This is now used to fix the ugliness that gave the registrar
a different looper name, and even saves a string comparison.

b7a87fd1 26-Mar-2015 Axel Dörfler <axeld@pinc-software.de>

find_paths_etc(): added user/system only flags.

* B_FIND_PATHS_(USER|SYSTEM)_ONLY cause only the specified paths
to be included in the result list.

fc601b54 16-Mar-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

TMap/Tlist: set various methods as const.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>

2c3505de 16-Mar-2015 John Scipione <jscipione@gmail.com>

PictureDataWriter: Style fixes only

No functional change intended

40eb7121 14-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/fdt: Start using new fdt code in mmu_man's fdt_serial logic

* Expose fdt_get_device_reg for others to use

fe19a9b1 14-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/fdt: Add functions to get device bases by name + alias

* Move more code into fdt_support
* We now can query FDT registers based on name or alias
* Return addr_t where it makes sense
* Copyright change ok'ed by mmu_man

f121867b 14-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/fdt: Initial reorg of fdt support code

* Makes FDT support code useable by everyone
without all of the externs
* Further movement to be non-u-boot centic
may still happen.

af056576 13-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

bcm283X: Don't break all non-bcm arm builds, warn.

* Called via arm_mailbox_bcm2835 *and* arm_framebuffer_bcm2835
* This is a bit messy. We really should be getting these
chipset-centric bases from the provided FDT / DTB.
* I can't think of a way to redo this without undoing
work towards FDT.

deb4929b 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

rpi1/rpi2: Use PL011 UART fallback in loader.

* Adjust UART base locations to reflect ARM pref base.
* We have a working haiku_loader_u-boot on Raspberry Pi 2!:q

196479ae 06-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

headers/bcm283X: Don't depend on others to include board_config.h

427d40ad 06-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm/targets: Add rpi2, rename raspberry_pi to rpi1

* The Raspberry pi 2 uses a new SoC which differs slightly
from the Raspberry Pi 1.
* Someday these two board targets could go away when we get
FDT support.

d05e5f1d 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

bcm283X: Add new peripheral base for bcm2836

* BCM2836 == Raspberry Pi 2

523c77e0 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Rename BCM2835 SoC header to bcm283X.h

* Fix a few typos in hrev48873

f8e19d47 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

arm: Rename BCM2708 to BCM2805

* To while there was some compatibility between
BCM2708 and BCM2805, it makes the BCM2806 changes
more confusing. We don't have any valueable BCM2708

5906dbb4 06-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

platform/u-boot: Work towards using arm mailbox driver

* Reference bcm2708 framebuffer when it makes sense
* Add bcm2708 define to Raspberry Pi board_config.h

83d5a531 04-Mar-2015 John Scipione <jscipione@gmail.com>

MessageFormat: Use int64 instead of off_t

They are effectively the same thing, but int64 is more generic.

I used an off_t because that is what Tracker passed in, yet, this could be
used in other places where an off_t doesn't make as much sense.

b726ad92 04-Mar-2015 John Scipione <jscipione@gmail.com>

MessageFormat: Use off_t argument instead of int32

Which doubles the maximum width fixing #11809. I wanted to convert this to
a variadic functionbut that would require updating all of the instance that use
MessageFormat or a clever hack to get around the ambiguity of an off_t
argument and an int argument count with 0 arguments. Either way seemed
out of the scope of fixing this bug.

Fixes #11809

Another Beta1 bug down!

fab1340f 04-Mar-2015 John Scipione <jscipione@gmail.com>

MessageFormat: Add edn header guard comment

9cdba41a 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker and Open Target Folder: Select result

Implement the todo in Open Target Folder to select the result by sending
Tracker a message with the refs to select.

Add a new kSelect message constant to tracker_private.h to hook into.

Tracker reads in the message and finds the window that the refs are located in,
activates it, then selects the corresponding poses scrolling the pose view
if necessary.

Bump version of Open Target Folder to 1.0.2

039f5926 03-Mar-2015 John Scipione <jscipione@gmail.com>

Tracker, Deskbar, ShowImage: move public commands

... to tracker_private.h so they may be used by external apps
such as Deskbar and ShowImage. Remove PublicCommands.h

02b72520 02-Mar-2015 John Scipione <jscipione@gmail.com>

Storage Kit: Tiny style fix

0f94784a 01-Mar-2015 Adrien Destugues <pulkomandy@gmail.com>

intel_extreme: fix vblank interrupt on Ivy Bridge and later

Intel changed the PCH interrupt bits between Sandy Bridge and Ivy Bridge
to make space for the 3rd display pipe. Take this into account and check
for the correct bits on the newer devices.

Fixes #11522.

7dc14182 27-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Delete old rgb_color operators that are no longer needed.

e3468ef6 26-Feb-2015 Adrien Destugues <pulkomandy@gmail.com>

ifaddrs: add extern "C"

We need this to be callable from C programs. Thanks to Diver for

64182ccb 20-Feb-2015 John Scipione <jscipione@gmail.com>

Menu and Deskbar: Remove _SetMenuLayout() method

and remove TExpandoMenuBar as a friend class to BMenu hack.

In Deskbar, call the newly added MenuPrivate::SetLayout() method instead.

This is a much cleaner way to implement this, thanks Stefano Ceccherini
for the tip!

35384ab4 20-Feb-2015 John Scipione <jscipione@gmail.com>

MenuPrivate: Add a SetLayout() method to MenuPrivate

that allows you to set the menu_layout of the menu after construction.

09d0a76b 20-Feb-2015 John Scipione <jscipione@gmail.com>

MenuPrivate: Style fixes to MenuPrivate.h

deaae5fc 07-Jan-2014 John Scipione <jscipione@gmail.com>

Deskbar: Persist ExpandoMenuBar

Add private BMenu::_SetMenuLayout() method. Set TExpandoMenuBar
as a friend class in BMenu to call this method. A little hacky,
but, this keeps SetMenuLayout() from being exposed as part of
the public API.

Don't destroy and rebuild the ExpandoMenuBar when switching from
horizontal to vertical mode. Instead build the TExpandoMenuBar
when the application starts and then switch it from B_ITEMS_IN_ROW
to B_ITEMS_IN_COLUMNS by using the newly added _SetMenuLayout()

When we resize from vertical to horizontal, recalc the max
menu item widths, this resizes the application menu items so
that they take up the right amount of space.

Since we no longer destroy the menu bar we no longer have to
save whether menu items are expanded or not in a separate list.
Instead we can store that information in directly in
TExpandoMenuBar. This removes a lot of code.

Fixes #9350

794c227e 13-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

BView: fixed RemoveSelf() layout item handling.

* When RemoveSelf() is called, we do not own our own layout items, so
we must not delete them.
* However, we do own them when we still have layout items left when
we get deleted ourselves.
* This fixes removing/adding a child view to a view without deleting
it inbetween (like the new Network preferences will do).
* Optimized item removal -- not a good idea to always remove item 0.

b617d006 13-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

ViewPrivate.h: minor cleanup, no functional change.

7d226266 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolBar: misc. fixes.

* Move common init. code to an _Init() function.
* Create a layout constructor.
* Make _AddView public and rename it to AddView.

94a4c1c4 11-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: rename to BToolBar.

"BToolBar" matches the current convention ("BStatusBar", "BMenuBar", etc.)
I've no idea what I was thinking when I renamed this before...

Also adjust all users of BToolBar (Tracker and ShowImage).

77206143 05-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

Revert "Move getifaddrs to libnetwork again."

This reverts commit 31ea76548a64b232ed10cb444bf84ca1f7e40b0f.

Adrien, please try again without clobbering the otherwise nice
BNetworkInterface API!


e661df29 02-Feb-2015 Axel Dörfler <axeld@pinc-software.de>

BPathFinder: include StringList.h for convenience.

* You cannot do anything with a path finder object without a string
list, so why go through all the hassle?

85f43155 28-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

BRoster: added missing const in Launch() variant.

* The argument array passed in is never touched.

30238c04 27-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

Added BApplication::Signature() getter.

49e8a3c6 27-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

BReferencable: implement const references with specialization

This is simpler and cleaner than my previous attempt. Thanks to Ingo for
suggesting this.

e9b82428 22-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Add a BConstReference class.

This is a BReference that allows only const access to the referenced
object. This was not easily possible with the existing BReference for
two reasons:
* BReference<const Type> would not work, as BReference needs to change
the reference count of the referenced object. Adding mutable and casting
where appropriate wouldwork but,
* It is now also possible to assign a BReference to a BConstReference
(to the same type, of course). The reverse is not allowed, making it
more difficult to "const cast" the referenced object (it's still
possible to "get" the object pointer and cast that).

BConstReference can be used to provide shared read-only access to an
object, for example this can be used to cache non-copiable or
expansive to create objects.

95fdee0b 21-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

BStringView: added truncation support.

* Added new truncation mode B_NO_TRUNCATION.
* The Truncation()/SetTruncation() methods itself are Dano-compatible,
however, there was no B_NO_TRUNCATION.

1bfa46f2 21-Jan-2015 Axel Dörfler <axeld@pinc-software.de>

BLayoutBuilder::Grid: added spacing setters.

31ea7654 20-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Move getifaddrs to libnetwork again.

* BNetworkInterfaceAddress is moved to libnetwork. It is modified to not
use BNetworkAddress (which is in libbnetapi) and instead use sockaddr
and sockaddr_storage directly. All callers are adjusted to this.
* Some support code is shared between BNetworkInterface and
BNetworkInterfaceAddress, move it to libnetwork but in the BPrivate

c299b09c 19-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

SupportDefs: make it C89-safe again

The atomic inlines were not implemented in a C89 safe way:
* Use of "static inline" not allowed, but static __inline__ is
* __inline__ is a GCC extension, but these are already in a __GNUC__
block (other compilers use a non-inline version)
* also fix a C++ style comment

4bb4130f 17-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Fix instanciate_catalog prototype

The prototype didn't match what the Locale Kit actually uses, making the
plaintext catalog (and any other add-on) unusable.

1f4de50d 16-Jan-2015 John Scipione <jscipione@gmail.com>

Style fixes to BMessageRunner, no functional changes intended

6fd09955 16-Jan-2015 John Scipione <jscipione@gmail.com>

Style fixes to Messenger, no functional change intended

e2fc7cd3 16-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Implement getifaddrs.

This is a BSD extension also available in glibc, but is not POSIX.
Fixes #6279.

0b90f99b 14-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Mail server: fix disabling notifications

* The default notifier didn't always take the setting into account.
* The mail server was not using the setting from the settings file and
instead waiting for a message that wasn't sent anywhere.

Fixes #10852.

98731302 14-Jan-2015 PulkoMandy <pulkomandy@pulkomandy.tk>

fssh_api_wrapper: fix build on non-Haiku.

* I'm not sure why strings.h needs to be included before <new>, but it
wouldn't work otherwise.

ace74964 13-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Remove khash from the sources.

Fixes #9552.

9d053f59 13-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

BOpenHashTable: document some subtleties

Mainly the interaction of resizing the table with iterators.

683cf2ff 09-Jan-2015 Hamish Morrison <hamishm53@gmail.com>

BMediaRecorder: fix a few issues, fix style, remove unused SoundUtils

* Use the preferred time source (GetTimeSource) for the node
* Fix node releasing when creating the connection fails
* Add virtual slots and padding
* Refactor _Connect method

739fd34c 04-May-2014 Barrett <b.vitruvio@gmail.com>

Replace SoundCounsumer with modified BMediaRecorder.

Signed-off-by: Hamish Morrison <hamishm53@gmail.com>

3395fdcd 12-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

gcc4 build fix.

* offsetof is not allowed on non-POD types so we need to use
offset_of_member (gcc2 accepts offsetof, and C++11 relaxed the
constraints on where it is allowed so it should work there too)
* we have offset_of_member as a workaround until we switch to C++11,
move it from khash (which is soon to be removed) to list.h which is the
other place where it is used (for this one single call in our whole

Also fix a typo in vfs.cpp.

6235b496 12-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

More useless inclusions of khash.h

955d5259 09-Jan-2015 Adrien Destugues <pulkomandy@gmail.com>

Rewrite sample HashTable description to use the typedefs

This makes the code more readable (as KeyType and ValueType are clearer
than int and Foo) and easier to copypaste and edit.

14896b93 07-Jan-2015 Dario Casalinuovo <b.vitruvio@gmail.com>

Implement BMediaRoster::RollNode().

Fixes #9083.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

d33e4744 03-Jul-2013 Axel Dörfler <axeld@pinc-software.de>

IMAP: downloading mails is now working.

* Changed the way the attributes are written to make sure that everything
that can be written once is in fact written just once.
* The rename code in BMailProtocol::_ProcessFetchedHeader() was broken,
and caused the hang of the last commit.

549949b2 26-Jun-2013 Axel Dörfler <axeld@pinc-software.de>

Mail Kit: Changed how filter changes work.

* BMailFilter::HeaderFetched() now only alters the entry_ref, and returns
B_MOVE_MAIL_ACTION to move a mail.
* Instead of potentially moving the file around several times, the
BMailProtocol now takes care of carrying out the filter action just once,
including trying to make the file name unique.
* This also allows the IMAP add-on to know the final location of the mail,
and thus downloading a message actually works.
* However, with my test inbox, it currently hangs, and a current Debugger does
not work on my older system -- I guess I need to update.
* Replaced the duplicated space mechanism within the "HaikuMailFormatFilter"
that is substantially faster, and handles all whitespace, not just spaces.
It will also replace tabs with spaces.

f8b5e17a 18-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

Minor cleanup.

93608baf 16-Jan-2013 Axel Dörfler <axeld@pinc-software.de>

Clarified progress parameter names for the MailProtocol.

4a8448ce 26-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major coding style cleanup.

1da1e5a1 22-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Renamed BodyDownloadConfig to BodyDownloadConfigView.

518698c7 22-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Removed commented out method in BMailSettingsView.

57b30555 22-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

MailProtocolConfigView now is a BMailSettingsView.

* Changed the private settings base classes to follow the new style.
* Made BodyDownloadConfig use the layout API.
* Adapted SMTP to these changes.

ca3341c7 12-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Major mail protocol/filter settings rework.

* Instead of abusing BArchive::Archive() we now use a BMailSettingsView as
a base view for all filter/protocol settings that works with
* Cleanups in E-mail which is now completely layout friendly. But also still
crashes when changing the views.

f90a3bbd 04-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Added support for letting user mail add-ons override system ones.

* The path will now be relativized before storing it.
* On load, the add-on will be tried to load from the user, then common
and finally system add-on directory.

1f87386b 04-Nov-2012 Axel Dörfler <axeld@pinc-software.de>

Now also loads mail settings from common.

* Also removed the superfluous and unused timeout argument from Save().

bcf60bbb 30-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Fixed Mail build.

* The former kMsgBodyFetched (now B_MAIL_BODY_FETCHED, following the other
message constant names in AppDefs.h) must be public.

146357b5 30-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Completed transition to the new mail API; ie. it compiles.

* Completely untested yet. Unlikely to work yet.

383b34ad 30-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Moved ProtocolConfigView to headers/private/mail.

* This is by no means meant as a public header.

715bf3d1 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Work in progress of mail rework.

* Not everything compiles; all protocols, and inbound filters do, though.
* Renamed a few classes to give a better idea what they are for; prefixed
public classes with the 'B' prefix.
* Moved ProtocolConfigView's classes into the BPrivate namespace.
* Moved BMailFilter into its own file.
* Added BMailFilter::DescriptiveName(). This is now used by the RuleFilter
in order to give a description of what it's doing (ie. no more dozens of
"Rule filter" entries in the preferences).
* Removed no longer used MailAddon.h.
* Renamed Addon to AddOn where found, since that is more consistent with the
rest of the API.
* Merged the former MailProtocol with the former MailProtocolThread; the
differentiation between those two was pretty messy.
* All configuration views touched so far are now using the layout kit.
* The RuleFilter is currently broken functionality wise; I have not yet decided
how to solve the stuff it uses (TriggerFileMove() does not exist anymore,
for example).
* BMailAddOnSettings (formerly known as AddonSettings) now directly subclass
BMessage; there are no Settings() and EditSettings() method anymore. The
class uses a copy of itself to determine whether or not it has been changed.
* Lots of cleanup.

0f11280e 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Minor MailNotifier cleanup.

* Renamed to BMailNotifier, as it's part of the public API.
* Renamed Notifier.{cpp|h} to DefaultNotifier.{cpp|h} as that's the class it
* Made the mail counts uint32, and the byte counts uint64.

e0676bb9 26-Oct-2012 Axel Dörfler <axeld@pinc-software.de>

Fixed typo.

9192d4dc 14-Dec-2011 Axel Dörfler <axeld@pinc-software.de>

Started working on the IMAP add-on itself.

* Renamed imap_config.cpp to ConfigView.cpp, IMAPFolderConfig.(h|cpp)
to FolderConfigWindow.(h|cpp).
* Got the latter to build.
* Added Settings class to simplify and unify the BMessage based
settings access.
* Removed the InboundProtocol[Thread] implementation from the build for now.

a6f1bc98 24-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

BMessage::ReplaceData: potential corruption on realloc fail

The method would update the field offsets first, and would not restore
them in case of realloc failure, leaving them pointing to the wrong

d6aaebc7 23-Dec-2014 Jérôme Duval <jerome.duval@gmail.com>

x86: added two MSR definitions.

20721297 22-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

BMessage: remove unimplemented GetPointer from headers and docs

* This was never implemented and no one noticed until now.
* A default value for a pointer doesn't make that much sense anyway, so
using the FindPointer method is fine.

d1dc9cf6 19-Dec-2014 Timothy Gu <timothygu99@gmail.com>

stdint.h: use correct type for INT64_MAX (#11647)

int64_t is signed. Although it does not make a difference by itself, because
INT64_MAX is still a valid number for uint64_t (UL), the later INT64_MIN
declaration depends on INT64_MAX, and therefore got implicitly casted to
unsigned type.

This fixes the following program on a x86_64 system:

#include <stdint.h>

int main() {
int64_t test = 5;
if (test < INT64_MIN)
return 1;
return 0;

This is a regression since commit 1d13a609 ("stdint.h: define [U]INT64[MAX|MIN]
with [U]L on x86_64").

Signed-off-by: Jerome Duval <jerome.duval@gmail.com>

b825666f 19-Dec-2014 John Scipione <jscipione@gmail.com>

Rename method parameter in header to match implementation

65dfd2c6 19-Dec-2014 John Scipione <jscipione@gmail.com>

Documentation fixes for BTab and BTabView

f4664459 18-Dec-2014 John Scipione <jscipione@gmail.com>

Changes to BTextControl for docs.

Also remove the non-ControlLook drawing code.

9a539f9e 18-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

Outsource ncurses.

a5f30bea 13-Dec-2014 Puck Meerburg <puck@puckipedia.nl>

Fix #7008: Add a64l and l64a from glibc, and add some missing definitions in wchar.h and stdlib.h

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>

1d13a609 14-Dec-2014 Jérôme Duval <jerome.duval@gmail.com>

stdint.h: define [U]INT64[MAX|MIN] with [U]L on x86_64

instead of [U]LL

e4e2ce4c 09-Dec-2014 Puck Meerburg <puck@puckipedia.nl>

When testing screensaver, don't have mouse move exit the screen saver.

Fixes #7463

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

4a31c326 04-Dec-2014 John Scipione <jscipione@gmail.com>

Update locale docs to match new reality.

Created docs for NumberFormat, DateFormat, DateTimeFormat, and TimeFormat
and moved the docs from BLocale to the respective new file. Also
DurationFormat was updated as well.

doxygen once again compiles the docs without warnings.

5ae0cde3 04-Dec-2014 John Scipione <jscipione@gmail.com>

Style fixes to BStringView related to docs

529cd177 04-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

BFilePanel: allow to change the node flavors

There doesn't seem to be anything ini the implementation that would
cause a problem, as long as you don't try to change this while the
window is already open.

249a4944 03-Dec-2014 Theodore Kokkoris <t.kokkoris@gmail.com>

Removed dead code (CID: 1255314)

539dc1bc 02-Dec-2014 John Scipione <jscipione@gmail.com>

A bunch of style fixes

No functional changes intended

4c7f391f 26-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Add a <limits> header for gcc2.

Hacked from the gcc4 version. There may be wrong values returned in some

Fixes #6701.

56abf4aa 27-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix std::isnan and friends for gcc2.

gcc2 was relying on the c99 functions being there, but they are not in
the std namespace.
* Disable the C99 functions and macros in C++ mode
* Redefine them as inline functions in cmath in the std namespace.

Fixes #7396.

3d06e082 27-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

BOptionPopUp: move mennu setup to AttachedToWindow

* There is no need to delay this to AllAttached
* Apps may want to override the SetDivider, and doing it as late as
AllAttached can be annoying.

Fixes #10734.

af218cc4 25-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Notifications default to enabled on first boot.

* The server did this right, but the preflet would not check the
checkbox when there was no settings file.

12533060 19-Nov-2014 François Revol <revol@free.fr>

stdio.h: add missing typedefs

I should sleep more and build more :D

e1f303c5 19-Nov-2014 François Revol <revol@free.fr>

Add fopencookie() to stdio.h

We already export it in libroot, and libassuan seems to require it.

1d487293 17-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

There is no B_PRIdTHREAD

2922c4ab 17-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

userlandfs: more 64bit fixes.

5b1f411f 17-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

UserlandFS: 64-bit fix.

a358634d 12-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Update udis86 to current version.

0a74147e 07-Nov-2014 Augustin Cavalier <waddlesplash@gmail.com>

BToolbar: Allow the toolbar's orientation to be set by its creator.

I already made this patch in Heidi's clone of BToolbar. Adding it here
allows me to drop Heidi's version altogether.

I also relicensed the header file at the permission of Stephan. The .cpp
file still lists him as author and copyright holder.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

57bc6503 09-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

Everything: Update lots of code to use B_COUNT_OF macro

* Likely not everything, but the obvious uses of B_COUNT_OF

f2b20f88 09-Nov-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

SupportDef: Add B_COUNT_OF to get array element count.

* We implement this in a lot of places in a lot of
ways. Lets add it to the SupportDef

8007a392 08-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

BMessage: add AddFlat taking a const BFlattenable

It seems the const was forgotten in the BeOS version. But there is no
reason not to have it.

1436fe74 08-Nov-2014 François Revol <revol@free.fr>

Add TIOCM_CAR as a synonym for TIOCM_CD

Gnokii uses it.

5ee2151e 04-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

BHttpRequest: propagate SSL errors to listener

This way it's possible to handle them in applications.

c86ad7f9 04-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

Add more features in BCertificate class

* Make it possible to extract more useful data from the certificate
* Also get the OpenSSL error message when a certificate can't be
validated. Send it to the verification failure callback so it can be
shown to the user.

9f8197a8 05-Nov-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

BToolbar: move into BPrivate namespace, as it's not public yet

6d93638b 30-Oct-2014 Augustin Cavalier <waddlesplash@gmail.com>

ToolBarView: rename to BToolbar and move to libshared.

Also adjust ShowImage for this, it's the only thing that's using ToolBarView
right now.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

3fe7b3f7 02-Nov-2014 Michael Lotz <mmlr@mlotz.ch>

BString: Add ScanWithFormat convenience method.

969af804 02-Nov-2014 Michael Lotz <mmlr@mlotz.ch>

BString: Add format attribute to SetToFormatVarArgs.

bf685cdf 01-Nov-2014 Michael Lotz <mmlr@mlotz.ch>

kernel: Fix missing reference release in CreateThreadEvent.

CreateThreadEvent::DoDPC() missed a reference release to balance the
acquired reference before queuing the DPC, resulting in the
CreateThreadEvent objects being leaked.

This also removes the destructor that tried to cancel the DPC. Since
the class is reference counted and only destroyed when the DPC has
run and released the last reference, this didn't make much sense.

6a80e688 31-Oct-2014 Michael Lotz <mmlr@mlotz.ch>

kernel: Fix missing reference to team/thread in signal events.

The signal to the team/thread is only actually sent in a deferred
procedure. To ensure that the team/thread stays valid between the DPC
being queued and it actually running, we need to acquire a reference.

Fixes #11390, where the DPC was run after the team was already

778611c7 31-Oct-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

fdt: humble beginnings of Flattened Device Tree

This isn't really a bus_manager yet, but just minimal support so
we can get rid of hardcoded ARM SoC support from the core kernel

Needs lots of work, like proper handling of #address-cells and
the like. Also, generic attribute handling, device_manager
integration, and I could go on for hours ;)

b9c8e3de 29-Oct-2014 Oliver Tappe <zooey@hirschkaefer.de>

string.h: include strings.h for compatibility.

* Partly reverting hrev47655, as the moved declarations are expected
by many ports to be accessable via string.h.
Following standards is a good thing in general, but not if it causes
more problems than it helps ...

6bbd25f0 29-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Make vfs_resize_fd_table() accessible in the kernel

Also update some types from int to uint32.

078a965f 28-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

vm_soft_fault(): Avoid deadlock waiting for wired ranges

* VMArea::AddWaiterIfWired(): Replace the ignoreRange argument by a
flags argument and introduce (currently only) flag
IGNORE_WRITE_WIRED_RANGES. If specified, ranges wired for writing
are ignored. Ignoring just a single specified range doesn't cut it
in vm_soft_fault(), and there aren't any other users of that feature.
* vm_soft_fault(): When having to unmap a page of a lower cache, this
page cannot be wired for writing. So we can safely ignore all
writed-wired ranges, instead of just our own. We even have to do that
in case there's another thread that concurrently tries to write-wire
the same page, since otherwise we'd deadlock waiting for each other.

9da590f7 28-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add vm_page_free_etc()

It additionally gets a vm_page_reservation* argument. If not NULL, the
page count of the reservation is incremented for the freed page.

52d500e5 28-Oct-2014 Michael Lotz <mmlr@mlotz.ch>

kernel: Workaround for double lock of spinlock in user timers.

The thread that is being [un]scheduled already has its time_lock locked
in {stop|continue}_cpu_timers(). When updating the TeamTimeUserTimer,
the team is asked for its cpu time. Team::CPUTime() then iterates the
threads of the team and locks the time_lock of the thread again.

This workaround passes a possibly locked thread through the relevant
functions so Team::CPUTime() can decide whether or not a thread it
iterates needs to be locked or not.

This works around #11032 and its duplicates #11314 and #11344.

4ed39e6a 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

disk device manager: check that partitions are unmounted before uninitializing.

when uninitializing a partition or a disk (removing the partition
table), check that all partitions from that table are unmounted, as they
are about to become invalid.

Fixes #8827.

04dbe5b1 28-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

safemode.h: make it usable from C code.

5d5ec05b 27-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

B*Format: make immutable and remove locking

The language and formatting conventions can now only be set when
creating the objects. This removed the needs for locking them when
formatting to avoid some other thread changing the format while it's
being used.

Adjust tests and DeskBar TimeView to the API changes.

fa80e7b2 27-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

x86 kernel args: Increase number of page tables

475f0037 26-Oct-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: remove annoying #warning

Although done with the best intentions, the usage of #warning in the
ARM build makes it hard to see what's going on, or see any "real"

Remove at least this particularly often triggered one, so we can
have a relatively "quiet" build again...

850f2d1e 26-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Add the at() method to C++ vectors.

* There is no reason not to have this.

d228f29f 25-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageManager: Add SetDebugLevel()

Sets the debug level of the solver.

74b582a4 25-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BSolver: Add SetDebugLevel()

In LibsolvSolver set the debug level of the pool.

50d274f7 25-Oct-2014 Axel Dörfler <axeld@pinc-software.de>

fs_shell: Added missing new permission check function.

* Fixes the build.

5a95af70 25-Oct-2014 Axel Dörfler <axeld@pinc-software.de>

vfs/{b|btr|package|b}fs/ext2/exfat: common access check.

* Added VFS helper function check_access_permissions() that combines
several partially correct versions to the one true version (tm).
* All but BFS (since recently) missed the S_IXOTH for root on directories,
and all but packagefs missed proper group handling.

e9922e77 22-Oct-2014 Michael Lotz <mmlr@mlotz.ch>

haiku_loader: Fix wrong size of gBootGDT on x86_64.

x86 and x86_64. However, on x86_64 the order of the segments is
different, leading to a too small gBootGDT array. Move the define to
the arch specific headers so they can be setup correctly in either case.
Also add a STATIC_ASSERT() to check that the descriptors fit into the

Pointed out by CID 1210898.

015a928b 21-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Notifications: use a single settings file.

There were 3 setting files, each an archived BMessage. Now there is only
one with all the data inside.
* Rework the SettingsPane class to save and load settings from a
message, rather than having each panel pick a file path on its own
* Move saving the app filters to the preference app, rather than the
server (so it's done at the same place as other settings)
* Rework loading prefs in the server so the settings message is read
from the file once and all settings are loaded from it.

This turns out to be more changes than I anticipated.
Fixes #9424.

9bf4e994 21-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

BUrl: IDNA ToUnicode and ToASCII conversions.

* Since DNS are normally restricted to ASCII, the use of UTF-8 in domain
names is implemented using a "punycode" encoding.
* The request to the DNS server must be sent with the ASCII
representation of the domain name, however the Unicode one should be
used for user-visible parts.
* ICU provides an implementation of the conversion, which we use here.
* Conversion is currently done in-place and modifies the BUrl object
(this is similar to UrlEncode/UrlDecode).
* Adjust existing IDN test to make use of these methods. It's passing

06f436b3 21-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Use strict mode when url-decoding file requests.

We don't want '+' to become a space here.
Fixes #11109.

9c5d1aa2 20-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix infinite recursion in agg when drawing bezier with invalid points

* Patch extracted from http://trac.osgeo.org/mapserver/ticket/3862
* Fixes #6738

b10790de 18-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Radeon: fix warnings on 64bit.

13af65c4 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

intel_extreme: fix warnings on 64bit.

a7f7bf3d 19-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Radeon: fix warning.

00640ac8 15-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Forgot to fix LDBL_MIN...

1f792e18 15-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

gcc2 float.h: use decimal floats.

7f6fdce3 14-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Update haiku copy of gcc2 float.h

Shouldn't be needed, but we may as well use the correct version here

bdb4ae32 12-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix unarchiving of BScrollView with layout

* We archive views using "managed" archives, and the children are not
attached in the BView(BMessage*) constructor, but later. So it's not
possible to find the target and scrollbars in the constructor of
* Make BScrollView override AllUnarchived and find the target and
scrollbars again there. The code is slightly different as there is no
guarantee that the first child will be the target in that case. The
existing code in the constructor is preserved for non-managed archives.

4cada380 11-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

BDragger: add layout-aware constructor.

Somehow no one needed this yet.

26b0a53d 09-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Add parsing support to BTimeFormat.

961fdd8c 08-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

BMessageFormat: parse the pattern at construction

* Instead of parsing the pattern everytime Format() is called, parse it
only once when the object is created.
* Adjust all callers to make use of the feature and reuse the instance
as much as possible. This also allows calling B_TRANSLATE only once
instead of everytime the formatting needs to be done. We use either a
static instance (when the message pattern is constant) or a field (when
it is not known to be constant).
* Since the BMessageFormat instances are now reused, add locking to
avoid race conditions (ICU itself is thread safe, but the format pattern
is recreated when the locale is changed)

97d07c8a 07-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Add API for parsing dates.

090a0d76 07-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Add an API to get month names.

4a3a4742 06-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Reimplement BDateTimeFormat using ICU support

* Avoid hardcoding the format to "date, time"
* Allows using DateTimePatternGenerator to create custom formats from a
set of fields.

0da7796e 07-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Add BMessageFormat class.

This can be used to format complex messages properly. It moves the
complexity of handling plural forms, gender, and anything else needed
into the localizable string, rather than hardcoding it in the code.

This moves the difficulty of handling these things properly to people
doing translations, rather than relying on developers to do it.

Fixes #10755, but our localization must now be updated to make use of
the feature.

136884d0 06-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Remove references to NumberFormatImpl.

The class and header file are gone, so don't try to use them.
Fixes #11312.

e3857211 02-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Move DateTimeFormat and NumberFormat out of BLocale

* ... and adjust all callers
* Remove NumberFormatImpl: we rely on ICU to provide this and it can be
fully wrapped into the C++ file. The class was a stub anyway.
* "Monetary" format is included in NumberFormat for now. There may be a
more generic solution to handle monetary and BTimeUnitFormat (and other
arbitrary units)

3006031a 01-Oct-2014 Oliver Tappe <zooey@hirschkaefer.de>

Move Geolocation to kits/shared and make it private.

03b2550e 01-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Move time formatting to BTimeformat.

* Harmonize API for all B*Format to take an output BString by reference
as the first parameter,
* Move the FormatTime methods from BLocale to BTimeFormat
* Adjust all callers for BTimeFormat, BTimeUnitFormat and

44f11d09 01-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

Make BDateFormat inherit from BFormat again

* Move relevant parts up into BFormat so other format classes can use
* Adjust BDurationFormat and BTimeUnitFormat for the changes
* Remove the "default" date format, it is better to keep only a default
locale and let applications create B*Formats from it as needed.
* Creating a B*Format without arguments to the constructor now
configures it for the default locale, which allows for easy use in
standard cases (formatting something with the current language and
* Creating a B*Format is potentially an expansive operation, it is
advised to keep the instance around and reuse it whenever possible.
However it must be "refreshed" when the locale changes, for apps which
supports that, since it keeps a copy of the language and formatting
convention, rather than a pointer to the locale as it did before.

13d147b1 30-Sep-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Introduce "invalid" text controls.

* MarkAsInvalid is used to enable or disable the mark
* The B_INVALID BControlLook flag is used
* invalid BTextControls are drawn with a red border.
* You ar encouraged to let the user know more precisely what's wrong, by
showing an helpful error message next to the control or in a tooltip.

afd5ec11 30-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Add setters to BDate and BCalendarView

* BDate setters don't perform any validation, use with caution.
* BCalendarView setters do perform validation checks, and will adjust
the day so it fits the requested month or year.
* Add tests for the BCalendarView setters.

526d4839 30-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Make BDateFormat mutable

* Add setters for the language and formatting conventions
* Add shortcut getter and setter for the date format
* Use those in the locale roster to make the BDateFormat actually use
the system preferred language and format.
* Applications can also use this to extract specific information from
the system format (eg. set date format to "LLLL" to extract month
names), or define specific formats more easily (eg. for parsing and
generating e-mail headers or HTTP cookies).

f188c1de 30-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

BDateFormat: improve API

* Use a reference rather than a pointer for the output string, removing
the need for NULL checks (which were missing, anyway)
* Adjust callers to that change
* Add new Format variant taking a BDate argument

1d38b7a8 27-Sep-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Geolocation: avoid static init of BUrl

* Fixes #11290.

2a5e33a9 26-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Move date formatting from BLocale to BDateFormat

* There is a little code duplication. This will be moved to BFormat once
the time and datetime formatting is also moved out of BLocale
* The way to create a BDateFormat from a BLocale is still open for
discussion. I'm undecided between making BDateFormat a member of
BLocale, or adding a BDateFormat(const BLocale&) constructor.
* Adjust all users of the API.

2f368731 26-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

UrlRequest: add empty SetTimeout for ease of use.

* Requests that support this can implement it, NetworkRequest does
* Build fix: no need to return status_t.

654ae69a 24-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

NetworkRequest: add a SetTimeout method.

ac97d357 22-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel/arch: remove leftover debug message

Polite fault handlers are nice, but we like the silent ones even more.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

13f04588 23-Sep-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add BGeolocation experimental API.

A BGeolocation object can query an online service to get geolocation
and geotagging data:
* LocateSelf() tries to locate the machine it is running on, by using an
online database of wifi access points
* Locate() (not yet implemented) searches a BString and converts it to
lat/lon coordinates (reverse geotagging)
* Name() (not yet implemented) finds a suitable name for the given
coordinates (address, building name, or anything fitting).

The default service used is openbmap.org, which is freely available but
not very accurate. A request has been sent to Mozilla to use MLS
(Mozilla Location Services), which is a bit more accurate but needs an
API key. MLS is used for geolocation on FirefoxOS, for mobile phones
which don't have a GPS, and the data can be contributed by Firefox for
Android or the dedicated MozStumbler app.

Alternatively, Google Maps also provide the service, but wants
people to pay for it. Google Maps data is more accurate as all Android
devices contribute data to it.

All 3 services use the same JSON-based API: we send a list of reachable
Wifi APs (mac address and signal strength), and we get lattitude and
longitude information, and possibly extra data which will currently be

This can be used to implement HTML5 geolocation with reasonably accurate
results, but it can also be used in other places. For example
FirstBootPrompt could try to guess a list of most likely languages and
keyboard layouts from it (if wifi is working at install time, that is).

d553b90c 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSynth/BSoftSynth: implemented GetAudio().
Patch by Pete Goodeve (modified by me, hopefully for the better and
without introducing bugs) which implements BSynth::GetAudio().

c98378e5 15-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Add HTTP proxy support.

* Move default context management to BUrlRequest since some code
(including the testsuite) bypass the BUrlProtocolRoster.
* Introduce proxy host and port in BUrlContext
* Have BHttpRequest use the proxy when making requests

fd7f53f0 14-Sep-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

storage kit: don't expose the dev_t in BPartition::Mount()

Comments to #9672 agree that there's really no need to
expose the dev_t handle, thus simplifying the API.

The dev_t handle, if required, can be retrieved via
BPartition::GetVolume() instead.

95e97463 14-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel: add generic wrapper for accessing user memory

This patch adds user_access() which can be used to gracefully handle
page faults that may happen when accessing user memory. It is used
by arch_cpu_user{memcpy, memset, strlcpy}() to allow using optimized
functions from the standard library.

Currently only x64 uses this, but nothing really is arch specific here.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

396b7422 10-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel/x86_64: save fpu state at interrupts

The kernel is allowed to use fpu anywhere so we must make sure that
user state is not clobbered by saving fpu state at interrupt entry.
There is no need to do that in case of system calls since all fpu
data registers are caller saved.

We do not need, though, to save the whole fpu state at task swich
(again, thanks to calling convention). Only status and control
registers are preserved. This patch actually adds xmm0-15 register
to clobber list of task swich code, but the only reason of that is
to make sure that nothing bad happens inside the function that
executes that task swich. Inspection of the generated code shows
that no xmm registers are actually saved.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

b41f2810 06-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

boot/x86_64: enable sse early

Enable SSE as a part of the "preparation of the environment to run any
C or C++ code" in the entry points of stage2 bootloader.

SSE2 is going to be used by memset() and memcpy().

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

f2f91078 06-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel/x86_64: remove memset and memcpy from commpage

There is absolutely no reason for these functions to be in commpage,
they don't do anything that involves the kernel in any way.

Additionaly, this patch rewrites memset and memcpy to C++, current
implementation is quite simple (though it may perform surprisingly
well when dealing with large buffers on cpus with ermsb). Better
versions are coming soon.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

6156a508 06-Sep-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel/x86[_64]: remove get_optimized_functions from cpu modules

The possibility to specify custom memcpy and memset implementations
in cpu modules is currently unused and there is generally no point
in such feature.

There are only 2 x86 vendors that really matter and there isn't
very big difference in performance of the generic optmized versions
of these funcions across different models. Even if we wanted different
versions of memset and memcpy depending on the processor model or
features much better solution would be to use STT_GNU_IFUNC and save
one indirect call.

Long story short, we don't really benefit in any way from
get_optimized_functions and the feature it implements and it only adds
unnecessary complexity to the code.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

3594baab 13-Sep-2014 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Add get_name and fix get_next_object.

TODO: Need to add defines or enum for nameType.

8bfb30ce 22-Dec-2013 Puck Meerburg <puck@puckipedia.nl>

BPartition: Move dev_t return value to an optional parameter

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>

15d8a434 10-Sep-2014 Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

Add function to walk through children.

Without losing my sanity that is.
ACPI API refactoring will happen some day.

eea45d0a 06-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

ARM: cleanup of bootloader memory mapping

* Removes default mapping of a portion of the RAM (will be done
as needed)
* Passes on the page directory area to kernel, so on early vm init
the kernel can use the area for pagetable allocation.
* Leaves it to the platform to pass in physical memory range(s). This
will ultimately come from FDT.
* Fix long standing issue with allocation of the heap, potentially
causing other part of the bootloader to overwrite the heap.
* Implements pagetable allocator in kernel for early vm mapping.

This fixes the first PANIC seen, we now just get the same one later
on when the VM is up... more to come...

6048591e 07-Sep-2014 Ithamar R. Adema <ithamar@upgrade-android.com>

Revert "Added check to ensure KDL does not include frames beyond kernel entry in the backtrace. This prevents KDL from faulting when printing backtrace on ARM."

This reverts commit 3fbb24680c819d0819f4f876fe6565c336a19139.

As I mentioned in #11131, this fix is not correct, and works around
the problem. The real reason was that arch_debug_call_with_fault_handler
was not working properly, so the fault handler went crazy.

With commit eb92810 that is fixed so this can be reverted.

5de8dca2 02-Sep-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Bootloader: fix loading of ARM ELF files

* Let the loader know about PT_ARM_UNWIND (and ignore it)
* Allow up to 32K of space between sections of an ELF files as ARM ones
need that.

83f5e2a2 02-Sep-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Fix stack alignment for bootloader.

The ARM SP is pointing to the top item of the stack, not the first free
byte. This was confusing dprintf making it fail to print 64bit integers.

3fbb2468 14-Aug-2014 Arvind S Raj <sraj.arvind@gmail.com>

Added check to ensure KDL does not include frames beyond kernel entry in the backtrace. This prevents KDL from faulting when printing backtrace on ARM.

e94bd481 02-Sep-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix "strict aliasing rules" warnings

Treated as errors when trying to build the test_app_server for x86_64.

ffd7c611 30-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

JSON parser: Improve by using exceptions to get exact error

Also strip redundant "_Parser_" prefix from private methods.

9e616c6b 28-Aug-2014 Adrien Destugues <pulkomandy@gmail.com>

Fix HaikuBuildCompatibility to not define atmics anymore.

This reverts commit 34dbbb65fdfa4a70cd2c472731bb71b16385e29f.
Instead, we can remove thos from HaikuBuildCompatibility and things will work fine, unless one try t build Haiku on BeOS (this isn't
supported anymore) or a very old Haiku which esdon't have those.

34dbbb65 28-Aug-2014 Adrien Destugues <pulkomandy@gmail.com>

Make atomics extern "C" again.

Pawel changed the implementation but I see no reason to make those available only from C++, so it must be an oversight.
Fixes building Haiku on Haiku which otherwise hits a mismatch in build compatibility headers.

4b75a1e2 25-Aug-2014 Paweł Dziepak <pdziepak@quarnos.org>

kernel/x86_64: implement x86_swap_pgdir in C++

No reason not to inline this function.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

a4cdc607 25-Aug-2014 Paweł Dziepak <pdziepak@quarnos.org>


No reason not to use GCC atomic support on non-x86 archs.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

2e2c9bd3 25-Aug-2014 Paweł Dziepak <pdziepak@quarnos.org>

os/support: implement atomic_*() using GCC builtin helpers

If GCC knows what these functions are actually doing the resulting
code can be optimized better what is especially noticeable in case of
invocations of atomic_{or,and}() that ignore the result. Obviously,
everything is inlined what also improves performance.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>

836bf249 24-Aug-2014 Stephan Aßmus <superstippi@gmx.de>

Json: Don't force someone including to use BPrivate.

e4d2963e 04-Aug-2014 Augustin Cavalier <waddlesplash@gmail.com>

libshared: Introduce JSON parser and MessageBuilder.

Based on an earlier piece of source code of mine that parsed JSON into
QObjects, this JSON parser creates a BMessage tree.

Will be used by Stephan in HaikuDepot for communication with the web app.

87e8603d 13-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Merge branch 'gcc_syslibs'

* From now on, the gcc-specific system libraries (libgcc, libsupc++ and
libstdc++) are provided by separate packages built along with gcc:
- gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and
- gcc_syslibs_devel contains the static libraries and both c++ and gcc
The shared libraries now make proper use of symbol versioning and there
are version-specific symlinks
* The buildsystem has been adjusted to no longer use the libraries and
headers from the cross-compiler, but use the ones provided by the
above-mentioned packages. The only exception is that the 32-bit libraries
required for the bootloader of the x86_64 architecture are still taken
from the cross-compiler.

37f558d5 01-Aug-2014 Oliver Tappe <zooey@hirschkaefer.de>

Let runtime_loader ignore RT_RELRO program headers.

* The new libstdc++.so contains program headers of type PT_RELRO (for
making segments read-only after relocation). While the actual feature
has not been implemented, the runtime_loader should now silently
accept (and ignore) those program headers.

0cf10e9d 22-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Style fixes to NavMenu.h

Pointer style, whitespace.

Convert TrackingHookData from a class to a struct (all members public)

4ad7d95b 09-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "Add sys/ucontext.h"

This reverts commit 6ddf93bfbec1ecec76cf119c50327f93f6d4fef8.

As pointed out by Ingo, those were moved to sugnal.h in the latest issue
(issue 7) of the POSIX spec. Sorry!

6ddf93bf 09-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add sys/ucontext.h

* Move ucontext_t and mcontext_t there as that's where POSIX says they
should be.

3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949

82d287dd 08-Aug-2014 Arvind S Raj <sraj.arvind@gmail.com>

Reserve 8MB space for kernel before RAM_loader

...so that kernel does not overwrite the loader.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11067.

295ded8c 07-Aug-2014 François Revol <revol@free.fr>

Fix gopher

fInputBuffer was shadowing the base class member...

4dc5ce8f 03-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

mknod[at](): moves from unistd.h to sys/stat.h

* this solves #10883.

89b4e98a 04-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move signal hack to BNetworkRequest

* This is used to unlock sockets when a read is pending after a close
* It is not needed on requests that don't use a socket.

2f9b1874 04-Aug-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Factor out a BNetworkRequest

* Shares common behavior between the Gopher and HTTP request handlers.
* Most of this can be used when implemeting other protocols.

92d55608 03-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

USB_massbulk.h: use a proper naming for a public header.

d9ecf5f3 31-Jul-2014 Jérôme Duval <jerome.duval@gmail.com>

usb_disk: extract specs into a public header.

22ea661b 01-Aug-2014 Colin Günther <coling@gmx.de>

MediaKit: Extend media_[audio|video]_header structures.

- This allows a BMediaDecoder (e.g. FFMPEG Plugin) to communicate back format
changes to its clients.
For a more thorough explanation and discussion see haiku-development mailing
list: http://www.freelists.org/post/haiku-development/Request-for-protest-Media-Kit-Extend-media-header-struct

- Backwards compatibility is taken into account and preserved by reducing the
relevant _reserved[] fields.

- Code changes that will actually make use of these extensions are due for the
following commits. As these structure extensions affect several Haiku
components (e.g. media_server, MediaPlayer, etc.) and third party apps (e.g.
StampTV, etc.) I refrain from committing them in one batch with this commit.
This should make it easier to track down bugs originating in this code
(cherry picked from commit 806b6888d2dcf84b4934f8f137a48d3381864d1c)

70f91e39 29-Jul-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove preprocessor checks from TestShell.h

* This is a header used by several parts of the code which should not
need to know about ELF symbol overriding and the fact that it is
* When the define is set, the methods will not be defined, but they
shouldn't be called, either
* This makes sure the memory layout of the class stays the same with the
define set or unset, and users can rely on it.

Fixes UnitTester on gcc2.

a1cce970 28-Jul-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

HttpRequest: more small fixes and cleanups

* Remove unneeded field fOutputHeaders and convert it to a local for the
only method that uses it,
* Don't return EOVERFLOW when flushing data from ZLib (the ZLib
decompressor returns this, but zlib docs states that this is NOT an
error condition).
* Replace unneeded temporary BNetBuffer of fixed size with BStackOrHeapArray.

548149fe 28-Jul-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix out-of-date comment.

021ebc2f 28-Jul-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Add the port to the HTTP Host header when needed.

* When the port is not the default one, it must be added to the "Host"
header so the server knows what we're connecting to.

Fixes #11070.

0c1a4ebf 25-Jul-2014 François Revol <revol@free.fr>

Preliminary support for Gopher

Currently parses information and text items and retrives files.

d11a3231 24-Jul-2014 John Scipione <jscipione@gmail.com>

TextView: Fix FBC size breakage, take 2

Double checked BeOS R5 & Haiku R1/A4 and BTextView should be 356
bytes, somewhere since then we've added 4 bytes. So, this commit
reduces the class size from 360 back to 356 by removing 1 reserved
int32 (instead of 2).

I believe the class size changed in hrev46798 as a result of adding
2 bools (1 byte each padded out to 4 bytes).

Sorry for the noise.

fb224a9f 24-Jul-2014 John Scipione <jscipione@gmail.com>

Revert "TextView: Fix FBC size breakage"

This reverts commit 8e268f7552ca94716995885483d34d4053cc94a2.

8e268f75 23-Jul-2014 John Scipione <jscipione@gmail.com>

TextView: Fix FBC size breakage

In hrev46796 I added two new private methods: _PreviousLineStart(),
and _NextLineEnd() which increased the size of the class breaking
binary compatability because I forgot to decrement the reserved array.

This commit decrements the reserved array restoring the class size
to the original size fixing the binary compat issue.

Thanks Axel for noticing.

fef862eb 23-Jul-2014 John Scipione <jscipione@gmail.com>

TextView.h rearrage virtual methods for FBC

The order is updated so the virtual methods appear in the same order
that they did in BeOS R5 with methods new to Haiku added to the bottom.

Perform() moves up, all other methods move below GetDragParameters(),
the last virtual method in BeOS R5's TextView.h.

0be89c15 23-Jul-2014 François Revol <revol@free.fr>

tty: Add bitmask ioctls TIOCMBIS and TIOCMBIC

Equivalent to TIOCMSET + bitmask + TIOCMGET but with a single call.

Gnokii uses that.

c8826605 21-Jul-2014 François Revol <revol@free.fr>

Guard header for use by assembler code

Somehow it ends up being used by shell.S for the verdex bootstrap.

9f7d29b0 21-Jul-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix two problems with chunked gzipped HTTP replies.

* receiveEnd is set in a different place in case of chunked transfers,
which would cause the decompressor to never be flushed.
* In the case of chunked transfers, we call Flush() without any input
data (to flush only whatever is remaining in the decompression buffer).
This causes ZLib to return Z_BUF_ERROR which is translated to
B_BUFFER_OVERFLOW. This is a non-fatal error and is expected behavior in
that case. Don't handle this as an error, and do use the extracted data.

Fixes various cases of missing the last chunk of a page (pastie.org,
Google search results, and more).

e8c8f853 14-Jul-2014 John Scipione <jscipione@gmail.com>

Storage Kit: Style fixes to database_support.h

24588f6b 14-Jul-2014 John Scipione <jscipione@gmail.com>

BShape: Rename these params back in header.

Accidentally renamed these in the header, rename them back to
match the cpp file. These param names might not be very good but
they match the struct variable names. They are private methods
anyway. No functional change intended in either commit.

db1ef05a 14-Jul-2014 John Scipione <jscipione@gmail.com>

BShape: Style fixes for docs

e1e6c124 13-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageWriter::Recompress(): Change param to BPositionIO*

Besides that this is a nicer interface, it allows us to get a the HPKG
header as a side effect of initializing the reader, thus preventing
seeking backward in the file. This makes "package recompress - <file>"

43a6b92c 13-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

PackageReaderImpl: Delay reading sections until ParseContent()

1606450b 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

ReaderImplBase::Init(): Make file size check optional

If the file doesn't support GetSize(), skip the header total size file
size check.

05b565f4 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add private BDataPositionIOWrapper

Implements the BPositionIO interface on top of a BDataIO, requiring the
{Read,Write}At() accesses to be sequential.

44c47711 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageWriter: Add BPositionIO support

b916156a 13-Jul-2014 Julian Harnath <julian.harnath@rwth-aachen.de>

Move libroot synchronization functions to private namespace

* Prefix lock functions with __ to mark them as private. Add
forwarding macros to keep existing code working.

* Avoids symbol name clashes with kernel lock APIs, occuring when
using kernellandemu-lib in userlandfs. Thanks to Ingo for the

2e75b752 13-Jul-2014 Julian Harnath <julian.harnath@rwth-aachen.de>

Fix building Haiku from Haiku

* Always include cdefs.h to have __[BEGIN|END]_DECLS defined.
Somehow, this didn't affect cross-build, but it made building
from Haiku fail.

8f5130ed 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: Actually add support for B_HPKG_COMPRESSION_NONE

Until now we always declared in the HPKG header that the package file is
zlib compressed. For uncompressed files we would just store all
individual chunks uncompressed. Now we handle completely uncompressed
files slightly differently: We don't write the redundant chunk size
table anymore. The size savings are minor, but it makes the uncompressed
format read-streamable which may be handy.

e527b796 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch package file accessor classes to use BPositionIO

* PackageFileHeap{Reader,Writer} as well as Package{Reader,Writer} and
their implementation and super classes do now internally use a
BPositionIO instead of a FD to access the package file. This provides
more flexibility needed for features to come.
* BPackageReader has already grown a new Init() version with a
BPositionIO* parameter.

c55a0605 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add private class BFdIO

Simple BPositionIO implementation using the POSIX API on a FD. In effect
similar to BFile, but more easily ported to kernel and boot loader (and
the FD is reusable).

8546c416 12-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPositionIO: Add {Read,Write}AtExactly()

Analoguous to {Read,Write}Exactly(), just for the *At() versions.

74e1a530 11-Jul-2014 Jérôme Duval <jerome.duval@gmail.com>

Revert unrelated part of 17aa359b5df69f658b4b33e29546c9fb2f0cfce3.

17aa359b 28-Jun-2014 Akshay Jaggi <akshay1994.leo@gmail.com>

XHCI USB: Fixes.

* Add support for hubs in AllocateDevice().
* Prevent page fault in FinishTransfers().
* Set fCapabilityLength
* Correct in BIOS ownership code
* Fix context errors in _InsertEndpointForPipe().
* Update constants according to latest Specification (v1.1)
* Fix SMI code (reference
* Fix Memory/Device-Slot leaks.
* Fix area allocation for TRBs.
* Fix for Intel Lynx Point and Panther Point chipsets. Also move init
of xhci before ehci, to switch USB 2.0 ports before the ehci module
discovers them.

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>

de9c0613 03-Jul-2014 Axel Dörfler <axeld@pinc-software.de>

bfs: Use the QueryParserUtils instead of its own copy.

* Ingo copied the methods into a shared location, and then obviously
"forgot" to let BFS use them. As a side note for Ingo: the complete
error GCC reported was "std::fssh_size_t" not defined with the macro
wrapper as code location. The actual problem was a "using std::size_t"
in some C++ header that accidentally got included after the wrapper.
* The shared Query code is not yet used. That'll be done another time.
* Renamed BFS_SHELL define to FS_SHELL, such that QueryParserUtils can be
used in any file system shell, not just the bfs_shell.

cdfeba5a 08-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageWriter: Add Recompress()

Allows rewriting an existing package file with a different compression.

a5330a8e 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove private support kit BUrl

Use the public BUrl from the network kit instead.

72f6b787 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BUrl: Add missing functionality from support kit BUrl

6926863e 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

DynamicBuffer::Write(): Fix return type and semantics

7616c39d 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

DynamicBuffer: dos2unix

739f15e1 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Revert "DynamicBuffer: implement BDataIO""

This reverts commit 747b401e875f19d83508cc39176f4c263182c515.

72cf56a0 01-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BZlibCompressionAlgorithm: Basic support for gzip format

b3263ad3 30-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch package kit to BZlibCompressionAlgorithm

... and remove the Zlib{Compressor,Decompressor} API.

dcdc33b0 29-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add B[Zlib]CompressionAlgorithm

* BCompressionAlgorithm is a base class for classes that provide
compression/decompression functionality. There are methods for
compressing/decompressing a single buffer and factory methods for
a compressing/decompressing input/output BDataIO.
* BZlibCompressionAlgorithm is a BCompressionAlgorithm implementation
using zlib.

6a89a36a 24-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Move package kit Zlib* classes to support kit

Also move to B* namespace and no longer expose the zlib dependency in
the headers.

b773d89e 29-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BDataIO: Add Flush()

0dab9e5c 29-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: ReaderImplBase: Remove superfluous scratch buffer

0a62e019 30-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

PackageWriterImpl: Remove superfluous method

eef22dfb 25-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Revert "Remove haiku_host/Errors.h"

This reverts commit f105756e273ccff786618c049ea97ac7c9c7b501.

The host header gets included if this file is missing , rather than the
one in the build tree. Fix the build again.

732c5797 25-Jun-2014 John Scipione <jscipione@gmail.com>

Roster: style fixes.

* Check if == NULL or == 0 explicitily
* Use NULL instead of 0 as default value for pointers in header.
* other little stuff, new lines, comments

f105756e 25-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove haiku_host/Errors.h

The only purpose of this was to use the installed version of Errors.h,
which isn't strictly needed and create some annoyance when new error
codes are added.

e0016ffd 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to BRoster, move docs to doxygen.

Keep the brief description as a regular comment above each public method.

Leave the docs of private methods.

Some variable renaming mostly because of abbreviations.

Add documentation for all the public methods and app_info members and defines
that didn't have docs in the cpp file.

158ae743 25-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Escape reserved characters when converting paths to urls

* Introduce and use BUrl::BUrl(const BPath&)
* The path is url-encoded, and the protocol is set to "file"

Fixes #10964.

6bcbdcc3 25-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Use current Errors.h when building libbe_build

This allows adding new error codes to the libbe_build without breaking
the build on older Haiku versions.

Fixes the build for the newly introduced B_PARTIAL_READ and

29e8fa59 24-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Support Kit files

84297881 23-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove BPackageKit::[...]::AbstractDataWriter and friends

* FDDataWriter and ZlibDataWriter weren't used anymore.
* AbstractDataWriter was implemented only by PackageFileHeapWriter,
which was only used by WriterImplBase.
* Add a PackageFileHeapWriter::AddDataThrows() which has semantics
equivalent to the previously inherited WriteDataThrows().

32832cbe 23-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove BPackageKit::BDataOutput

Use BDataIO instead.

0d8b44e2 20-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BDataIO: Add methods {Read,Write}Exactly()

dec78bb2 20-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add new error codes B_PARTIAL_{READ,WRITE}

98759fe6 20-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BDataIO: Provide default implementations for Read()/Write()

This makes the interface somewhat more suitable for unidirectional use,
since one doesn't have to implement the other, not needed method.

33d60fa2 19-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

BRegion: add ScaleBy(BSize) and user documentation.

9576c4b7 19-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

BRegion scaling: fix semantics to avoid holes/overlaps

Thanks to Stippi for pointing this out.

669ac9d6 19-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

BRegion: add ScaleBy method.

* Is there a reason to not have it?

8d39283b 18-Jun-2014 John Scipione <jscipione@gmail.com>

While I'm at it fix tiny style issue I missed

5efee6df 18-Jun-2014 John Scipione <jscipione@gmail.com>

NodeMonitor: Revert enums back to #defines

While enums are presented much more clearly in the docs and the values didn't
change this apparently caused some issues so we're going back to using #defines.

Also update the docs changing the \var tags to \def tag and putting the description
in a \brief tag.

a30a4a41 18-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Storage Kit classes.

No functional changes intended.

* Some variable renaming for clarity and consistency.
* Pointer style fixes.
* Added private method documentation back to cpp files for some methods.

d2d1af83 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Move ZlibDecompressor to libshared"

This reverts commit 9af2105d36856be60528c361edf14a263f242338.


747b401e 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "DynamicBuffer: implement BDataIO"

This reverts commit 36b1f55a1841d63f0e6487e2c62c280cb24a63c4.

707f60f4 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Fix build."

This reverts commit 00dfae0bce7e63243180e89847df647cfa57be85.

a05da9f4 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "...and also fix a mismatched prototype"

This reverts commit 6555120f3b0dbc783ff5cc22a4ff0ceade53a2d8.

4c235c74 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Fix more issues detected by gcc4 compiler:"

This reverts commit 19f3bae0716c4eb7dd2a5716778560580be68071.

d5660e67 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "build fix follow up on status_t/ssize_t changes."

This reverts commit 7202cfb455cae89faa6e2fa3d9a9d28c3068fa6b.

5c9672ed 17-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Add watching support for installation location package changes

Can be requested/stopped via BPackageRoster::{Start,Stop}Watching().
The notification message has the what code B_PACKAGE_UPDATE and contains
fields "event", "location", and "change count".

f2f19f11 15-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageManager: Support installing/updating local package files

* The Install() and Update() versions that take a const char* array
now check whether a string looks like a path to a local package file.
If so, they use that file instead of interpreting the string as a
search string.
* Extend the repository hierarchy. There's now a LocalRepository base
class from which InstalledRepository and the new MiscLocalRepository
derive. The latter is instantiated once and collects all package files
specified by path.

eee42275 14-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageManager: Make BCommitTransactionResult available

* BFatalErrorException: Add commitTransactionResult property and
respective constructor. In case committing the transaction failed,
BPackageManager throws a BFatalErrorException with the result.
* BFatalErrorException::UserInteractionHandler: Pass
BCommitTransactionResult to ProgressTransactionCommitted().

0de3219e 14-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

package daemon: Rework error and issue propagation to client

* BDaemonClient: Move inner class BCommitTransactionResult to top level
and make it public.
* BCommitTransactionResult:
- Add a whole bunch of specific error code enum values. Such an error
code is now the primary error, as opposed to before where we would
mix status_t and enum value errors. There's a systemError property
of type status_t which may provide additional information, though
(depending on the primary error type).
- Remove the errorMessage property. Due to mapping all errors to the
specific error codes this is no longer necessary. Mixing such a
message with another error description is also not very helpful when
it comes to localization (still not supported, though).
- Add several properties (paths, strings, error codes) that serve as
arguments to the primary error and are used by FullErrorMessage().
- Add issues property, a list of instances of new class
BTransactionIssue. Those describe non-critical issues (e.g. failed
update of a settings file) that occurred in the process of
committing the transaction. Those issues should be presented to the
user by the package management program.
* Exception: Adjust to transport the BCommitTransactionResult
* CommitTransactionHandler, FsTransactions, Root, Volume: Adjust to
BCommitTransactionResult/Exception changes.
* CommitTransactionHandler: Now requires a BCommitTransactionResult to
which it adds the issues it encounters. The reply BMessage is no
longer needed, though.
* Volume: Refactor common code from the three methods that use
CommitTransactionHandler into new method _CommitTransaction.

6077cad8 13-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BEntryOperationEngineBase::Entry: Add debug methods

Add GetPathOrName() and PathOrName() methods which try to get some kind
of usable path or at least a file name for the entry. Useful mainly for
debugging and error reporting cases.

9680cf0b 10-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BEntryOperationEngineBase::Entry: Add node_ref+path c'tor

1f424632 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to IK, focus on docs

4a2260f2 13-Jun-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

Let the bootloader know about ARMv7.

When an ARMv7 CPU is detected, immediately turn on the FPU. This allows
us to use vsnprintf in the TRACE call in that function, as our libc is
compiled with floating point support and will trigger a fault if the FPU
is not available.

This lets the boot go further, and crash in mmu_init. Next steps:
* Find why mmu_init is crashing
* Setup some fault handlers, otherwise we call uboot ones, and they are
not very helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is
enabledvery helpful. They will also probably not work once the mmu is

b64f1a97 13-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

tiff: drop sources and headers from the source tree

* also drop jpeg and png headers

219bf21e 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to Locale Kit, focus on docs.

37fedaf8 11-Jun-2014 John Scipione <jscipione@gmail.com>

Style fixes to the Game Kit, focus on docs

be902ac4 11-Jun-2014 John Scipione <jscipione@gmail.com>

App Kit: style changes.

No functional change intended.

Focused on documented classes only.

* Update copyright information.
* whitespace fixes.
* pointer style
* Rename some variables, msg => message, form => what
* Need consistent variable names to make documentation easier,
allows us to use \copydoc or \copydetails instead of repeating
ourselves over and over again.

def1a057 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Made the wrong constructor private.

bec7cb10 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Also move the build version of BReferenceable.

* Should fix the build, but results in an internal compiler error here
(with a gcc2 haiku host). Let's see what the buildbots think...

b92e7f15 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make BReferenceable public.

* The Network Kit now makes use of it for BUrlContext, so we need this
in the public headers.
* Problem caught by the new build bot by compiling the unit tests.

895fa41e 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Make handling of Http Authentication thread safe

* Each BHttpAuthentication object is locked on all field accesses,
* They are owned by the BUrlContext and never deleted, so there is no
need for reference-counting them,
* The BUrlContext itself is now reference counted, and all BUrlRequests
hold a reference to it.

This makes sure using the BHttpAuthentication objects from requests is

463ffbfd 11-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

First steps towards cookie jar thread-safety

* Change the semantics of the iterators copy constructor and assignment
operator: they now return a new iterator for the same cookie jar (and
same url for the UrlIterator). They don't try to point to the same
position as the copied iterator. The only purpose of these is to write
code such as:

Iterator it = jar.GetIterator();

so having a full copy isn't that useful.

* The per-domain cookie lists are now protected with a read-write lock.
The iterators retain a read lock while they are handling cookies from
that list. They get a write lock when doing Remove. Adding a cookie to
the jar also gets the write lock for the matching list

* Fix a memory leak when adding a new domain-list to the jar failed

* Simplify the declaration of the PrivateHashMap type (it would be
even simpler if HashMap was a public API)

* The domain hashmap is now a SynchronizedHashMap. It is locked as long
as an Iterator or UrlIterator exists, which may be a problem as these
are public APIs. Writing safe iterators for an hashmap with concurrent
accesses is not easy, so the API could be modified to return a list of
domains and a list of cookies for a given domain or URL instead. This
would suit the intended uses just as well.

* The jar now store const cookies, so there is no need to lock them for
access/modification. Updating a cookie is done by replacing it with
another one in the jar (with the same domain and value). There is still
the problem of deleting a cookie while other threads may still access
it, this will be fixed by making cookies BReferenceable.

1cbab031 09-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

More relaxing of cookie-setting rules

* Allow non-secure page to set (but not read) secure cookies
* Allow pages to set cookies for subdomains (but not access them)

2f32fd1d 07-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

wchar.h & string.h: use _GNU_SOURCE instead of __USE_GNU.

a3b79608 07-Jun-2014 Jérôme Duval <jerome.duval@gmail.com>

search.h: fix typo.

* Thanks diger for noticing.

7f1f341e 06-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Forgot to commit changes to the header.

3df92355 05-Jun-2014 Stephan Aßmus <superstippi@gmx.de>

HttpRequest.h: Fixed some formatting

cb1a99c5 05-Jun-2014 Stephan Aßmus <superstippi@gmx.de>

HttpHeaders: Small code refactorings
Also check BList::Add() for success when adding a BHttpHeader.

daabbbe5 04-Jun-2014 John Scipione <jscipione@gmail.com>

BRegion: Style fix, update parameter name

No functional change.

Trying to indentify each kind of object uniquely and consistently.

... update docs as well.

cd805f67 04-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove some redundant fields

These were getting out of sync and causing trouble, and they are easy to
compute from existing information.

Fixes some problems detected by the testsuite where the user/password or
the host would sometime disappear from the URL.

44cee340 03-Jun-2014 John Scipione <jscipione@gmail.com>

BRegion: Style updates for documentation.

No functional changes intended.

* Updated copyright information.
* Reduced doxygen documentation down to a helpful summary
in a regular comment, the documentation has been moved into
the Haiku Book.
* Some parameter renaming for consistency and clarity.
* A few other style fixes.

c1400fb6 03-Jun-2014 Axel Dörfler <axeld@pinc-software.de>

intel_extreme: use VESA EDID info as fallback.

* Only in case retrieving EDID info failed on head A and C.
* Should help with detecting the native resolution for ticket #10878.

002f37b0 03-Jun-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Explicit template instanciation to please gcc2.


1f46fc6d 30-May-2014 John Scipione <jscipione@gmail.com>

BRect: Style fixes for documentation

1e314683 30-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

ByteOrder.h: separate host & Haiku versions.

* This avoids polluting the Haiku headers with host issues,
as pointed out by Axel.
* Should also resolve build issues for various versions of
host compilers that were introduced in previous commits.

fad4fc59 30-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Revert "ByteOrder.h: remove use of __builtin_bswap16."

This reverts commit 040dc2eebc6628cc05c4ac5e287c5287c5dacf2e.

040dc2ee 29-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

ByteOrder.h: remove use of __builtin_bswap16.

* Fixes the build for host compilers older than gcc-4.8

44ec21c3 29-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

ByteOrder.h: simplify compiler test

* A problem with our gcc requires adding casts for gcc4 when
the __builtin_bswap functions are used with a format string
* Unlike gcc2, the __builtin_bswap functions do not get disabled
despite using -fno-builtins, hence added compiler check in

8ad6baf7 28-May-2014 John Scipione <jscipione@gmail.com>

BButton style fixes for docs.

No functional change intended.

b29d84a8 28-May-2014 John Scipione <jscipione@gmail.com>

BRadioButton style fixes for docs.

7ad8e674 28-May-2014 John Scipione <jscipione@gmail.com>

BCheckBox: Style fixes, variable renaming for consistency, docs.

Also some other style fixes, no functional changes intended.

092e3093 28-May-2014 John Scipione <jscipione@gmail.com>

BControl: Style fixes, variable renaming for consistency, docs.

Also some other style fixes, no functional changes intended.

f4870e1c 27-May-2014 John Scipione <jscipione@gmail.com>

BView: Rename parameters for consistency, docs.

No functional change.

4ffdf2ed 03-May-2014 Jessica Hamilton <jessica.l.hamilton@gmail.com>

Use GCC builtins for byte-swapping. Fixes #10800.

* Introduced in gcc-4.3 for at least Intel platforms
* On ARM, full support added in gcc-4.8
* Other platforms untested, left as-is
* This introduces a breaking change to the ABI for gcc4

e321d716 25-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add latest generation radeon_hd cards

* These aren't tested, but since we go off of DCE
versions for a lot of stuff, they may work.
* AMD doens't include market names in their drivers
anymore, so if we want to label them it will take
additional work.

b955a4ca 21-May-2014 John Scipione <jscipione@gmail.com>

BPolygon: Style fixes for documentation.

cc672163 20-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

kernel: Toggle not toogle; no functional change

c109d7e0 19-May-2014 John Scipione <jscipione@gmail.com>

BPictureButton: Style fixes related to documentation

Some variable renaming for consistency.

df48d3f9 19-May-2014 John Scipione <jscipione@gmail.com>

BPicture: Style fixes related to documentation.

Mostly pointer style adjustments

a8f90110 18-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

h2: Fix bluetooth driver build, missing PrivateKernelHeaders

* We likely should move all of this stuff to normal
atomic test and set operations at some point.

76636769 06-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

kernel/x86_64: inline x86_{read, write}_msr()

This patch makes it possible to inline rdmsr and wrmsr instruction. The
performance impact shouldn't be significant since they are used relatively
rarely and wrmsr is usually a serializing instruction, but there is no reason
not to do so.

88e8e24c 06-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

kernel/x86_64: improve context switch implementation

The goal of this patch is to amortize the cost of context switch by making
the compiler aware that context switch clobbers all registers. Because all
register need to be saved anyway there is no additional cost of using
callee saved register in the function that does the context switch.

9db5b975 06-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

kernel/x86_64: rework of IDT handling code

Similarly to previous patch regarding GDT this is mostly a rewrite of
IDT handling code from C to C++. Thanks to constexpr IDT is now entirely
generated at compile-time.

cd59bf43 05-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

kernel/x86_64: x86_64 gdt handling code overhaul

Virtually no functional change, just rewriting the code from
"C in *.cpp files" to C++. Use of constexpr may be advantageous but
that code is not performance critical anyway.

4284b6c9 02-May-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BInstallationLocationInfo: Provide more info

* If the active state is not the latest state, also provide a package
set for it.
* If an old state has been booted, provide its name.

5a1c6a70 01-May-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

InstallationLocation: Rename [in]activePackages properties

Add prefix "Latest".

44c0c4d3 03-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

runtime_loader: add support for ELF based TLS

This patch introduces support of ELF based TLS handling with lazy allocation
and initalization of TLS block for each DSO and thread. The implementation
generally follows the official ABI except that generation counter in dtv
is in fact a pointer to Generation object that contains both generation
counter and size of the dtv. That simplified the implementation a bit, but
could be changed later. The ABI requirements regariding in memory position
of TLS block is not honoured what results in static TLS model being
unsupported. However, that should not be a problem as long as
"executables" in Haiku are in fact shared objects and optimizations which
require specific TLS block in memory layout are not possible anyway.

828ea2c4 03-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

headers/system: add ELF TLS related constants

634bc98a 02-May-2014 Pawel Dziepak <pdziepak@quarnos.org>

libroot/x86[_64]: relax asm constraints in tls_*() functions

1d09e9ce 29-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

BScrollbar: remove unused field.

* Nothing ever reads fTargetName in the scrollbar code, so remove the
* Frees one reserved slot, and a little memory, as the target name was
copied with strdup.

8d250951 29-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix ptrdiff_t limits introduced in r24654 (!)

* The ptrdiff_t limits are PTRDIFF_MIN and PTRDIFF_MAX, not PTDIFF_*.
* I could not find any non-Haiku reference to PTDIFF_*, so I guess
that's a mistake.

333d4efe 25-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>


Also return the package file names.

53dd259b 26-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

added tar.h posix header.

* based on http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/tar.h.html

53286932 24-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move IconMenuItem.h to headers/private/tracker.

* This can be useful outside of Tracker, so make it more visible.

94089b90 19-Apr-2014 Oliver Tappe <zooey@hirschkaefer.de>

Revert 6f68e52 and fix the gcc2 build via template.

* Instead of forcing the hash-table to use a copy of the key,
introduce and use TypeOperation template to avoid taking a
reference of a reference type (which gcc2 doesn't allow).

2d91773d 18-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Adjust packagefs ioctl interface to support old states

* PackageFSVolumeInfo: Add the directories for all relevant states.
* PackageFSPackageInfo: Include the package file's parent directory node

Package daemon and package kit still don't support old states yet.

5c0f8450 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add support for choosing an old packages state

For potential boot volumes with older packages states the respective
item in the boot volume menu now has a sub menu for selecting a state.
The boot loader functionality for this feature is complete -- i.e. the
respective kernel is loaded and the name of the old state is added to
the kernel args -- but kernel packagefs and package daemon support is
still missing.

59ae1c81 14-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Boot loader: Add get_stat(), directory_from()

* Add Node::Stat() and simplify Descriptor::Stat().
* Add get_stat() and directory_from().

2f019bd6 01-Apr-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

boot loader: Implement subset of <dirent.h> API

* Add opendir(), closedir(), readdir(), rewinddir().
* Add open_directory(), similar to opendir(), but basing the path off a
specified directory.

cfc4b623 12-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Network Kit: Prepare for HTTP range requests

* The DataReceived hook gets a position argument, making it possible for
listeners to handle out-of-order data (from two range requests at
different positions, for example)
* Adjust HaikuDepot (only user of the API in our sources)
* Add a copy constructor to HTTPRequest that copies the relevant
parameters from an existing request. Makes it easy to repeat a request
with a different range. Could be useful for restarting downloads, or
paralellizing them.
* Add SetRangeStart, SetRangeEnd calls to HTTPRequest, no implementation
yet. I'm putting all the API changes in this commit as it needs to be
synced with a matching haikuwebkit release.
* All archs must update to HaikuWebkit 1.3.0. Previous versions are
broken by this.

ebd3bcdb 12-Feb-2014 John Scipione <jscipione@gmail.com>

exfat: handle 4-byte UTF-16 surrogate pairs

... in filenames. Replace the existing Unicode conversion functions
with UTF conversion functions from js that he relicensed MIT for us.

Put the UTF conversion functions in a private but shared code location
so that they can be accessed throughout the kernel.

Right now we only provide functions to convert between UTF-8 and UTF-16.
At some point we should also add functions to convert between UTF-8 and
UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat.

Remove the old Unicode conversion functions from exfat as they assumed
UCS-2 characters and don't work with UTF-16 used by exfat.

Rename most variables with the term length with code unit where code units
are intended. The term length, when used, means length in bytes while code
units represent either a full 2-byte UTF-16 character or half a 4-byte
surrogate pair.

6fd00f80 09-Apr-2014 Jérôme Duval <jerome.duval@gmail.com>

scsi_periph: implemented VPD inquiry.

* declared block limits and logical block provisioning structs.
* based on SPC-4 and SBC-4 standards.

e439b003 07-Apr-2014 John Scipione <jscipione@gmail.com>

Fix button label position, try number 2

Create and use BLayoutUtils::AlignOnRect() to position the button label
in BControlLook::DrawLabel().

AlignOnRect(), unlike AlignInFrame(), provides the possibility to return
a rectangle with dimensions greater than the available size.

Add some comments above the methods in LayoutUtils that indicate such.

Also update copyright headers in LayoutUtils and ControlLook

2feaa37f 02-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move media plug-in support to application side.

The media server tried to use node monitoring to dynamically add and
remove plug-ins, but it isn't that useful:
* When a plug-in is added, applications would have to query the media
server to get an up to date list of available formats. For example
MediaConvert populates its format menus on startup.
* When removing a plugin, if an app already had it loaded, there is not
much that can be done to keep it working.
* The list of plugins was not sorted by directories (user vs system
add-ons), so the directories were re-scanned to make sure user add-ons
were returned first, rendering the node monitoring less interesting.

Now, the format handling is done by each application. The node
monitoring is removed, instead the apps will scan the plugin directory
when first using the media kit classes. Restarting the application is
needed to update the media formats list.

18027fff 31-Mar-2014 John Scipione <jscipione@gmail.com>

Whitespace style fixes only in StorageDefs.h

No functional change intended.

9ce450b9 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Move to Interface Kit (still private)

a60e98f4 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Make setters virtual

78877e72 25-Mar-2014 John Scipione <jscipione@gmail.com>

AboutWindow: Add FBC padding

293d80be 25-Mar-2014 John Scipione <jscipione@gmail.com>

BAboutWindow: style fixes

* mostly whitespace fixes
* reorder methods

e883b3c9 18-Mar-2014 Stephan Aßmus <superstippi@gmx.de>

Fixed multi-line #ifdef

I definitely compiled last night, but how in the world
was that possible?

24479670 17-Mar-2014</