Commit graph

6672 commits

Author SHA1 Message Date
Andreas Kling
f2a087126c LibC: Add posix_openpt(), grantpt() and unlockpt()
This makes getting a pseudoterminal pair a little bit more portable.
Note that grantpt() and unlockpt() are currently no-ops, since we've
already granted the pseudoterminal slave to the calling user.

We also accept O_CLOEXEC to posix_openpt(), unlike some systems. :^)
2020-02-05 21:17:41 +01:00
Andreas Kling
6d1740e4be LibIPC: Remove IPC::Encoder overloads for size_t
Clients of this code should use explicitly-sized types instead.
2020-02-05 20:37:51 +01:00
Andreas Kling
d264e8fcc5 LibIPC: Put all classes in the IPC namespace and remove the leading I 2020-02-05 19:57:18 +01:00
Andreas Kling
a894a799c3 IPCCompiler: Remove outdated FIXME
We actually do support longer messages now since the message encoder
grows dynamically.
2020-02-05 19:40:16 +01:00
Andreas Kling
4352558bf7 IPCCompiler: Encode String length as i32, with <0 meaning null String() 2020-02-05 19:33:03 +01:00
Andreas Kling
75cb125e56 Kernel: Put sys$waitid() debug logging behind PROCESS_DEBUG 2020-02-05 19:14:56 +01:00
Andreas Kling
0cff25ac78 AK+IPCCompiler: Get rid of BufferStream overloads for size_t
Since BufferStream is about creating specific binary stream formats,
let's not have a flaky type like size_t in there. Instead, clients of
BufferStream can cast their size_t to the binary size they want to use.

Account for this in IPCCompiler by making String lengths always 32-bit.
2020-02-05 19:13:44 +01:00
Andreas Kling
be0034d2ca AK: Break LogStream::operator<< overloads into i/l/ll and u/ul/ull 2020-02-05 19:13:44 +01:00
Andreas Kling
90b1dafeff AK: Break String::number() overloads into i/l/ll and u/ul/ull
Now that we're trying to be more portable, we can't only rely on using
i32/u32 and i64/u64 since different systems have different combinations
of int/long/long long and unsigned/unsigned long/unsigned long long.
2020-02-05 19:13:44 +01:00
Andreas Kling
5b7924b9e7 LibProtocol: Rename namespace LibProtocol => Protocol 2020-02-05 19:13:44 +01:00
Liav A
f6ce24eb48 Kernel: Move the VMWare helpers out of the IO namespace 2020-02-05 18:58:27 +01:00
Liav A
8e8f5c212b Kernel: Fix vmmouse detection method
Also, add debug messages in the VMWareBackdoor class.
2020-02-05 18:58:27 +01:00
Liav A
6070fe581b Kernel: Add support for high bandwidth IO communication with VMWare 2020-02-05 18:58:27 +01:00
joshua stein
0c20f98c1c LibDraw: Override set_{non,}volatile in GIFLoader 2020-02-05 18:39:45 +01:00
joshua stein
519bc758f1 IPCCompiler: Encode/decode string lengths as native size_t, not int 2020-02-05 18:39:45 +01:00
joshua stein
c3a32108b2 Piano: Fix building with clang 2020-02-05 18:39:45 +01:00
joshua stein
dac07a5d76 LibCore: CEventLoop: If timeval_sub makes tv_sec negative, use 0 2020-02-05 18:39:45 +01:00
joshua stein
0c4c5b5eb7 AK: Support 64-bit integers in BufferStream 2020-02-05 18:39:45 +01:00
joshua stein
b4568b1422 Welcome: Pass -m to ld to fix building with clang/lld 2020-02-05 18:39:45 +01:00
joshua stein
c33cb8a289 TTYServer: Include AK/LogStream.h for dbg() 2020-02-05 18:39:45 +01:00
joshua stein
79be8be051 WindowServer: Remove unused s_checkbox_or_icon_padding 2020-02-05 18:39:45 +01:00
joshua stein
8919b61784 SystemMonitor: Fix building with clang 2020-02-05 18:39:45 +01:00
joshua stein
dab78c90f3 LibGUI: Don't specify LibC/ for standard includes 2020-02-05 18:39:45 +01:00
joshua stein
534d27693c LibGUI: Remove unused m_layout_dirty 2020-02-05 18:39:45 +01:00
joshua stein
385ba187bd FileManager: Include limits.h for PATH_MAX 2020-02-05 18:39:45 +01:00
joshua stein
a3c79fcdff FileManager: Fix building with clang
FileUtils.cpp:131:34: error: cannot pass object of non-trivial type 'const AK::String' through variadic method; call will abort at runtime [-Wnon-pod-varargs]
2020-02-05 18:39:45 +01:00
joshua stein
7d06e37a63 LibDraw: Fix building with clang 2020-02-05 18:39:45 +01:00
joshua stein
f5ecb31fc8 LibDraw: Make [gs]et_pixel arguments used 2020-02-05 18:39:45 +01:00
joshua stein
9143208419 LibDraw: Don't specify LibC/ in standard include paths 2020-02-05 18:39:45 +01:00
joshua stein
482611766a LibThread: Store thread id as pthread_t, use pthread_self()
Serenity calls pthread_self() for gettid() anyway but this makes it
portable.
2020-02-05 18:39:45 +01:00
joshua stein
b5fc1fcb46 LibIPC: Add support for 64-bit size_t in IEncoder 2020-02-05 18:39:45 +01:00
joshua stein
f6a8b1b69a LibCore: Fix building with clang 2020-02-05 18:39:45 +01:00
joshua stein
384d640293 FileManager: Include sys/stat.h for struct stat 2020-02-05 18:39:45 +01:00
joshua stein
46601690d9 HexEditor: Remove unused m_hover_pos 2020-02-05 18:39:45 +01:00
joshua stein
640cb920e8 FileManager: Remove unused m_row variable 2020-02-05 18:39:45 +01:00
joshua stein
868b1a24bb LibC: Move struct stat to sys/stat.h 2020-02-05 18:39:45 +01:00
joshua stein
dc93ed4368 AK: Add support for 64-bit size_t 2020-02-05 18:39:45 +01:00
Sergey Bugaev
ce56770875 Ports: Add mrsh port 2020-02-05 18:15:15 +01:00
Sergey Bugaev
b3a24d732d Kernel+LibC: Add sys$waitid(), and make sys$waitpid() wrap it
sys$waitid() takes an explicit description of whether it's waiting for a single
process with the given PID, all of the children, a group, etc., and returns its
info as a siginfo_t.

It also doesn't automatically imply WEXITED, which clears up the confusion in
the kernel.
2020-02-05 18:14:37 +01:00
Sergey Bugaev
a6cb7f759e Kernel+LibC: Add some Unix signal types & definitions 2020-02-05 18:14:37 +01:00
Sergey Bugaev
aafa5a9d09 LibC: Fix misplaced brace
It doesn't really make a difference since waitpid() is declared to have
extern "C" linkage in the header anyway, but still.
2020-02-05 18:14:37 +01:00
William McPherson
1e0d57a13f Piano: Set some nice defaults 2020-02-05 17:52:10 +01:00
William McPherson
59bde64ba6 Piano: Add release
Notice that we are calculating release time according to the level when
the note is turned off rather than the sustain level. Naively using the
sustain level gives very long release times if you turn the note off
during attack, whereas this deterministically gives the same release
time.
2020-02-05 17:52:10 +01:00
William McPherson
ab9475a3f3 Piano: Add attack 2020-02-05 17:52:10 +01:00
William McPherson
5990b3b2e6 Piano: Add sustain 2020-02-05 17:52:10 +01:00
William McPherson
421a340572 Piano: Make decay more accurate
1. Make decay sample-granular rather than buffer-granular
You only have ~43 buffers per second which can make a jagged signal.

2. Calculate decay in milliseconds
Decay is supposed to be a time value.
2020-02-05 17:52:10 +01:00
William McPherson
44c81ee9db Piano: Remove phony multiple same note playback
I say "phony" because it's not actually playing the same frequency
twice, it's just playing the same frequency at a higher volume. We can
properly implement this later but at the moment it'll get in the way of
our ADSR implementation.
2020-02-05 17:52:10 +01:00
William McPherson
f909095981 Piano: Fix default knob values
Now you can change the defaults in AudioEngine and not be totally
confused.

1. The default for m_octave_knob was actually upside-down.
2. The default for m_decay_knob wasn't respecting AudioEngine.
3. The default for m_delay_knob wasn't respecting AudioEngine.
2020-02-05 17:52:10 +01:00
Liav A
47978a5828 Kernel: Add support for vmmouse
We add this feature together with the VMWareBackdoor class.
VMWareBackdoor class is responsible for enabling the vmmouse, and then
controlling it from the PS2 mouse IRQ handler.
2020-02-04 19:11:52 +01:00
Liav A
44ddfd2bf5 WindowServer: Fix the drain mouse mechanism
Now we actually check if the Mouse packet relative flag is enabled or
not.
In addition to that, we have debug messages for mouse point changes.
2020-02-04 19:11:52 +01:00