2020-01-18 09:38:21 +01:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
2021-07-05 21:14:38 +02:00
|
|
|
* Copyright (c) 2021, Edwin Hoksberg <mail@edwinhoksberg.nl>
|
2020-01-18 09:38:21 +01:00
|
|
|
*
|
2021-04-22 01:24:48 -07:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-01-18 09:38:21 +01:00
|
|
|
*/
|
|
|
|
|
|
2018-11-16 13:11:21 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2019-08-18 12:22:49 +10:00
|
|
|
#include <sys/cdefs.h>
|
|
|
|
|
|
|
|
|
|
__BEGIN_DECLS
|
|
|
|
|
|
|
|
|
|
struct winsize {
|
|
|
|
|
unsigned short ws_row;
|
|
|
|
|
unsigned short ws_col;
|
2020-06-08 21:40:22 +02:00
|
|
|
unsigned short ws_xpixel;
|
|
|
|
|
unsigned short ws_ypixel;
|
2019-08-18 12:22:49 +10:00
|
|
|
};
|
|
|
|
|
|
2021-09-22 17:13:12 +03:00
|
|
|
struct FBProperties {
|
2021-10-28 00:26:03 +03:00
|
|
|
unsigned char multihead_support;
|
|
|
|
|
unsigned char doublebuffer_support;
|
|
|
|
|
unsigned char flushing_support;
|
|
|
|
|
unsigned char partial_flushing_support;
|
2021-09-22 17:13:12 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct FBHeadProperties {
|
|
|
|
|
int head_index;
|
|
|
|
|
|
2020-04-29 09:35:19 +02:00
|
|
|
unsigned pitch;
|
|
|
|
|
unsigned width;
|
|
|
|
|
unsigned height;
|
2021-09-22 17:13:12 +03:00
|
|
|
|
|
|
|
|
unsigned offset;
|
|
|
|
|
unsigned buffer_length;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct FBHeadResolution {
|
|
|
|
|
int head_index;
|
|
|
|
|
int pitch;
|
|
|
|
|
int width;
|
|
|
|
|
int height;
|
|
|
|
|
};
|
|
|
|
|
|
2021-12-31 22:02:55 -07:00
|
|
|
struct FBHeadEDID {
|
|
|
|
|
int head_index;
|
|
|
|
|
|
|
|
|
|
unsigned char* bytes;
|
|
|
|
|
unsigned bytes_size;
|
|
|
|
|
};
|
|
|
|
|
|
2021-09-22 17:13:12 +03:00
|
|
|
struct FBHeadVerticalOffset {
|
|
|
|
|
int head_index;
|
2021-11-20 17:10:57 +01:00
|
|
|
int offsetted;
|
2019-08-18 12:25:22 +10:00
|
|
|
};
|
|
|
|
|
|
2021-06-12 22:46:54 +10:00
|
|
|
struct FBRect {
|
2021-09-22 17:13:12 +03:00
|
|
|
int head_index;
|
2021-06-12 22:46:54 +10:00
|
|
|
unsigned x;
|
|
|
|
|
unsigned y;
|
|
|
|
|
unsigned width;
|
|
|
|
|
unsigned height;
|
|
|
|
|
};
|
|
|
|
|
|
2021-07-03 20:36:16 -06:00
|
|
|
struct FBBufferOffset {
|
|
|
|
|
int buffer_index;
|
|
|
|
|
unsigned offset;
|
|
|
|
|
};
|
|
|
|
|
|
2021-07-03 12:43:35 -06:00
|
|
|
struct FBFlushRects {
|
|
|
|
|
int buffer_index;
|
2021-06-26 11:04:01 -06:00
|
|
|
unsigned count;
|
2021-06-28 22:39:18 -05:00
|
|
|
struct FBRect const* rects;
|
2021-06-26 11:04:01 -06:00
|
|
|
};
|
|
|
|
|
|
2019-08-18 12:22:49 +10:00
|
|
|
__END_DECLS
|
|
|
|
|
|
2019-06-07 17:13:23 +02:00
|
|
|
enum IOCtlNumber {
|
2018-11-16 13:11:21 +01:00
|
|
|
TIOCGPGRP,
|
|
|
|
|
TIOCSPGRP,
|
2018-11-16 15:41:48 +01:00
|
|
|
TCGETS,
|
|
|
|
|
TCSETS,
|
|
|
|
|
TCSETSW,
|
|
|
|
|
TCSETSF,
|
2020-07-10 22:19:08 -06:00
|
|
|
TCFLSH,
|
2018-11-29 03:45:23 +01:00
|
|
|
TIOCGWINSZ,
|
2019-01-15 08:49:24 +01:00
|
|
|
TIOCSCTTY,
|
2021-03-31 22:58:41 +02:00
|
|
|
TIOCSTI,
|
2019-01-15 08:49:24 +01:00
|
|
|
TIOCNOTTY,
|
2019-02-20 23:32:33 +01:00
|
|
|
TIOCSWINSZ,
|
2022-02-15 21:31:17 +02:00
|
|
|
TIOCGPTN,
|
2021-09-22 17:13:12 +03:00
|
|
|
FB_IOCTL_GET_PROPERTIES,
|
|
|
|
|
FB_IOCTL_GET_HEAD_PROPERTIES,
|
|
|
|
|
FB_IOCTL_SET_HEAD_RESOLUTION,
|
2021-12-31 22:02:55 -07:00
|
|
|
FB_IOCTL_GET_HEAD_EDID,
|
2021-09-22 17:13:12 +03:00
|
|
|
FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER,
|
|
|
|
|
FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER,
|
|
|
|
|
FB_IOCTL_FLUSH_HEAD_BUFFERS,
|
|
|
|
|
FB_IOCTL_FLUSH_HEAD,
|
2021-07-05 21:14:38 +02:00
|
|
|
KEYBOARD_IOCTL_GET_NUM_LOCK,
|
|
|
|
|
KEYBOARD_IOCTL_SET_NUM_LOCK,
|
|
|
|
|
KEYBOARD_IOCTL_GET_CAPS_LOCK,
|
|
|
|
|
KEYBOARD_IOCTL_SET_CAPS_LOCK,
|
2021-12-01 23:47:50 +02:00
|
|
|
SIOCATMARK,
|
2019-09-23 19:06:03 +02:00
|
|
|
SIOCSIFADDR,
|
|
|
|
|
SIOCGIFADDR,
|
2019-10-02 18:20:11 +02:00
|
|
|
SIOCGIFHWADDR,
|
2021-04-16 15:48:41 +00:00
|
|
|
SIOCGIFNETMASK,
|
2020-03-14 21:00:49 +02:00
|
|
|
SIOCSIFNETMASK,
|
2021-04-16 15:48:41 +00:00
|
|
|
SIOCGIFBRDADDR,
|
|
|
|
|
SIOCGIFMTU,
|
|
|
|
|
SIOCGIFFLAGS,
|
|
|
|
|
SIOCGIFCONF,
|
2020-03-11 22:30:41 +02:00
|
|
|
SIOCADDRT,
|
2021-01-30 13:12:49 -07:00
|
|
|
SIOCDELRT,
|
2021-07-24 20:04:11 -04:00
|
|
|
SIOCSARP,
|
|
|
|
|
SIOCDARP,
|
2021-03-28 17:50:08 +02:00
|
|
|
FIBMAP,
|
|
|
|
|
FIONBIO,
|
2021-07-26 23:06:22 -06:00
|
|
|
FIONREAD,
|
2021-06-06 16:15:07 -07:00
|
|
|
KCOV_SETBUFSIZE,
|
|
|
|
|
KCOV_ENABLE,
|
|
|
|
|
KCOV_DISABLE,
|
2021-08-19 00:04:03 +02:00
|
|
|
SOUNDCARD_IOCTL_SET_SAMPLE_RATE,
|
2021-10-08 22:20:26 +02:00
|
|
|
SOUNDCARD_IOCTL_GET_SAMPLE_RATE,
|
|
|
|
|
STORAGE_DEVICE_GET_SIZE,
|
2021-10-09 11:19:51 +02:00
|
|
|
STORAGE_DEVICE_GET_BLOCK_SIZE,
|
2022-03-10 13:04:48 +11:00
|
|
|
VIRGL_IOCTL_CREATE_CONTEXT,
|
2022-02-18 16:32:02 +11:00
|
|
|
VIRGL_IOCTL_CREATE_RESOURCE,
|
|
|
|
|
VIRGL_IOCTL_SUBMIT_CMD,
|
|
|
|
|
VIRGL_IOCTL_TRANSFER_DATA,
|
2018-11-16 13:11:21 +01:00
|
|
|
};
|
2020-06-03 22:56:46 +02:00
|
|
|
|
|
|
|
|
#define TIOCGPGRP TIOCGPGRP
|
|
|
|
|
#define TIOCSPGRP TIOCSPGRP
|
|
|
|
|
#define TCGETS TCGETS
|
|
|
|
|
#define TCSETS TCSETS
|
|
|
|
|
#define TCSETSW TCSETSW
|
|
|
|
|
#define TCSETSF TCSETSF
|
2020-07-10 22:19:08 -06:00
|
|
|
#define TCFLSH TCFLSH
|
2020-06-03 22:56:46 +02:00
|
|
|
#define TIOCGWINSZ TIOCGWINSZ
|
|
|
|
|
#define TIOCSCTTY TIOCSCTTY
|
2021-03-31 22:58:41 +02:00
|
|
|
#define TIOCSTI TIOCSTI
|
2020-06-03 22:56:46 +02:00
|
|
|
#define TIOCNOTTY TIOCNOTTY
|
|
|
|
|
#define TIOCSWINSZ TIOCSWINSZ
|
2022-02-15 21:31:17 +02:00
|
|
|
#define TIOCGPTN TIOCGPTN
|
2021-09-22 17:13:12 +03:00
|
|
|
#define FB_IOCTL_GET_PROPERTIES FB_IOCTL_GET_PROPERTIES
|
|
|
|
|
#define FB_IOCTL_GET_HEAD_PROPERTIES FB_IOCTL_GET_HEAD_PROPERTIES
|
2021-12-31 22:02:55 -07:00
|
|
|
#define FB_IOCTL_GET_HEAD_EDID FB_IOCTL_GET_HEAD_EDID
|
2021-09-22 17:13:12 +03:00
|
|
|
#define FB_IOCTL_SET_HEAD_RESOLUTION FB_IOCTL_SET_HEAD_RESOLUTION
|
2021-11-20 17:03:23 +01:00
|
|
|
#define FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER
|
|
|
|
|
#define FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER
|
2021-09-22 17:13:12 +03:00
|
|
|
#define FB_IOCTL_FLUSH_HEAD_BUFFERS FB_IOCTL_FLUSH_HEAD_BUFFERS
|
|
|
|
|
#define FB_IOCTL_FLUSH_HEAD FB_IOCTL_FLUSH_HEAD
|
2021-07-05 21:14:38 +02:00
|
|
|
#define KEYBOARD_IOCTL_GET_NUM_LOCK KEYBOARD_IOCTL_GET_NUM_LOCK
|
|
|
|
|
#define KEYBOARD_IOCTL_SET_NUM_LOCK KEYBOARD_IOCTL_SET_NUM_LOCK
|
|
|
|
|
#define KEYBOARD_IOCTL_GET_CAPS_LOCK KEYBOARD_IOCTL_GET_CAPS_LOCK
|
|
|
|
|
#define KEYBOARD_IOCTL_SET_CAPS_LOCK KEYBOARD_IOCTL_SET_CAPS_LOCK
|
2021-12-01 23:47:50 +02:00
|
|
|
#define SIOCATMARK SIOCATMARK
|
2020-06-03 22:56:46 +02:00
|
|
|
#define SIOCSIFADDR SIOCSIFADDR
|
|
|
|
|
#define SIOCGIFADDR SIOCGIFADDR
|
|
|
|
|
#define SIOCGIFHWADDR SIOCGIFHWADDR
|
2021-04-16 15:48:41 +00:00
|
|
|
#define SIOCGIFNETMASK SIOCGIFNETMASK
|
2020-06-03 22:56:46 +02:00
|
|
|
#define SIOCSIFNETMASK SIOCSIFNETMASK
|
2021-04-16 15:48:41 +00:00
|
|
|
#define SIOCGIFBRDADDR SIOCGIFBRDADDR
|
|
|
|
|
#define SIOCGIFMTU SIOCGIFMTU
|
|
|
|
|
#define SIOCGIFFLAGS SIOCGIFFLAGS
|
|
|
|
|
#define SIOCGIFCONF SIOCGIFCONF
|
2020-06-03 22:56:46 +02:00
|
|
|
#define SIOCADDRT SIOCADDRT
|
|
|
|
|
#define SIOCDELRT SIOCDELRT
|
2021-07-24 20:04:11 -04:00
|
|
|
#define SIOCSARP SIOCSARP
|
|
|
|
|
#define SIOCDARP SIOCDARP
|
2021-01-30 13:12:49 -07:00
|
|
|
#define FIBMAP FIBMAP
|
2021-03-28 17:50:08 +02:00
|
|
|
#define FIONBIO FIONBIO
|
2021-07-26 23:06:22 -06:00
|
|
|
#define FIONREAD FIONREAD
|
2021-08-19 00:04:03 +02:00
|
|
|
#define SOUNDCARD_IOCTL_SET_SAMPLE_RATE SOUNDCARD_IOCTL_SET_SAMPLE_RATE
|
|
|
|
|
#define SOUNDCARD_IOCTL_GET_SAMPLE_RATE SOUNDCARD_IOCTL_GET_SAMPLE_RATE
|
2021-10-08 22:20:26 +02:00
|
|
|
#define STORAGE_DEVICE_GET_SIZE STORAGE_DEVICE_GET_SIZE
|
2021-10-09 11:19:51 +02:00
|
|
|
#define STORAGE_DEVICE_GET_BLOCK_SIZE STORAGE_DEVICE_GET_BLOCK_SIZE
|
2022-03-10 13:04:48 +11:00
|
|
|
#define VIRGL_IOCTL_CREATE_CONTEXT VIRGL_IOCTL_CREATE_CONTEXT
|
2022-02-18 16:32:02 +11:00
|
|
|
#define VIRGL_IOCTL_CREATE_RESOURCE VIRGL_IOCTL_CREATE_RESOURCE
|
|
|
|
|
#define VIRGL_IOCTL_SUBMIT_CMD VIRGL_IOCTL_SUBMIT_CMD
|
|
|
|
|
#define VIRGL_IOCTL_TRANSFER_DATA VIRGL_IOCTL_TRANSFER_DATA
|