ioctl_numbers.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. /*
  2. * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
  3. * Copyright (c) 2021, Edwin Hoksberg <mail@edwinhoksberg.nl>
  4. *
  5. * SPDX-License-Identifier: BSD-2-Clause
  6. */
  7. #pragma once
  8. #include <sys/cdefs.h>
  9. __BEGIN_DECLS
  10. struct winsize {
  11. unsigned short ws_row;
  12. unsigned short ws_col;
  13. unsigned short ws_xpixel;
  14. unsigned short ws_ypixel;
  15. };
  16. struct FBProperties {
  17. unsigned char multihead_support;
  18. unsigned char doublebuffer_support;
  19. unsigned char flushing_support;
  20. unsigned char partial_flushing_support;
  21. };
  22. struct FBHeadProperties {
  23. int head_index;
  24. unsigned pitch;
  25. unsigned width;
  26. unsigned height;
  27. unsigned offset;
  28. unsigned buffer_length;
  29. };
  30. struct FBHeadResolution {
  31. int head_index;
  32. int pitch;
  33. int width;
  34. int height;
  35. };
  36. struct FBHeadEDID {
  37. int head_index;
  38. unsigned char* bytes;
  39. unsigned bytes_size;
  40. };
  41. struct FBHeadVerticalOffset {
  42. int head_index;
  43. int offsetted;
  44. };
  45. struct FBRect {
  46. int head_index;
  47. unsigned x;
  48. unsigned y;
  49. unsigned width;
  50. unsigned height;
  51. };
  52. struct FBBufferOffset {
  53. int buffer_index;
  54. unsigned offset;
  55. };
  56. struct FBFlushRects {
  57. int buffer_index;
  58. unsigned count;
  59. struct FBRect const* rects;
  60. };
  61. __END_DECLS
  62. enum IOCtlNumber {
  63. TIOCGPGRP,
  64. TIOCSPGRP,
  65. TCGETS,
  66. TCSETS,
  67. TCSETSW,
  68. TCSETSF,
  69. TCFLSH,
  70. TIOCGWINSZ,
  71. TIOCSCTTY,
  72. TIOCSTI,
  73. TIOCNOTTY,
  74. TIOCSWINSZ,
  75. TIOCGPTN,
  76. FB_IOCTL_GET_PROPERTIES,
  77. FB_IOCTL_GET_HEAD_PROPERTIES,
  78. FB_IOCTL_SET_HEAD_RESOLUTION,
  79. FB_IOCTL_GET_HEAD_EDID,
  80. FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER,
  81. FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER,
  82. FB_IOCTL_FLUSH_HEAD_BUFFERS,
  83. FB_IOCTL_FLUSH_HEAD,
  84. KEYBOARD_IOCTL_GET_NUM_LOCK,
  85. KEYBOARD_IOCTL_SET_NUM_LOCK,
  86. KEYBOARD_IOCTL_GET_CAPS_LOCK,
  87. KEYBOARD_IOCTL_SET_CAPS_LOCK,
  88. SIOCATMARK,
  89. SIOCSIFADDR,
  90. SIOCGIFADDR,
  91. SIOCGIFHWADDR,
  92. SIOCGIFNETMASK,
  93. SIOCSIFNETMASK,
  94. SIOCGIFBRDADDR,
  95. SIOCGIFMTU,
  96. SIOCGIFFLAGS,
  97. SIOCGIFCONF,
  98. SIOCADDRT,
  99. SIOCDELRT,
  100. SIOCSARP,
  101. SIOCDARP,
  102. FIBMAP,
  103. FIONBIO,
  104. FIONREAD,
  105. KCOV_SETBUFSIZE,
  106. KCOV_ENABLE,
  107. KCOV_DISABLE,
  108. SOUNDCARD_IOCTL_SET_SAMPLE_RATE,
  109. SOUNDCARD_IOCTL_GET_SAMPLE_RATE,
  110. STORAGE_DEVICE_GET_SIZE,
  111. STORAGE_DEVICE_GET_BLOCK_SIZE,
  112. VIRGL_IOCTL_CREATE_CONTEXT,
  113. VIRGL_IOCTL_CREATE_RESOURCE,
  114. VIRGL_IOCTL_SUBMIT_CMD,
  115. VIRGL_IOCTL_TRANSFER_DATA,
  116. };
  117. #define TIOCGPGRP TIOCGPGRP
  118. #define TIOCSPGRP TIOCSPGRP
  119. #define TCGETS TCGETS
  120. #define TCSETS TCSETS
  121. #define TCSETSW TCSETSW
  122. #define TCSETSF TCSETSF
  123. #define TCFLSH TCFLSH
  124. #define TIOCGWINSZ TIOCGWINSZ
  125. #define TIOCSCTTY TIOCSCTTY
  126. #define TIOCSTI TIOCSTI
  127. #define TIOCNOTTY TIOCNOTTY
  128. #define TIOCSWINSZ TIOCSWINSZ
  129. #define TIOCGPTN TIOCGPTN
  130. #define FB_IOCTL_GET_PROPERTIES FB_IOCTL_GET_PROPERTIES
  131. #define FB_IOCTL_GET_HEAD_PROPERTIES FB_IOCTL_GET_HEAD_PROPERTIES
  132. #define FB_IOCTL_GET_HEAD_EDID FB_IOCTL_GET_HEAD_EDID
  133. #define FB_IOCTL_SET_HEAD_RESOLUTION FB_IOCTL_SET_HEAD_RESOLUTION
  134. #define FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER FB_IOCTL_SET_HEAD_VERTICAL_OFFSET_BUFFER
  135. #define FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER FB_IOCTL_GET_HEAD_VERTICAL_OFFSET_BUFFER
  136. #define FB_IOCTL_FLUSH_HEAD_BUFFERS FB_IOCTL_FLUSH_HEAD_BUFFERS
  137. #define FB_IOCTL_FLUSH_HEAD FB_IOCTL_FLUSH_HEAD
  138. #define KEYBOARD_IOCTL_GET_NUM_LOCK KEYBOARD_IOCTL_GET_NUM_LOCK
  139. #define KEYBOARD_IOCTL_SET_NUM_LOCK KEYBOARD_IOCTL_SET_NUM_LOCK
  140. #define KEYBOARD_IOCTL_GET_CAPS_LOCK KEYBOARD_IOCTL_GET_CAPS_LOCK
  141. #define KEYBOARD_IOCTL_SET_CAPS_LOCK KEYBOARD_IOCTL_SET_CAPS_LOCK
  142. #define SIOCATMARK SIOCATMARK
  143. #define SIOCSIFADDR SIOCSIFADDR
  144. #define SIOCGIFADDR SIOCGIFADDR
  145. #define SIOCGIFHWADDR SIOCGIFHWADDR
  146. #define SIOCGIFNETMASK SIOCGIFNETMASK
  147. #define SIOCSIFNETMASK SIOCSIFNETMASK
  148. #define SIOCGIFBRDADDR SIOCGIFBRDADDR
  149. #define SIOCGIFMTU SIOCGIFMTU
  150. #define SIOCGIFFLAGS SIOCGIFFLAGS
  151. #define SIOCGIFCONF SIOCGIFCONF
  152. #define SIOCADDRT SIOCADDRT
  153. #define SIOCDELRT SIOCDELRT
  154. #define SIOCSARP SIOCSARP
  155. #define SIOCDARP SIOCDARP
  156. #define FIBMAP FIBMAP
  157. #define FIONBIO FIONBIO
  158. #define FIONREAD FIONREAD
  159. #define SOUNDCARD_IOCTL_SET_SAMPLE_RATE SOUNDCARD_IOCTL_SET_SAMPLE_RATE
  160. #define SOUNDCARD_IOCTL_GET_SAMPLE_RATE SOUNDCARD_IOCTL_GET_SAMPLE_RATE
  161. #define STORAGE_DEVICE_GET_SIZE STORAGE_DEVICE_GET_SIZE
  162. #define STORAGE_DEVICE_GET_BLOCK_SIZE STORAGE_DEVICE_GET_BLOCK_SIZE
  163. #define VIRGL_IOCTL_CREATE_CONTEXT VIRGL_IOCTL_CREATE_CONTEXT
  164. #define VIRGL_IOCTL_CREATE_RESOURCE VIRGL_IOCTL_CREATE_RESOURCE
  165. #define VIRGL_IOCTL_SUBMIT_CMD VIRGL_IOCTL_SUBMIT_CMD
  166. #define VIRGL_IOCTL_TRANSFER_DATA VIRGL_IOCTL_TRANSFER_DATA