summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibC/sys/ioctl_numbers.h
AgeCommit message (Collapse)Author
2022-01-23Kernel: Add ioctl to get the EDID from a framebufferTom
2021-12-05Kernel: Add the SIOCATMARK ioctl request macroIdan Horowitz
This is not actually implemented at the moment, as we do not support sending or receiving out-of-band data at all currently, but it is required for some ports to compile.
2021-11-21Everywhere: Fix spelling of "offsetted"Andreas Kling
This word is actually pretty awkward in context, but this patch merely fixes the spelling instead of finding a better word.
2021-11-21Kernel+LibC: Fix misspelled "VERTICAL" in framebuffer ioctlsAndreas Kling
2021-10-28LibC: Change the type of FBProperties' fields from bool to unsigned charIdan Horowitz
The bool type is not available in C89.
2021-10-27Kernel + WindowServer: Re-define the interface to framebuffer devicesLiav A
We create a base class called GenericFramebufferDevice, which defines all the virtual functions that must be implemented by a FramebufferDevice. Then, we make the VirtIO FramebufferDevice and other FramebufferDevice implementations inherit from it. The most important consequence of rearranging the classes is that we now have one IOCTL method, so all drivers should be committed to not override the IOCTL method or make their own IOCTLs of FramebufferDevice. All graphical IOCTLs are known to all FramebufferDevices, and it's up to the specific implementation whether to support them or discard them (so we require extensive usage of KResult and KResultOr, together with virtual characteristic functions). As a result, the interface is much cleaner and understandable to read.
2021-10-09Kernel: Add ioctl request for getting a storage device's block sizeDavid Isaksson
2021-10-09Kernel: Add STORAGE_DEVICE_GET_SIZE ioctl requestDavid Isaksson
This ioctl request makes it possible to get the size of a storage device that has not yet been mounted.
2021-08-27Kernel: Implement ioctl for the SB16 to change sample ratekleines Filmröllchen
Two new ioctl requests are used to get and set the sample rate of the sound card. The SB16 device keeps track of the sample rate separately, because I don't want to figure out how to read the sample rate from the device; it's easier that way. The soundcard write doesn't set the sample rate to 44100 Hz every time anymore, as we want to change it externally.
2021-08-22Kernel+LibC: Implement FIONREAD ioctlPeter Elliott
FIONREAD gets the number of bytes availible to read from a file descriptor without blocking. I only implemented it for regular files and sockets
2021-07-26Kernel: Add option to build with coverage instrumentation and KCOVPatrick Meyer
GCC and Clang allow us to inject a call to a function named __sanitizer_cov_trace_pc on every edge. This function has to be defined by us. By noting down the caller in that function we can trace the code we have encountered during execution. Such information is used by coverage guided fuzzers like AFL and LibFuzzer to determine if a new input resulted in a new code path. This makes fuzzing much more effective. Additionally this adds a basic KCOV implementation. KCOV is an API that allows user space to request the kernel to start collecting coverage information for a given user space thread. Furthermore KCOV then exposes the collected program counters to user space via a BlockDevice which can be mmaped from user space. This work is required to add effective support for fuzzing SerenityOS to the Syzkaller syscall fuzzer. :^) :^)
2021-07-25Kernel: Support ioctl SIOCSARP and SIOCDARPbrapru
Creates ioctl calls necessary to set/delete an entry from the ARP table
2021-07-07Kernel: Add keyboard ioctl to get num/caps lock stateEdwin Hoksberg
2021-07-04WindowServer: Query driver for framebuffer offsetTom
Depending on the driver, the second buffer may not be located right after the first, e.g. it may be page aligned. This removes this assumption and queries the driver for the appropriate offset.
2021-07-04WindowServer: Implement support for combined buffer flipping + flushingTom
Some devices may require DMA transfers to flush the updated buffer areas prior to flipping. For those devices we track the areas that require flushing prior to the next flip. For devices that do not support flipping, but require flushing, we'll simply flush after updating the front buffer. This also adds a small optimization that skips these steps entirely for a screen that doesn't have any updates that need to be rendered.
2021-06-29LibC: Add struct keyword to FBRects.rects to make it C compiler safeDiego Garza
2021-06-27WindowServer: Coalesce flushing buffers into one ioctl() callTom
We regularily need to flush many rectangles, so instead of making many expensive ioctl() calls to the framebuffer driver, collect the rectangles and only make one call. And if we have too many rectangles then it may be cheaper to just update the entire region, in which case we simply convert them all into a union and just flush that one rectangle instead.
2021-06-25Userland: Add FB_FLUSH ioctl for fbdevSahan Fernando
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-16Kernel: Add some missing socket ioctlssin-ack
This patch adds a few missing ioctls which were required by Wine. SIOCGIFNETMASK, SIOCGIFBRDADDR and SIOCGIFMTU are fully implemented, while SIOCGIFFLAGS and SIOCGIFCONF are stubs.
2021-03-31Kernel: Added TIOCSTI ioctl placeholder (#6037)Baitinq
Added a dummy TIOCSTI ioctl placeholder. This is a dangerous ioctl that can be used to inject input into a tty. Added for compatibility. Always fails with EIO.
2021-03-28Kernel+LibC: Implement sys$ioctl() FIONBIOAndreas Kling
This is another (older) way of making a file descriptor non-blocking.
2021-01-30Kernel: Add FIBMAP ioctl to Ext2FileSystemPeter Elliott
FIBMAP is a linux ioctl that gives the location on disk of a specific block of a file
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling