mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 19:38:12 +00:00

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.
112 lines
2.3 KiB
C
112 lines
2.3 KiB
C
/*
|
|
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <sys/cdefs.h>
|
|
|
|
__BEGIN_DECLS
|
|
|
|
struct winsize {
|
|
unsigned short ws_row;
|
|
unsigned short ws_col;
|
|
unsigned short ws_xpixel;
|
|
unsigned short ws_ypixel;
|
|
};
|
|
|
|
struct FBResolution {
|
|
unsigned pitch;
|
|
unsigned width;
|
|
unsigned height;
|
|
};
|
|
|
|
struct FBRect {
|
|
unsigned x;
|
|
unsigned y;
|
|
unsigned width;
|
|
unsigned height;
|
|
};
|
|
|
|
struct FBBufferOffset {
|
|
int buffer_index;
|
|
unsigned offset;
|
|
};
|
|
|
|
struct FBFlushRects {
|
|
int buffer_index;
|
|
unsigned count;
|
|
struct FBRect const* rects;
|
|
};
|
|
|
|
__END_DECLS
|
|
|
|
enum IOCtlNumber {
|
|
TIOCGPGRP,
|
|
TIOCSPGRP,
|
|
TCGETS,
|
|
TCSETS,
|
|
TCSETSW,
|
|
TCSETSF,
|
|
TCFLSH,
|
|
TIOCGWINSZ,
|
|
TIOCSCTTY,
|
|
TIOCSTI,
|
|
TIOCNOTTY,
|
|
TIOCSWINSZ,
|
|
FB_IOCTL_GET_SIZE_IN_BYTES,
|
|
FB_IOCTL_GET_RESOLUTION,
|
|
FB_IOCTL_SET_RESOLUTION,
|
|
FB_IOCTL_GET_BUFFER,
|
|
FB_IOCTL_GET_BUFFER_OFFSET,
|
|
FB_IOCTL_SET_BUFFER,
|
|
FB_IOCTL_FLUSH_BUFFERS,
|
|
SIOCSIFADDR,
|
|
SIOCGIFADDR,
|
|
SIOCGIFHWADDR,
|
|
SIOCGIFNETMASK,
|
|
SIOCSIFNETMASK,
|
|
SIOCGIFBRDADDR,
|
|
SIOCGIFMTU,
|
|
SIOCGIFFLAGS,
|
|
SIOCGIFCONF,
|
|
SIOCADDRT,
|
|
SIOCDELRT,
|
|
FIBMAP,
|
|
FIONBIO,
|
|
};
|
|
|
|
#define TIOCGPGRP TIOCGPGRP
|
|
#define TIOCSPGRP TIOCSPGRP
|
|
#define TCGETS TCGETS
|
|
#define TCSETS TCSETS
|
|
#define TCSETSW TCSETSW
|
|
#define TCSETSF TCSETSF
|
|
#define TCFLSH TCFLSH
|
|
#define TIOCGWINSZ TIOCGWINSZ
|
|
#define TIOCSCTTY TIOCSCTTY
|
|
#define TIOCSTI TIOCSTI
|
|
#define TIOCNOTTY TIOCNOTTY
|
|
#define TIOCSWINSZ TIOCSWINSZ
|
|
#define FB_IOCTL_GET_SIZE_IN_BYTES FB_IOCTL_GET_SIZE_IN_BYTES
|
|
#define FB_IOCTL_GET_RESOLUTION FB_IOCTL_GET_RESOLUTION
|
|
#define FB_IOCTL_SET_RESOLUTION FB_IOCTL_SET_RESOLUTION
|
|
#define FB_IOCTL_GET_BUFFER FB_IOCTL_GET_BUFFER
|
|
#define FB_IOCTL_GET_BUFFER_OFFSET FB_IOCTL_GET_BUFFER_OFFSET
|
|
#define FB_IOCTL_SET_BUFFER FB_IOCTL_SET_BUFFER
|
|
#define FB_IOCTL_FLUSH_BUFFERS FB_IOCTL_FLUSH_BUFFERS
|
|
#define SIOCSIFADDR SIOCSIFADDR
|
|
#define SIOCGIFADDR SIOCGIFADDR
|
|
#define SIOCGIFHWADDR SIOCGIFHWADDR
|
|
#define SIOCGIFNETMASK SIOCGIFNETMASK
|
|
#define SIOCSIFNETMASK SIOCSIFNETMASK
|
|
#define SIOCGIFBRDADDR SIOCGIFBRDADDR
|
|
#define SIOCGIFMTU SIOCGIFMTU
|
|
#define SIOCGIFFLAGS SIOCGIFFLAGS
|
|
#define SIOCGIFCONF SIOCGIFCONF
|
|
#define SIOCADDRT SIOCADDRT
|
|
#define SIOCDELRT SIOCDELRT
|
|
#define FIBMAP FIBMAP
|
|
#define FIONBIO FIONBIO
|