mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 07:07:34 +00:00
Kernel: Add framebuffer ioctls; wrap raw ioctls with a C API
This commit is contained in:
parent
1868523e00
commit
5e46122a82
2 changed files with 44 additions and 0 deletions
33
Kernel/FB.h
Normal file
33
Kernel/FB.h
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <sys/cdefs.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
int fb_get_size_in_bytes(int fd, size_t* out)
|
||||||
|
{
|
||||||
|
return ioctl(fd, FB_IOCTL_GET_SIZE_IN_BYTES, out);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fb_get_resolution(int fd, FBResolution* info)
|
||||||
|
{
|
||||||
|
return ioctl(fd, FB_IOCTL_GET_RESOLUTION, info);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fb_set_resolution(int fd, FBResolution* info)
|
||||||
|
{
|
||||||
|
return ioctl(fd, FB_IOCTL_SET_RESOLUTION, info);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fb_get_buffer(int fd, int* index)
|
||||||
|
{
|
||||||
|
return ioctl(fd, FB_IOCTL_GET_BUFFER, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fb_set_buffer(int fd, int index)
|
||||||
|
{
|
||||||
|
return ioctl(fd, FB_IOCTL_SET_BUFFER, index);
|
||||||
|
}
|
||||||
|
|
||||||
|
__END_DECLS
|
|
@ -9,6 +9,12 @@ struct winsize {
|
||||||
unsigned short ws_col;
|
unsigned short ws_col;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct FBResolution {
|
||||||
|
int pitch;
|
||||||
|
int width;
|
||||||
|
int height;
|
||||||
|
};
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
enum IOCtlNumber {
|
enum IOCtlNumber {
|
||||||
|
@ -22,4 +28,9 @@ enum IOCtlNumber {
|
||||||
TIOCSCTTY,
|
TIOCSCTTY,
|
||||||
TIOCNOTTY,
|
TIOCNOTTY,
|
||||||
TIOCSWINSZ,
|
TIOCSWINSZ,
|
||||||
|
FB_IOCTL_GET_SIZE_IN_BYTES,
|
||||||
|
FB_IOCTL_GET_RESOLUTION,
|
||||||
|
FB_IOCTL_SET_RESOLUTION,
|
||||||
|
FB_IOCTL_GET_BUFFER,
|
||||||
|
FB_IOCTL_SET_BUFFER,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue