1898b0535SWarner Losh /*- 24d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 37f2d13d6SPedro F. Giffuni * 443bef515SMarcel Moolenaar * Copyright (c) 1999 Marcel Moolenaar 543bef515SMarcel Moolenaar * All rights reserved. 643bef515SMarcel Moolenaar * 743bef515SMarcel Moolenaar * Redistribution and use in source and binary forms, with or without 843bef515SMarcel Moolenaar * modification, are permitted provided that the following conditions 943bef515SMarcel Moolenaar * are met: 1043bef515SMarcel Moolenaar * 1. Redistributions of source code must retain the above copyright 11b1ed95fdSEd Maste * notice, this list of conditions and the following disclaimer. 1243bef515SMarcel Moolenaar * 2. Redistributions in binary form must reproduce the above copyright 1343bef515SMarcel Moolenaar * notice, this list of conditions and the following disclaimer in the 1443bef515SMarcel Moolenaar * documentation and/or other materials provided with the distribution. 1543bef515SMarcel Moolenaar * 16b1ed95fdSEd Maste * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17b1ed95fdSEd Maste * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18b1ed95fdSEd Maste * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19b1ed95fdSEd Maste * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20b1ed95fdSEd Maste * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21b1ed95fdSEd Maste * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22b1ed95fdSEd Maste * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23b1ed95fdSEd Maste * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24b1ed95fdSEd Maste * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25b1ed95fdSEd Maste * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26b1ed95fdSEd Maste * SUCH DAMAGE. 2743bef515SMarcel Moolenaar */ 2843bef515SMarcel Moolenaar 2943bef515SMarcel Moolenaar #ifndef _LINUX_IOCTL_H_ 3043bef515SMarcel Moolenaar #define _LINUX_IOCTL_H_ 3143bef515SMarcel Moolenaar 3243bef515SMarcel Moolenaar /* 3315bf9014SAlexander Leidinger * ioctl 3415bf9014SAlexander Leidinger * 3515bf9014SAlexander Leidinger * XXX comments in Linux' <asm-generic/ioctl.h> indicate these 3615bf9014SAlexander Leidinger * could be arch-dependant... 3715bf9014SAlexander Leidinger */ 3815bf9014SAlexander Leidinger #define LINUX_IOC_VOID 0 3915bf9014SAlexander Leidinger #define LINUX_IOC_IN 0x40000000 4015bf9014SAlexander Leidinger #define LINUX_IOC_OUT 0x80000000 4115bf9014SAlexander Leidinger #define LINUX_IOC_INOUT (LINUX_IOC_IN|LINUX_IOC_OUT) 4215bf9014SAlexander Leidinger 4315bf9014SAlexander Leidinger /* 449deb82d4SNick Sayer * disk 459deb82d4SNick Sayer */ 469deb82d4SNick Sayer #define LINUX_BLKROSET 0x125d 479deb82d4SNick Sayer #define LINUX_BLKROGET 0x125e 489deb82d4SNick Sayer #define LINUX_BLKRRPART 0x125f 499deb82d4SNick Sayer #define LINUX_BLKGETSIZE 0x1260 509deb82d4SNick Sayer #define LINUX_BLKFLSBUF 0x1261 519deb82d4SNick Sayer #define LINUX_BLKRASET 0x1262 529deb82d4SNick Sayer #define LINUX_BLKRAGET 0x1263 539deb82d4SNick Sayer #define LINUX_BLKFRASET 0x1264 549deb82d4SNick Sayer #define LINUX_BLKFRAGET 0x1265 559deb82d4SNick Sayer #define LINUX_BLKSECTSET 0x1266 569deb82d4SNick Sayer #define LINUX_BLKSECTGET 0x1267 579deb82d4SNick Sayer #define LINUX_BLKSSZGET 0x1268 58b9594cd9SEdward Tomasz Napierala #define LINUX_BLKGETSIZE64 0x1272 59aa754121SEdward Tomasz Napierala #define LINUX_BLKPBSZGET 0x127b 609deb82d4SNick Sayer 619deb82d4SNick Sayer #define LINUX_IOCTL_DISK_MIN LINUX_BLKROSET 62aa754121SEdward Tomasz Napierala #define LINUX_IOCTL_DISK_MAX LINUX_BLKPBSZGET 6371e9d5f9SPoul-Henning Kamp 6471e9d5f9SPoul-Henning Kamp /* 6571e9d5f9SPoul-Henning Kamp * hdio 6671e9d5f9SPoul-Henning Kamp */ 6771e9d5f9SPoul-Henning Kamp #define LINUX_HDIO_GET_GEO 0x0301 6871e9d5f9SPoul-Henning Kamp #define LINUX_HDIO_GET_IDENTITY 0x030D /* not yet implemented */ 6971e9d5f9SPoul-Henning Kamp #define LINUX_HDIO_GET_GEO_BIG 0x0330 7071e9d5f9SPoul-Henning Kamp 7171e9d5f9SPoul-Henning Kamp #define LINUX_IOCTL_HDIO_MIN LINUX_HDIO_GET_GEO 7271e9d5f9SPoul-Henning Kamp #define LINUX_IOCTL_HDIO_MAX LINUX_HDIO_GET_GEO_BIG 739deb82d4SNick Sayer 749deb82d4SNick Sayer /* 7543bef515SMarcel Moolenaar * cdrom 7643bef515SMarcel Moolenaar */ 7743bef515SMarcel Moolenaar #define LINUX_CDROMPAUSE 0x5301 7843bef515SMarcel Moolenaar #define LINUX_CDROMRESUME 0x5302 7943bef515SMarcel Moolenaar #define LINUX_CDROMPLAYMSF 0x5303 8043bef515SMarcel Moolenaar #define LINUX_CDROMPLAYTRKIND 0x5304 8143bef515SMarcel Moolenaar #define LINUX_CDROMREADTOCHDR 0x5305 8243bef515SMarcel Moolenaar #define LINUX_CDROMREADTOCENTRY 0x5306 8343bef515SMarcel Moolenaar #define LINUX_CDROMSTOP 0x5307 8443bef515SMarcel Moolenaar #define LINUX_CDROMSTART 0x5308 8543bef515SMarcel Moolenaar #define LINUX_CDROMEJECT 0x5309 8643bef515SMarcel Moolenaar #define LINUX_CDROMVOLCTRL 0x530a 8743bef515SMarcel Moolenaar #define LINUX_CDROMSUBCHNL 0x530b 8843bef515SMarcel Moolenaar #define LINUX_CDROMREADMODE2 0x530c 8943bef515SMarcel Moolenaar #define LINUX_CDROMREADMODE1 0x530d 9043bef515SMarcel Moolenaar #define LINUX_CDROMREADAUDIO 0x530e 9143bef515SMarcel Moolenaar #define LINUX_CDROMEJECT_SW 0x530f 9243bef515SMarcel Moolenaar #define LINUX_CDROMMULTISESSION 0x5310 9343bef515SMarcel Moolenaar #define LINUX_CDROM_GET_UPC 0x5311 9443bef515SMarcel Moolenaar #define LINUX_CDROMRESET 0x5312 9543bef515SMarcel Moolenaar #define LINUX_CDROMVOLREAD 0x5313 9643bef515SMarcel Moolenaar #define LINUX_CDROMREADRAW 0x5314 9743bef515SMarcel Moolenaar #define LINUX_CDROMREADCOOKED 0x5315 9843bef515SMarcel Moolenaar #define LINUX_CDROMSEEK 0x5316 9943bef515SMarcel Moolenaar #define LINUX_CDROMPLAYBLK 0x5317 10043bef515SMarcel Moolenaar #define LINUX_CDROMREADALL 0x5318 10143bef515SMarcel Moolenaar #define LINUX_CDROMCLOSETRAY 0x5319 10243bef515SMarcel Moolenaar #define LINUX_CDROMLOADFROMSLOT 0x531a 1039d2ff928SMarcel Moolenaar #define LINUX_CDROMGETSPINDOWN 0x531d 1049d2ff928SMarcel Moolenaar #define LINUX_CDROMSETSPINDOWN 0x531e 1059d2ff928SMarcel Moolenaar #define LINUX_CDROM_SET_OPTIONS 0x5320 1069d2ff928SMarcel Moolenaar #define LINUX_CDROM_CLEAR_OPTIONS 0x5321 1079d2ff928SMarcel Moolenaar #define LINUX_CDROM_SELECT_SPEED 0x5322 1089d2ff928SMarcel Moolenaar #define LINUX_CDROM_SELECT_DISC 0x5323 1099d2ff928SMarcel Moolenaar #define LINUX_CDROM_MEDIA_CHANGED 0x5325 1109d2ff928SMarcel Moolenaar #define LINUX_CDROM_DRIVE_STATUS 0x5326 1119d2ff928SMarcel Moolenaar #define LINUX_CDROM_DISC_STATUS 0x5327 1129d2ff928SMarcel Moolenaar #define LINUX_CDROM_CHANGER_NSLOTS 0x5328 1139d2ff928SMarcel Moolenaar #define LINUX_CDROM_LOCKDOOR 0x5329 1149d2ff928SMarcel Moolenaar #define LINUX_CDROM_DEBUG 0x5330 1159d2ff928SMarcel Moolenaar #define LINUX_CDROM_GET_CAPABILITY 0x5331 1169d2ff928SMarcel Moolenaar #define LINUX_CDROMAUDIOBUFSIZ 0x5382 1171eba4c79SScott Long #define LINUX_SCSI_GET_IDLUN 0x5382 1181eba4c79SScott Long #define LINUX_SCSI_GET_BUS_NUMBER 0x5386 1199d2ff928SMarcel Moolenaar #define LINUX_DVD_READ_STRUCT 0x5390 1209d2ff928SMarcel Moolenaar #define LINUX_DVD_WRITE_STRUCT 0x5391 1219d2ff928SMarcel Moolenaar #define LINUX_DVD_AUTH 0x5392 1229d2ff928SMarcel Moolenaar #define LINUX_CDROM_SEND_PACKET 0x5393 1239d2ff928SMarcel Moolenaar #define LINUX_CDROM_NEXT_WRITABLE 0x5394 1249d2ff928SMarcel Moolenaar #define LINUX_CDROM_LAST_WRITTEN 0x5395 12543bef515SMarcel Moolenaar 12643bef515SMarcel Moolenaar #define LINUX_IOCTL_CDROM_MIN LINUX_CDROMPAUSE 1279d2ff928SMarcel Moolenaar #define LINUX_IOCTL_CDROM_MAX LINUX_CDROM_LAST_WRITTEN 12843bef515SMarcel Moolenaar 12943bef515SMarcel Moolenaar #define LINUX_CDROM_LBA 0x01 13043bef515SMarcel Moolenaar #define LINUX_CDROM_MSF 0x02 13143bef515SMarcel Moolenaar 1329d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_AGID 0 1339d2ff928SMarcel Moolenaar #define LINUX_DVD_HOST_SEND_CHALLENGE 1 1349d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_KEY1 2 1359d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_CHALLENGE 3 1369d2ff928SMarcel Moolenaar #define LINUX_DVD_HOST_SEND_KEY2 4 1379d2ff928SMarcel Moolenaar #define LINUX_DVD_AUTH_ESTABLISHED 5 1389d2ff928SMarcel Moolenaar #define LINUX_DVD_AUTH_FAILURE 6 1399d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_TITLE_KEY 7 1409d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_ASF 8 1419d2ff928SMarcel Moolenaar #define LINUX_DVD_INVALIDATE_AGID 9 1429d2ff928SMarcel Moolenaar #define LINUX_DVD_LU_SEND_RPC_STATE 10 1439d2ff928SMarcel Moolenaar #define LINUX_DVD_HOST_SEND_RPC_STATE 11 1449d2ff928SMarcel Moolenaar 14543bef515SMarcel Moolenaar /* 1461eba4c79SScott Long * SG 1471eba4c79SScott Long */ 1481eba4c79SScott Long #define LINUX_SG_SET_TIMEOUT 0x2201 1491eba4c79SScott Long #define LINUX_SG_GET_TIMEOUT 0x2202 1501eba4c79SScott Long #define LINUX_SG_EMULATED_HOST 0x2203 1511eba4c79SScott Long #define LINUX_SG_SET_TRANSFORM 0x2204 1521eba4c79SScott Long #define LINUX_SG_GET_TRANSFORM 0x2205 1531eba4c79SScott Long #define LINUX_SG_GET_COMMAND_Q 0x2270 1541eba4c79SScott Long #define LINUX_SG_SET_COMMAND_Q 0x2271 1551eba4c79SScott Long #define LINUX_SG_SET_RESERVED_SIZE 0x2275 1561eba4c79SScott Long #define LINUX_SG_GET_RESERVED_SIZE 0x2272 1571eba4c79SScott Long #define LINUX_SG_GET_SCSI_ID 0x2276 1581eba4c79SScott Long #define LINUX_SG_SET_FORCE_LOW_DMA 0x2279 1591eba4c79SScott Long #define LINUX_SG_GET_LOW_DMA 0x227a 1601eba4c79SScott Long #define LINUX_SG_SET_FORCE_PACK_ID 0x227b 1611eba4c79SScott Long #define LINUX_SG_GET_PACK_ID 0x227c 1621eba4c79SScott Long #define LINUX_SG_GET_NUM_WAITING 0x227d 1631eba4c79SScott Long #define LINUX_SG_SET_DEBUG 0x227e 1641eba4c79SScott Long #define LINUX_SG_GET_SG_TABLESIZE 0x227f 1651eba4c79SScott Long #define LINUX_SG_GET_VERSION_NUM 0x2282 1661eba4c79SScott Long #define LINUX_SG_NEXT_CMD_LEN 0x2283 1671eba4c79SScott Long #define LINUX_SG_SCSI_RESET 0x2284 1681eba4c79SScott Long #define LINUX_SG_IO 0x2285 1691eba4c79SScott Long #define LINUX_SG_GET_REQUEST_TABLE 0x2286 1701eba4c79SScott Long #define LINUX_SG_SET_KEEP_ORPHAN 0x2287 1711eba4c79SScott Long #define LINUX_SG_GET_KEEP_ORPHAN 0x2288 1721eba4c79SScott Long #define LINUX_SG_GET_ACCESS_COUNT 0x2289 1731eba4c79SScott Long 1741eba4c79SScott Long #define LINUX_IOCTL_SG_MIN 0x2200 1751eba4c79SScott Long #define LINUX_IOCTL_SG_MAX 0x22ff 1761eba4c79SScott Long 1771eba4c79SScott Long /* 1783ad9c842SMaxim Sobolev * VFAT 1793ad9c842SMaxim Sobolev */ 1803ad9c842SMaxim Sobolev #define LINUX_VFAT_READDIR_BOTH 0x7201 1813ad9c842SMaxim Sobolev 1823ad9c842SMaxim Sobolev #define LINUX_IOCTL_VFAT_MIN LINUX_VFAT_READDIR_BOTH 1833ad9c842SMaxim Sobolev #define LINUX_IOCTL_VFAT_MAX LINUX_VFAT_READDIR_BOTH 1843ad9c842SMaxim Sobolev 1853ad9c842SMaxim Sobolev /* 18643bef515SMarcel Moolenaar * console 18743bef515SMarcel Moolenaar */ 18843bef515SMarcel Moolenaar #define LINUX_KIOCSOUND 0x4B2F 18943bef515SMarcel Moolenaar #define LINUX_KDMKTONE 0x4B30 19043bef515SMarcel Moolenaar #define LINUX_KDGETLED 0x4B31 19143bef515SMarcel Moolenaar #define LINUX_KDSETLED 0x4B32 19243bef515SMarcel Moolenaar #define LINUX_KDSETMODE 0x4B3A 19343bef515SMarcel Moolenaar #define LINUX_KDGETMODE 0x4B3B 19443bef515SMarcel Moolenaar #define LINUX_KDGKBMODE 0x4B44 19543bef515SMarcel Moolenaar #define LINUX_KDSKBMODE 0x4B45 19643bef515SMarcel Moolenaar #define LINUX_VT_OPENQRY 0x5600 19743bef515SMarcel Moolenaar #define LINUX_VT_GETMODE 0x5601 19843bef515SMarcel Moolenaar #define LINUX_VT_SETMODE 0x5602 19943bef515SMarcel Moolenaar #define LINUX_VT_GETSTATE 0x5603 20043bef515SMarcel Moolenaar #define LINUX_VT_RELDISP 0x5605 20143bef515SMarcel Moolenaar #define LINUX_VT_ACTIVATE 0x5606 20243bef515SMarcel Moolenaar #define LINUX_VT_WAITACTIVE 0x5607 20343bef515SMarcel Moolenaar 20443bef515SMarcel Moolenaar #define LINUX_IOCTL_CONSOLE_MIN LINUX_KIOCSOUND 20543bef515SMarcel Moolenaar #define LINUX_IOCTL_CONSOLE_MAX LINUX_VT_WAITACTIVE 20643bef515SMarcel Moolenaar 20743bef515SMarcel Moolenaar #define LINUX_LED_SCR 0x01 20843bef515SMarcel Moolenaar #define LINUX_LED_NUM 0x02 20943bef515SMarcel Moolenaar #define LINUX_LED_CAP 0x04 21043bef515SMarcel Moolenaar 21143bef515SMarcel Moolenaar #define LINUX_KD_TEXT 0x0 21243bef515SMarcel Moolenaar #define LINUX_KD_GRAPHICS 0x1 21343bef515SMarcel Moolenaar #define LINUX_KD_TEXT0 0x2 21443bef515SMarcel Moolenaar #define LINUX_KD_TEXT1 0x3 21543bef515SMarcel Moolenaar 21643bef515SMarcel Moolenaar #define LINUX_KBD_RAW 0 21743bef515SMarcel Moolenaar #define LINUX_KBD_XLATE 1 21843bef515SMarcel Moolenaar #define LINUX_KBD_MEDIUMRAW 2 21943bef515SMarcel Moolenaar 22043bef515SMarcel Moolenaar /* 22143bef515SMarcel Moolenaar * socket 22243bef515SMarcel Moolenaar */ 22343bef515SMarcel Moolenaar #define LINUX_FIOSETOWN 0x8901 22443bef515SMarcel Moolenaar #define LINUX_SIOCSPGRP 0x8902 22543bef515SMarcel Moolenaar #define LINUX_FIOGETOWN 0x8903 22643bef515SMarcel Moolenaar #define LINUX_SIOCGPGRP 0x8904 22743bef515SMarcel Moolenaar #define LINUX_SIOCATMARK 0x8905 22843bef515SMarcel Moolenaar #define LINUX_SIOCGSTAMP 0x8906 229113bb55fSTai-hwa Liang #define LINUX_SIOCGIFNAME 0x8910 23043bef515SMarcel Moolenaar #define LINUX_SIOCGIFCONF 0x8912 23143bef515SMarcel Moolenaar #define LINUX_SIOCGIFFLAGS 0x8913 23243bef515SMarcel Moolenaar #define LINUX_SIOCGIFADDR 0x8915 233b0cb4883SIan Dowse #define LINUX_SIOCSIFADDR 0x8916 23443bef515SMarcel Moolenaar #define LINUX_SIOCGIFDSTADDR 0x8917 23543bef515SMarcel Moolenaar #define LINUX_SIOCGIFBRDADDR 0x8919 23643bef515SMarcel Moolenaar #define LINUX_SIOCGIFNETMASK 0x891b 23782835638SDag-Erling Smørgrav #define LINUX_SIOCSIFNETMASK 0x891c 2381f2b31f7SAlvin Chen #define LINUX_SIOCGIFMETRIC 0x891d 2391f2b31f7SAlvin Chen #define LINUX_SIOCSIFMETRIC 0x891e 24082835638SDag-Erling Smørgrav #define LINUX_SIOCGIFMTU 0x8921 24182835638SDag-Erling Smørgrav #define LINUX_SIOCSIFMTU 0x8922 24282835638SDag-Erling Smørgrav #define LINUX_SIOCSIFNAME 0x8923 24382835638SDag-Erling Smørgrav #define LINUX_SIOCSIFHWADDR 0x8924 24443bef515SMarcel Moolenaar #define LINUX_SIOCGIFHWADDR 0x8927 24543bef515SMarcel Moolenaar #define LINUX_SIOCADDMULTI 0x8931 24643bef515SMarcel Moolenaar #define LINUX_SIOCDELMULTI 0x8932 247d60f0a3dSKonstantin Belousov #define LINUX_SIOCGIFINDEX 0x8933 248d60f0a3dSKonstantin Belousov #define LINUX_SIOGIFINDEX LINUX_SIOCGIFINDEX 249d60f0a3dSKonstantin Belousov #define LINUX_SIOCGIFCOUNT 0x8938 25043bef515SMarcel Moolenaar 25143bef515SMarcel Moolenaar #define LINUX_IOCTL_SOCKET_MIN LINUX_FIOSETOWN 252d60f0a3dSKonstantin Belousov #define LINUX_IOCTL_SOCKET_MAX LINUX_SIOCGIFCOUNT 25343bef515SMarcel Moolenaar 25443bef515SMarcel Moolenaar /* 255b51cc76cSDag-Erling Smørgrav * Device private ioctl calls 256b51cc76cSDag-Erling Smørgrav */ 257b51cc76cSDag-Erling Smørgrav #define LINUX_SIOCDEVPRIVATE 0x89F0 /* to 89FF */ 258b51cc76cSDag-Erling Smørgrav #define LINUX_IOCTL_PRIVATE_MIN LINUX_SIOCDEVPRIVATE 259b51cc76cSDag-Erling Smørgrav #define LINUX_IOCTL_PRIVATE_MAX LINUX_SIOCDEVPRIVATE+0xf 260b51cc76cSDag-Erling Smørgrav 261b51cc76cSDag-Erling Smørgrav /* 26243bef515SMarcel Moolenaar * sound 26343bef515SMarcel Moolenaar */ 26443bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_VOLUME 0x4d00 26543bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_BASS 0x4d01 26643bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_TREBLE 0x4d02 26743bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_SYNTH 0x4d03 26843bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_PCM 0x4d04 26943bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_SPEAKER 0x4d05 27043bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_LINE 0x4d06 27143bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_MIC 0x4d07 27243bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_CD 0x4d08 27343bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_IMIX 0x4d09 27443bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_ALTPCM 0x4d0A 27543bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_RECLEV 0x4d0B 27643bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_IGAIN 0x4d0C 27743bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_OGAIN 0x4d0D 27843bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_LINE1 0x4d0E 27943bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_LINE2 0x4d0F 28043bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_LINE3 0x4d10 28179e3da06SEdward Tomasz Napierala #define LINUX_SOUND_MIXER_WRITE_MONITOR 0x4d18 282bf4f8992SBruce M Simpson #define LINUX_SOUND_MIXER_INFO 0x4d65 28343bef515SMarcel Moolenaar #define LINUX_OSS_GETVERSION 0x4d76 2843ad9c842SMaxim Sobolev #define LINUX_SOUND_MIXER_READ_STEREODEVS 0x4dfb 285506e9a3aSSean Farley #define LINUX_SOUND_MIXER_READ_CAPS 0x4dfc 286cc5f91eeSBruce M Simpson #define LINUX_SOUND_MIXER_READ_RECMASK 0x4dfd 28743bef515SMarcel Moolenaar #define LINUX_SOUND_MIXER_READ_DEVMASK 0x4dfe 28833b3cce0SMarcel Moolenaar #define LINUX_SOUND_MIXER_WRITE_RECSRC 0x4dff 28943bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_RESET 0x5000 29043bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SYNC 0x5001 29143bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SPEED 0x5002 29243bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_STEREO 0x5003 29343bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETBLKSIZE 0x5004 29443bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SETBLKSIZE LINUX_SNDCTL_DSP_GETBLKSIZE 29543bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SETFMT 0x5005 29643bef515SMarcel Moolenaar #define LINUX_SOUND_PCM_WRITE_CHANNELS 0x5006 29743bef515SMarcel Moolenaar #define LINUX_SOUND_PCM_WRITE_FILTER 0x5007 29843bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_POST 0x5008 29943bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SUBDIVIDE 0x5009 30043bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SETFRAGMENT 0x500A 30143bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETFMTS 0x500B 30243bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETOSPACE 0x500C 30343bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETISPACE 0x500D 30443bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_NONBLOCK 0x500E 30543bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETCAPS 0x500F 30643bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETTRIGGER 0x5010 30743bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_SETTRIGGER LINUX_SNDCTL_DSP_GETTRIGGER 30843bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETIPTR 0x5011 30943bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETOPTR 0x5012 310a92c890fSAlexander Leidinger #define LINUX_SNDCTL_DSP_SETDUPLEX 0x5016 31143bef515SMarcel Moolenaar #define LINUX_SNDCTL_DSP_GETODELAY 0x5017 31243bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_RESET 0x5100 31343bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_SYNC 0x5101 31443bef515SMarcel Moolenaar #define LINUX_SNDCTL_SYNTH_INFO 0x5102 31543bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_CTRLRATE 0x5103 31643bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_GETOUTCOUNT 0x5104 31743bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_GETINCOUNT 0x5105 31843bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_PERCMODE 0x5106 31943bef515SMarcel Moolenaar #define LINUX_SNDCTL_FM_LOAD_INSTR 0x5107 32043bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_TESTMIDI 0x5108 32143bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_RESETSAMPLES 0x5109 32243bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_NRSYNTHS 0x510A 32343bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_NRMIDIS 0x510B 32443bef515SMarcel Moolenaar #define LINUX_SNDCTL_MIDI_INFO 0x510C 32543bef515SMarcel Moolenaar #define LINUX_SNDCTL_SEQ_TRESHOLD 0x510D 32643bef515SMarcel Moolenaar #define LINUX_SNDCTL_SYNTH_MEMAVL 0x510E 32743bef515SMarcel Moolenaar 32843bef515SMarcel Moolenaar #define LINUX_IOCTL_SOUND_MIN LINUX_SOUND_MIXER_WRITE_VOLUME 32943bef515SMarcel Moolenaar #define LINUX_IOCTL_SOUND_MAX LINUX_SNDCTL_SYNTH_MEMAVL 33043bef515SMarcel Moolenaar 33143bef515SMarcel Moolenaar /* 33243bef515SMarcel Moolenaar * termio 33343bef515SMarcel Moolenaar */ 33443bef515SMarcel Moolenaar #define LINUX_TCGETS 0x5401 33543bef515SMarcel Moolenaar #define LINUX_TCSETS 0x5402 33643bef515SMarcel Moolenaar #define LINUX_TCSETSW 0x5403 33743bef515SMarcel Moolenaar #define LINUX_TCSETSF 0x5404 33843bef515SMarcel Moolenaar #define LINUX_TCGETA 0x5405 33943bef515SMarcel Moolenaar #define LINUX_TCSETA 0x5406 34043bef515SMarcel Moolenaar #define LINUX_TCSETAW 0x5407 34143bef515SMarcel Moolenaar #define LINUX_TCSETAF 0x5408 34243bef515SMarcel Moolenaar #define LINUX_TCSBRK 0x5409 34343bef515SMarcel Moolenaar #define LINUX_TCXONC 0x540A 34443bef515SMarcel Moolenaar #define LINUX_TCFLSH 0x540B 3453c7b85d4SMarcel Moolenaar 34643bef515SMarcel Moolenaar #define LINUX_TIOCEXCL 0x540C 34743bef515SMarcel Moolenaar #define LINUX_TIOCNXCL 0x540D 34843bef515SMarcel Moolenaar #define LINUX_TIOCSCTTY 0x540E 3493c7b85d4SMarcel Moolenaar 35043bef515SMarcel Moolenaar #define LINUX_TIOCGPGRP 0x540F 35143bef515SMarcel Moolenaar #define LINUX_TIOCSPGRP 0x5410 3523c7b85d4SMarcel Moolenaar 35343bef515SMarcel Moolenaar #define LINUX_TIOCOUTQ 0x5411 35443bef515SMarcel Moolenaar #define LINUX_TIOCSTI 0x5412 3553c7b85d4SMarcel Moolenaar 35643bef515SMarcel Moolenaar #define LINUX_TIOCGWINSZ 0x5413 35743bef515SMarcel Moolenaar #define LINUX_TIOCSWINSZ 0x5414 3583c7b85d4SMarcel Moolenaar 35943bef515SMarcel Moolenaar #define LINUX_TIOCMGET 0x5415 36043bef515SMarcel Moolenaar #define LINUX_TIOCMBIS 0x5416 36143bef515SMarcel Moolenaar #define LINUX_TIOCMBIC 0x5417 36243bef515SMarcel Moolenaar #define LINUX_TIOCMSET 0x5418 36343bef515SMarcel Moolenaar #define LINUX_TIOCGSOFTCAR 0x5419 36443bef515SMarcel Moolenaar #define LINUX_TIOCSSOFTCAR 0x541A 3653c7b85d4SMarcel Moolenaar 36643bef515SMarcel Moolenaar #define LINUX_FIONREAD 0x541B 3673c7b85d4SMarcel Moolenaar 36843bef515SMarcel Moolenaar #define LINUX_TIOCINQ FIONREAD 36943bef515SMarcel Moolenaar #define LINUX_TIOCLINUX 0x541C 37043bef515SMarcel Moolenaar #define LINUX_TIOCCONS 0x541D 37143bef515SMarcel Moolenaar #define LINUX_TIOCGSERIAL 0x541E 37243bef515SMarcel Moolenaar #define LINUX_TIOCSSERIAL 0x541F 37343bef515SMarcel Moolenaar #define LINUX_TIOCPKT 0x5420 3743c7b85d4SMarcel Moolenaar 37543bef515SMarcel Moolenaar #define LINUX_FIONBIO 0x5421 3763c7b85d4SMarcel Moolenaar 37743bef515SMarcel Moolenaar #define LINUX_TIOCNOTTY 0x5422 37843bef515SMarcel Moolenaar #define LINUX_TIOCSETD 0x5423 37943bef515SMarcel Moolenaar #define LINUX_TIOCGETD 0x5424 38043bef515SMarcel Moolenaar #define LINUX_TCSBRKP 0x5425 38143bef515SMarcel Moolenaar #define LINUX_TIOCTTYGSTRUCT 0x5426 3823c7b85d4SMarcel Moolenaar 383a1166f24SBruce M Simpson #define LINUX_TIOCSBRK 0x5427 384a1166f24SBruce M Simpson #define LINUX_TIOCCBRK 0x5428 385a1166f24SBruce M Simpson 386e83d253bSOlivier Houchard #define LINUX_TIOCGPTN 0x5430 387b377be43SEd Schouten #define LINUX_TIOCSPTLCK 0x5431 388e83d253bSOlivier Houchard 3891866c766SEdward Tomasz Napierala #define LINUX_TIOCGPTPEER 0x5441 3901866c766SEdward Tomasz Napierala 39143bef515SMarcel Moolenaar #define LINUX_FIONCLEX 0x5450 39243bef515SMarcel Moolenaar #define LINUX_FIOCLEX 0x5451 39343bef515SMarcel Moolenaar #define LINUX_FIOASYNC 0x5452 3943c7b85d4SMarcel Moolenaar 39543bef515SMarcel Moolenaar #define LINUX_TIOCSERCONFIG 0x5453 39643bef515SMarcel Moolenaar #define LINUX_TIOCSERGWILD 0x5454 39743bef515SMarcel Moolenaar #define LINUX_TIOCSERSWILD 0x5455 39843bef515SMarcel Moolenaar #define LINUX_TIOCGLCKTRMIOS 0x5456 39943bef515SMarcel Moolenaar #define LINUX_TIOCSLCKTRMIOS 0x5457 40043bef515SMarcel Moolenaar 40143bef515SMarcel Moolenaar #define LINUX_IOCTL_TERMIO_MIN LINUX_TCGETS 40243bef515SMarcel Moolenaar #define LINUX_IOCTL_TERMIO_MAX LINUX_TIOCSLCKTRMIOS 40343bef515SMarcel Moolenaar 40443bef515SMarcel Moolenaar /* arguments for tcflow() and LINUX_TCXONC */ 40543bef515SMarcel Moolenaar #define LINUX_TCOOFF 0 40643bef515SMarcel Moolenaar #define LINUX_TCOON 1 40743bef515SMarcel Moolenaar #define LINUX_TCIOFF 2 40843bef515SMarcel Moolenaar #define LINUX_TCION 3 40943bef515SMarcel Moolenaar 41043bef515SMarcel Moolenaar /* arguments for tcflush() and LINUX_TCFLSH */ 41143bef515SMarcel Moolenaar #define LINUX_TCIFLUSH 0 41243bef515SMarcel Moolenaar #define LINUX_TCOFLUSH 1 41343bef515SMarcel Moolenaar #define LINUX_TCIOFLUSH 2 41443bef515SMarcel Moolenaar 41543bef515SMarcel Moolenaar /* line disciplines */ 41643bef515SMarcel Moolenaar #define LINUX_N_TTY 0 41743bef515SMarcel Moolenaar #define LINUX_N_SLIP 1 41843bef515SMarcel Moolenaar #define LINUX_N_MOUSE 2 41943bef515SMarcel Moolenaar #define LINUX_N_PPP 3 42043bef515SMarcel Moolenaar 42143bef515SMarcel Moolenaar /* Linux termio c_cc values */ 42243bef515SMarcel Moolenaar #define LINUX_VINTR 0 42343bef515SMarcel Moolenaar #define LINUX_VQUIT 1 42443bef515SMarcel Moolenaar #define LINUX_VERASE 2 42543bef515SMarcel Moolenaar #define LINUX_VKILL 3 42643bef515SMarcel Moolenaar #define LINUX_VEOF 4 42743bef515SMarcel Moolenaar #define LINUX_VTIME 5 42843bef515SMarcel Moolenaar #define LINUX_VMIN 6 42943bef515SMarcel Moolenaar #define LINUX_VSWTC 7 43043bef515SMarcel Moolenaar #define LINUX_NCC 8 43143bef515SMarcel Moolenaar 43243bef515SMarcel Moolenaar /* Linux termios c_cc values */ 4333c7b85d4SMarcel Moolenaar /* In addition to the termio values */ 43443bef515SMarcel Moolenaar #define LINUX_VSTART 8 43543bef515SMarcel Moolenaar #define LINUX_VSTOP 9 43643bef515SMarcel Moolenaar #define LINUX_VSUSP 10 43743bef515SMarcel Moolenaar #define LINUX_VEOL 11 43843bef515SMarcel Moolenaar #define LINUX_VREPRINT 12 43943bef515SMarcel Moolenaar #define LINUX_VDISCARD 13 44043bef515SMarcel Moolenaar #define LINUX_VWERASE 14 44143bef515SMarcel Moolenaar #define LINUX_VLNEXT 15 44243bef515SMarcel Moolenaar #define LINUX_VEOL2 16 4432cf9eb6cSEdward Tomasz Napierala #define LINUX_VSTATUS 18 44443bef515SMarcel Moolenaar #define LINUX_NCCS 19 44543bef515SMarcel Moolenaar 44643bef515SMarcel Moolenaar #define LINUX_POSIX_VDISABLE '\0' 44743bef515SMarcel Moolenaar 44843bef515SMarcel Moolenaar /* Linux c_iflag masks */ 44943bef515SMarcel Moolenaar #define LINUX_IGNBRK 0x0000001 45043bef515SMarcel Moolenaar #define LINUX_BRKINT 0x0000002 45143bef515SMarcel Moolenaar #define LINUX_IGNPAR 0x0000004 45243bef515SMarcel Moolenaar #define LINUX_PARMRK 0x0000008 45343bef515SMarcel Moolenaar #define LINUX_INPCK 0x0000010 45443bef515SMarcel Moolenaar #define LINUX_ISTRIP 0x0000020 45543bef515SMarcel Moolenaar #define LINUX_INLCR 0x0000040 45643bef515SMarcel Moolenaar #define LINUX_IGNCR 0x0000080 45743bef515SMarcel Moolenaar #define LINUX_ICRNL 0x0000100 4583c7b85d4SMarcel Moolenaar 45943bef515SMarcel Moolenaar #define LINUX_IUCLC 0x0000200 46043bef515SMarcel Moolenaar #define LINUX_IXON 0x0000400 46143bef515SMarcel Moolenaar #define LINUX_IXANY 0x0000800 46243bef515SMarcel Moolenaar #define LINUX_IXOFF 0x0001000 4633c7b85d4SMarcel Moolenaar 46443bef515SMarcel Moolenaar #define LINUX_IMAXBEL 0x0002000 465*31eec6feSEdward Tomasz Napierala #define LINUX_IUTF8 0x0004000 46643bef515SMarcel Moolenaar 46743bef515SMarcel Moolenaar /* Linux c_oflag masks */ 46843bef515SMarcel Moolenaar #define LINUX_OPOST 0x0000001 4693c7b85d4SMarcel Moolenaar 47043bef515SMarcel Moolenaar #define LINUX_OLCUC 0x0000002 47143bef515SMarcel Moolenaar #define LINUX_ONLCR 0x0000004 4723c7b85d4SMarcel Moolenaar 47343bef515SMarcel Moolenaar #define LINUX_OCRNL 0x0000008 47443bef515SMarcel Moolenaar #define LINUX_ONOCR 0x0000010 47543bef515SMarcel Moolenaar #define LINUX_ONLRET 0x0000020 47643bef515SMarcel Moolenaar #define LINUX_OFILL 0x0000040 47743bef515SMarcel Moolenaar #define LINUX_OFDEL 0x0000080 47843bef515SMarcel Moolenaar 4793c7b85d4SMarcel Moolenaar #define LINUX_NLDLY 0x0000100 48043bef515SMarcel Moolenaar #define LINUX_NL0 0x0000000 48143bef515SMarcel Moolenaar #define LINUX_NL1 0x0000100 48243bef515SMarcel Moolenaar #define LINUX_CRDLY 0x0000600 48343bef515SMarcel Moolenaar #define LINUX_CR0 0x0000000 48443bef515SMarcel Moolenaar #define LINUX_CR1 0x0000200 48543bef515SMarcel Moolenaar #define LINUX_CR2 0x0000400 48643bef515SMarcel Moolenaar #define LINUX_CR3 0x0000600 48743bef515SMarcel Moolenaar #define LINUX_TABDLY 0x0001800 48843bef515SMarcel Moolenaar #define LINUX_TAB0 0x0000000 48943bef515SMarcel Moolenaar #define LINUX_TAB1 0x0000800 49043bef515SMarcel Moolenaar #define LINUX_TAB2 0x0001000 49143bef515SMarcel Moolenaar #define LINUX_TAB3 0x0001800 49243bef515SMarcel Moolenaar #define LINUX_XTABS 0x0001800 49343bef515SMarcel Moolenaar #define LINUX_BSDLY 0x0002000 49443bef515SMarcel Moolenaar #define LINUX_BS0 0x0000000 49543bef515SMarcel Moolenaar #define LINUX_BS1 0x0002000 49643bef515SMarcel Moolenaar #define LINUX_VTDLY 0x0004000 49743bef515SMarcel Moolenaar #define LINUX_VT0 0x0000000 49843bef515SMarcel Moolenaar #define LINUX_VT1 0x0004000 49943bef515SMarcel Moolenaar #define LINUX_FFDLY 0x0008000 50043bef515SMarcel Moolenaar #define LINUX_FF0 0x0000000 50143bef515SMarcel Moolenaar #define LINUX_FF1 0x0008000 50243bef515SMarcel Moolenaar 50343bef515SMarcel Moolenaar #define LINUX_CBAUD 0x0000100f 5043c7b85d4SMarcel Moolenaar 50543bef515SMarcel Moolenaar #define LINUX_B0 0x00000000 50643bef515SMarcel Moolenaar #define LINUX_B50 0x00000001 50743bef515SMarcel Moolenaar #define LINUX_B75 0x00000002 50843bef515SMarcel Moolenaar #define LINUX_B110 0x00000003 50943bef515SMarcel Moolenaar #define LINUX_B134 0x00000004 51043bef515SMarcel Moolenaar #define LINUX_B150 0x00000005 51143bef515SMarcel Moolenaar #define LINUX_B200 0x00000006 51243bef515SMarcel Moolenaar #define LINUX_B300 0x00000007 51343bef515SMarcel Moolenaar #define LINUX_B600 0x00000008 51443bef515SMarcel Moolenaar #define LINUX_B1200 0x00000009 51543bef515SMarcel Moolenaar #define LINUX_B1800 0x0000000a 51643bef515SMarcel Moolenaar #define LINUX_B2400 0x0000000b 51743bef515SMarcel Moolenaar #define LINUX_B4800 0x0000000c 51843bef515SMarcel Moolenaar #define LINUX_B9600 0x0000000d 51943bef515SMarcel Moolenaar #define LINUX_B19200 0x0000000e 52043bef515SMarcel Moolenaar #define LINUX_B38400 0x0000000f 52143bef515SMarcel Moolenaar #define LINUX_EXTA LINUX_B19200 52243bef515SMarcel Moolenaar #define LINUX_EXTB LINUX_B38400 5233c7b85d4SMarcel Moolenaar 52443bef515SMarcel Moolenaar #define LINUX_CBAUDEX 0x00001000 52543bef515SMarcel Moolenaar #define LINUX_B57600 0x00001001 52643bef515SMarcel Moolenaar #define LINUX_B115200 0x00001002 52743bef515SMarcel Moolenaar 52843bef515SMarcel Moolenaar #define LINUX_CSIZE 0x00000030 52943bef515SMarcel Moolenaar #define LINUX_CS5 0x00000000 53043bef515SMarcel Moolenaar #define LINUX_CS6 0x00000010 53143bef515SMarcel Moolenaar #define LINUX_CS7 0x00000020 53243bef515SMarcel Moolenaar #define LINUX_CS8 0x00000030 53343bef515SMarcel Moolenaar #define LINUX_CSTOPB 0x00000040 53443bef515SMarcel Moolenaar #define LINUX_CREAD 0x00000080 53543bef515SMarcel Moolenaar #define LINUX_PARENB 0x00000100 53643bef515SMarcel Moolenaar #define LINUX_PARODD 0x00000200 53743bef515SMarcel Moolenaar #define LINUX_HUPCL 0x00000400 53843bef515SMarcel Moolenaar #define LINUX_CLOCAL 0x00000800 5393c7b85d4SMarcel Moolenaar 54043bef515SMarcel Moolenaar #define LINUX_CRTSCTS 0x80000000 54143bef515SMarcel Moolenaar 54243bef515SMarcel Moolenaar /* Linux c_lflag masks */ 54343bef515SMarcel Moolenaar #define LINUX_ISIG 0x00000001 54443bef515SMarcel Moolenaar #define LINUX_ICANON 0x00000002 54543bef515SMarcel Moolenaar #define LINUX_XCASE 0x00000004 54643bef515SMarcel Moolenaar #define LINUX_ECHO 0x00000008 54743bef515SMarcel Moolenaar #define LINUX_ECHOE 0x00000010 54843bef515SMarcel Moolenaar #define LINUX_ECHOK 0x00000020 54943bef515SMarcel Moolenaar #define LINUX_ECHONL 0x00000040 55043bef515SMarcel Moolenaar #define LINUX_NOFLSH 0x00000080 55143bef515SMarcel Moolenaar #define LINUX_TOSTOP 0x00000100 55243bef515SMarcel Moolenaar #define LINUX_ECHOCTL 0x00000200 55343bef515SMarcel Moolenaar #define LINUX_ECHOPRT 0x00000400 55443bef515SMarcel Moolenaar #define LINUX_ECHOKE 0x00000800 55543bef515SMarcel Moolenaar #define LINUX_FLUSHO 0x00001000 55643bef515SMarcel Moolenaar #define LINUX_PENDIN 0x00002000 55743bef515SMarcel Moolenaar #define LINUX_IEXTEN 0x00008000 55843bef515SMarcel Moolenaar 55943bef515SMarcel Moolenaar /* serial_struct values for TIOC[GS]SERIAL ioctls */ 56043bef515SMarcel Moolenaar #define LINUX_ASYNC_CLOSING_WAIT_INF 0 56143bef515SMarcel Moolenaar #define LINUX_ASYNC_CLOSING_WAIT_NONE 65535 56243bef515SMarcel Moolenaar 56343bef515SMarcel Moolenaar #define LINUX_PORT_UNKNOWN 0 56443bef515SMarcel Moolenaar #define LINUX_PORT_8250 1 56543bef515SMarcel Moolenaar #define LINUX_PORT_16450 2 56643bef515SMarcel Moolenaar #define LINUX_PORT_16550 3 56743bef515SMarcel Moolenaar #define LINUX_PORT_16550A 4 56843bef515SMarcel Moolenaar #define LINUX_PORT_CIRRUS 5 56943bef515SMarcel Moolenaar #define LINUX_PORT_16650 6 57043bef515SMarcel Moolenaar 57143bef515SMarcel Moolenaar #define LINUX_PORT_MAX 6 57243bef515SMarcel Moolenaar 57343bef515SMarcel Moolenaar #define LINUX_ASYNC_HUP_NOTIFY 0x0001 57443bef515SMarcel Moolenaar #define LINUX_ASYNC_FOURPORT 0x0002 57543bef515SMarcel Moolenaar #define LINUX_ASYNC_SAK 0x0004 57643bef515SMarcel Moolenaar #define LINUX_ASYNC_SPLIT_TERMIOS 0x0008 57743bef515SMarcel Moolenaar #define LINUX_ASYNC_SPD_MASK 0x0030 57843bef515SMarcel Moolenaar #define LINUX_ASYNC_SPD_HI 0x0010 57943bef515SMarcel Moolenaar #define LINUX_ASYNC_SPD_VHI 0x0020 58043bef515SMarcel Moolenaar #define LINUX_ASYNC_SPD_CUST 0x0030 58143bef515SMarcel Moolenaar #define LINUX_ASYNC_SKIP_TEST 0x0040 58243bef515SMarcel Moolenaar #define LINUX_ASYNC_AUTO_IRQ 0x0080 58343bef515SMarcel Moolenaar #define LINUX_ASYNC_SESSION_LOCKOUT 0x0100 58443bef515SMarcel Moolenaar #define LINUX_ASYNC_PGRP_LOCKOUT 0x0200 58543bef515SMarcel Moolenaar #define LINUX_ASYNC_CALLOUT_NOHUP 0x0400 58643bef515SMarcel Moolenaar #define LINUX_ASYNC_FLAGS 0x0FFF 58743bef515SMarcel Moolenaar 588caa18809SEric Anholt #define LINUX_IOCTL_DRM_MIN 0x6400 589caa18809SEric Anholt #define LINUX_IOCTL_DRM_MAX 0x64ff 590caa18809SEric Anholt 591b51cc76cSDag-Erling Smørgrav /* 5927b6bedd3SAlexander Leidinger * video 5937b6bedd3SAlexander Leidinger */ 5947b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGCAP 0x7601 5957b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGCHAN 0x7602 5967b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSCHAN 0x7603 5977b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGTUNER 0x7604 5987b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSTUNER 0x7605 5997b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGPICT 0x7606 6007b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSPICT 0x7607 6017b6bedd3SAlexander Leidinger #define LINUX_VIDIOCCAPTURE 0x7608 6027b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGWIN 0x7609 6037b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSWIN 0x760a 6047b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGFBUF 0x760b 6057b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSFBUF 0x760c 6067b6bedd3SAlexander Leidinger #define LINUX_VIDIOCKEY 0x760d 6077b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGFREQ 0x760e 6087b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSFREQ 0x760f 6097b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGAUDIO 0x7610 6107b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSAUDIO 0x7611 6117b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSYNC 0x7623 6127b6bedd3SAlexander Leidinger #define LINUX_VIDIOCMCAPTURE 0x7613 6137b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGMBUF 0x7614 6147b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGUNIT 0x7615 6157b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGCAPTURE 0x7616 6167b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSCAPTURE 0x7617 6177b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSPLAYMODE 0x7618 6187b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSWRITEMODE 0x7619 6197b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGPLAYINFO 0x761a 6207b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSMICROCODE 0x761b 6217b6bedd3SAlexander Leidinger #define LINUX_VIDIOCGVBIFMT 0x761c 6227b6bedd3SAlexander Leidinger #define LINUX_VIDIOCSVBIFMT 0x761d 6237b6bedd3SAlexander Leidinger 6247b6bedd3SAlexander Leidinger #define LINUX_IOCTL_VIDEO_MIN LINUX_VIDIOCGCAP 6257b6bedd3SAlexander Leidinger #define LINUX_IOCTL_VIDEO_MAX LINUX_VIDIOCSVBIFMT 6267b6bedd3SAlexander Leidinger 62715bf9014SAlexander Leidinger /* videodev2 aka V4L2 */ 62815bf9014SAlexander Leidinger 62915bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERYCAP 0x5600 /* 0x80685600 */ 63015bf9014SAlexander Leidinger #define LINUX_VIDIOC_RESERVED 0x5601 /* 0x00005601 */ 63115bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUM_FMT 0x5602 /* 0xc0405602 */ 63215bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_FMT 0x5604 /* 0xc0cc5604 */ 63315bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_FMT 0x5605 /* 0xc0cc5605 */ 63415bf9014SAlexander Leidinger #define LINUX_VIDIOC_REQBUFS 0x5608 /* 0xc0145608 */ 63515bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERYBUF 0x5609 /* 0xc0445609 */ 63615bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_FBUF 0x560a /* 0x802c560a */ 63715bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_FBUF 0x560b /* 0x402c560b */ 63815bf9014SAlexander Leidinger #define LINUX_VIDIOC_OVERLAY 0x560e /* 0x4004560e */ 63915bf9014SAlexander Leidinger #define LINUX_VIDIOC_QBUF 0x560f /* 0xc044560f */ 64015bf9014SAlexander Leidinger #define LINUX_VIDIOC_DQBUF 0x5611 /* 0xc0445611 */ 64115bf9014SAlexander Leidinger #define LINUX_VIDIOC_STREAMON 0x5612 /* 0x40045612 */ 64215bf9014SAlexander Leidinger #define LINUX_VIDIOC_STREAMOFF 0x5613 /* 0x40045613 */ 64315bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_PARM 0x5615 /* 0xc0cc5615 */ 64415bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_PARM 0x5616 /* 0xc0cc5616 */ 64515bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_STD 0x5617 /* 0x80085617 */ 64615bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_STD 0x5618 /* 0x40085618 */ 64715bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUMSTD 0x5619 /* 0xc0405619 */ 64815bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUMINPUT 0x561a /* 0xc04c561a */ 64915bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_CTRL 0x561b /* 0xc008561b */ 65015bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_CTRL 0x561c /* 0xc008561c */ 65115bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_TUNER 0x561d /* 0xc054561d */ 65215bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_TUNER 0x561e /* 0x4054561e */ 65315bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_AUDIO 0x5621 /* 0x80345621 */ 65415bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_AUDIO 0x5622 /* 0x40345622 */ 65515bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERYCTRL 0x5624 /* 0xc0445624 */ 65615bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERYMENU 0x5625 /* 0xc02c5625 */ 65715bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_INPUT 0x5626 /* 0x80045626 */ 65815bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_INPUT 0x5627 /* 0xc0045627 */ 65915bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_OUTPUT 0x562e /* 0x8004562e */ 66015bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_OUTPUT 0x562f /* 0xc004562f */ 66115bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUMOUTPUT 0x5630 /* 0xc0485630 */ 66215bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_AUDOUT 0x5631 /* 0x80345631 */ 66315bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_AUDOUT 0x5632 /* 0x40345632 */ 66415bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_MODULATOR 0x5636 /* 0xc0445636 */ 66515bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_MODULATOR 0x5637 /* 0x40445637 */ 66615bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_FREQUENCY 0x5638 /* 0xc02c5638 */ 66715bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_FREQUENCY 0x5639 /* 0x402c5639 */ 66815bf9014SAlexander Leidinger #define LINUX_VIDIOC_CROPCAP 0x563a /* 0xc02c563a */ 66915bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_CROP 0x563b /* 0xc014563b */ 67015bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_CROP 0x563c /* 0x4014563c */ 67115bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_JPEGCOMP 0x563d /* 0x808c563d */ 67215bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_JPEGCOMP 0x563e /* 0x408c563e */ 67315bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERYSTD 0x563f /* 0x8008563f */ 67415bf9014SAlexander Leidinger #define LINUX_VIDIOC_TRY_FMT 0x5640 /* 0xc0cc5640 */ 67515bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUMAUDIO 0x5641 /* 0xc0345641 */ 67615bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUMAUDOUT 0x5642 /* 0xc0345642 */ 67715bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_PRIORITY 0x5643 /* 0x80045643 */ 67815bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_PRIORITY 0x5644 /* 0x40045644 */ 67915bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_SLICED_VBI_CAP 0x5645 /* 0xc0745645 */ 68015bf9014SAlexander Leidinger #define LINUX_VIDIOC_LOG_STATUS 0x5646 /* 0x00005646 */ 68115bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_EXT_CTRLS 0x5647 /* 0xc0185647 */ 68215bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_EXT_CTRLS 0x5648 /* 0xc0185648 */ 68315bf9014SAlexander Leidinger #define LINUX_VIDIOC_TRY_EXT_CTRLS 0x5649 /* 0xc0185649 */ 68415bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUM_FRAMESIZES 0x564a /* 0xc02c564a */ 68515bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUM_FRAMEINTERVALS 0x564b /* 0xc034564b */ 68615bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_ENC_INDEX 0x564c /* 0x8818564c */ 68715bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENCODER_CMD 0x564d /* 0xc028564d */ 68815bf9014SAlexander Leidinger #define LINUX_VIDIOC_TRY_ENCODER_CMD 0x564e /* 0xc028564e */ 68915bf9014SAlexander Leidinger #define LINUX_VIDIOC_DBG_S_REGISTER 0x564f /* 0x4038564f */ 69015bf9014SAlexander Leidinger #define LINUX_VIDIOC_DBG_G_REGISTER 0x5650 /* 0xc0385650 */ 69115bf9014SAlexander Leidinger #define LINUX_VIDIOC_DBG_G_CHIP_IDENT 0x5651 /* 0xc02c5651 */ 69215bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_HW_FREQ_SEEK 0x5652 /* 0x40305652 */ 69315bf9014SAlexander Leidinger #define LINUX_VIDIOC_ENUM_DV_PRESETS 0x5653 /* 0xc0405653 */ 69415bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_DV_PRESET 0x5654 /* 0xc0145654 */ 69515bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_DV_PRESET 0x5655 /* 0xc0145655 */ 69615bf9014SAlexander Leidinger #define LINUX_VIDIOC_QUERY_DV_PRESET 0x5656 /* 0x80145656 */ 69715bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_DV_TIMINGS 0x5657 /* 0xc0845657 */ 69815bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_DV_TIMINGS 0x5658 /* 0xc0845658 */ 69915bf9014SAlexander Leidinger #define LINUX_VIDIOC_DQEVENT 0x5659 /* 0x80785659 */ 70015bf9014SAlexander Leidinger #define LINUX_VIDIOC_SUBSCRIBE_EVENT 0x565a /* 0x4020565a */ 70115bf9014SAlexander Leidinger #define LINUX_VIDIOC_UNSUBSCRIBE_EVENT 0x565b /* 0x4020565b */ 70215bf9014SAlexander Leidinger 70315bf9014SAlexander Leidinger #define LINUX_VIDIOC_OVERLAY_OLD 0x560e /* 0xc004560e */ 70415bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_PARM_OLD 0x5616 /* 0x40cc5616 */ 70515bf9014SAlexander Leidinger #define LINUX_VIDIOC_S_CTRL_OLD 0x561c /* 0x4008561c */ 70615bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_AUDIO_OLD 0x5621 /* 0xc0345621 */ 70715bf9014SAlexander Leidinger #define LINUX_VIDIOC_G_AUDOUT_OLD 0x5631 /* 0xc0345631 */ 70815bf9014SAlexander Leidinger #define LINUX_VIDIOC_CROPCAP_OLD 0x563a /* 0x802c563a */ 70915bf9014SAlexander Leidinger 71015bf9014SAlexander Leidinger #define LINUX_IOCTL_VIDEO2_MIN LINUX_VIDIOC_QUERYCAP 71115bf9014SAlexander Leidinger #define LINUX_IOCTL_VIDEO2_MAX LINUX_VIDIOC_UNSUBSCRIBE_EVENT 71215bf9014SAlexander Leidinger 71377311940SConrad Meyer #define LINUX_F2FS_IOC_GET_FEATURES 0xf50c /* 0x8004f50c */ 71477311940SConrad Meyer 71577311940SConrad Meyer #define LINUX_IOCTL_F2FS_MIN 0xf500 71677311940SConrad Meyer #define LINUX_IOCTL_F2FS_MAX LINUX_F2FS_IOC_GET_FEATURES 71777311940SConrad Meyer 718edfe497eSWojciech A. Koszek /* 719eedfc35cSWojciech A. Koszek * Our libusb(8) calls emulated within linux(4). 720edfe497eSWojciech A. Koszek */ 721eedfc35cSWojciech A. Koszek #define FBSD_LUSB_DEVICEENUMERATE 0xffff 722eedfc35cSWojciech A. Koszek #define FBSD_LUSB_DEV_QUIRK_ADD 0xfffe 723eedfc35cSWojciech A. Koszek #define FBSD_LUSB_DEV_QUIRK_GET 0xfffd 724eedfc35cSWojciech A. Koszek #define FBSD_LUSB_DEV_QUIRK_REMOVE 0xfffc 725eedfc35cSWojciech A. Koszek #define FBSD_LUSB_DO_REQUEST 0xfffb 726eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_CLEAR_STALL_SYNC 0xfffa 727eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_CLOSE 0xfff9 728eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_COMPLETE 0xfff8 729eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_INIT 0xfff7 730eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_OPEN 0xfff6 731eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_START 0xfff5 732eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_STOP 0xfff4 733eedfc35cSWojciech A. Koszek #define FBSD_LUSB_FS_UNINIT 0xfff3 734eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_CONFIG 0xfff2 735eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_DEVICEINFO 0xfff1 736eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_DEVICE_DESC 0xfff0 737eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_FULL_DESC 0xffef 738eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_IFACE_DRIVER 0xffee 739eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_PLUGTIME 0xffed 740eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_POWER_MODE 0xffec 741eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_REPORT_DESC 0xffeb 742eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_REPORT_ID 0xffea 743eedfc35cSWojciech A. Koszek #define FBSD_LUSB_GET_TEMPLATE 0xffe9 744eedfc35cSWojciech A. Koszek #define FBSD_LUSB_IFACE_DRIVER_ACTIVE 0xffe8 745eedfc35cSWojciech A. Koszek #define FBSD_LUSB_IFACE_DRIVER_DETACH 0xffe7 746eedfc35cSWojciech A. Koszek #define FBSD_LUSB_QUIRK_NAME_GET 0xffe6 747eedfc35cSWojciech A. Koszek #define FBSD_LUSB_READ_DIR 0xffe5 748eedfc35cSWojciech A. Koszek #define FBSD_LUSB_SET_ALTINTERFACE 0xffe4 749eedfc35cSWojciech A. Koszek #define FBSD_LUSB_SET_CONFIG 0xffe3 750eedfc35cSWojciech A. Koszek #define FBSD_LUSB_SET_IMMED 0xffe2 751eedfc35cSWojciech A. Koszek #define FBSD_LUSB_SET_POWER_MODE 0xffe1 752eedfc35cSWojciech A. Koszek #define FBSD_LUSB_SET_TEMPLATE 0xffe0 753a40a377cSHans Petter Selasky #define FBSD_LUSB_FS_OPEN_STREAM 0xffdf 754a40a377cSHans Petter Selasky #define FBSD_LUSB_GET_DEV_PORT_PATH 0xffde 755a40a377cSHans Petter Selasky #define FBSD_LUSB_GET_POWER_USAGE 0xffdd 756d845d3dcSHans Petter Selasky #define FBSD_LUSB_DEVICESTATS 0xffdc 757eedfc35cSWojciech A. Koszek 75853efdb55SConrad Meyer #define LINUX_IOCTL_FBSD_LUSB_MAX 0xffff 75953efdb55SConrad Meyer #define LINUX_IOCTL_FBSD_LUSB_MIN 0xffdc 760edfe497eSWojciech A. Koszek 761d825ce0aSJohn Baldwin /* 7625989b75bSDmitry Chagin * Linux btrfs clone operation 7635989b75bSDmitry Chagin */ 7645989b75bSDmitry Chagin #define LINUX_BTRFS_IOC_CLONE 0x9409 /* 0x40049409 */ 7650fabd7b5SEdward Tomasz Napierala #define LINUX_FS_IOC_FIEMAP 0x660b 7665989b75bSDmitry Chagin 7676e1d05bbSDmitry Chagin /* 7686e1d05bbSDmitry Chagin * Linux evdev ioctl min and max 7696e1d05bbSDmitry Chagin */ 7706e1d05bbSDmitry Chagin #define LINUX_IOCTL_EVDEV_MIN 0x4500 7716e1d05bbSDmitry Chagin #define LINUX_IOCTL_EVDEV_MAX 0x45ff 7726e1d05bbSDmitry Chagin #define LINUX_IOCTL_EVDEV_CLK LINUX_CLOCK_REALTIME | \ 7736e1d05bbSDmitry Chagin LINUX_CLOCK_MONOTONIC |LINUX_CLOCK_BOOTTIME 77446888dedSMark Johnston 77546888dedSMark Johnston /* 77646888dedSMark Johnston * kcov(4) shims 77746888dedSMark Johnston */ 77853efdb55SConrad Meyer #define LINUX_IOCTL_KCOV_MIN 0x6300 77953efdb55SConrad Meyer #define LINUX_IOCTL_KCOV_MAX 0x63ff 78046888dedSMark Johnston #define LINUX_KCOV_INIT_TRACE 0x6301 78146888dedSMark Johnston #define LINUX_KCOV_ENABLE 0x6364 78246888dedSMark Johnston #define LINUX_KCOV_DISABLE 0x6365 78346888dedSMark Johnston #define LINUX_KCOV_REMOTE_ENABLE 0x6366 78446888dedSMark Johnston 7855989b75bSDmitry Chagin /* 786ad9cc86bSChuck Tuffli * NVMe IOCTLs defined by Linux 787ad9cc86bSChuck Tuffli */ 788ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_ID 0x4e40 789ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_ADMIN_CMD 0x4e41 790ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_SUBMIT_IO 0x4e42 791ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_IO_CMD 0x4e43 792ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_RESET 0x4e44 793ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_SUBSYS_RESET 0x4e45 794ad9cc86bSChuck Tuffli #define LINUX_NVME_IOCTL_RESCAN 0x4e46 795ad9cc86bSChuck Tuffli 796ad9cc86bSChuck Tuffli #define LINUX_IOCTL_NVME_MIN LINUX_NVME_IOCTL_ID 797ad9cc86bSChuck Tuffli #define LINUX_IOCTL_NVME_MAX LINUX_NVME_IOCTL_RESCAN 798ad9cc86bSChuck Tuffli 799ad9cc86bSChuck Tuffli /* 800d825ce0aSJohn Baldwin * Pluggable ioctl handlers 801d825ce0aSJohn Baldwin */ 802d825ce0aSJohn Baldwin struct linux_ioctl_args; 803d825ce0aSJohn Baldwin struct thread; 804d825ce0aSJohn Baldwin 805d825ce0aSJohn Baldwin typedef int linux_ioctl_function_t(struct thread *, struct linux_ioctl_args *); 806d825ce0aSJohn Baldwin 807d825ce0aSJohn Baldwin struct linux_ioctl_handler { 808d825ce0aSJohn Baldwin linux_ioctl_function_t *func; 809d825ce0aSJohn Baldwin int low, high; 810d825ce0aSJohn Baldwin }; 811d825ce0aSJohn Baldwin 8128fc08087STijl Coosemans struct linux_ioctl_handler_element 8138fc08087STijl Coosemans { 8148fc08087STijl Coosemans TAILQ_ENTRY(linux_ioctl_handler_element) list; 8158fc08087STijl Coosemans int (*func)(struct thread *, struct linux_ioctl_args *); 8168fc08087STijl Coosemans int low, high, span; 8178fc08087STijl Coosemans }; 8188fc08087STijl Coosemans 819d825ce0aSJohn Baldwin int linux_ioctl_register_handler(struct linux_ioctl_handler *h); 820d825ce0aSJohn Baldwin int linux_ioctl_unregister_handler(struct linux_ioctl_handler *h); 8218fc08087STijl Coosemans #ifdef COMPAT_LINUX32 8228fc08087STijl Coosemans int linux32_ioctl_register_handler(struct linux_ioctl_handler *h); 8238fc08087STijl Coosemans int linux32_ioctl_unregister_handler(struct linux_ioctl_handler *h); 8248fc08087STijl Coosemans #endif 825d825ce0aSJohn Baldwin 82643bef515SMarcel Moolenaar #endif /* !_LINUX_IOCTL_H_ */ 827