.\" Copyright (c) 2014 Jeff Epler .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, write to the Free .\" Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, .\" USA. .TH funct "3rtapi" "2022-11-29" "LinuxCNC Documentation" "RTAPI" .SH NAME rtapi_io.h \- RTAPI wrappers for linux kernel functionality .SH SYNTAX .HP #include .HP unsigned char rtapi_inb(unsigned short int port); .HP unsigned short rtapi_inw(unsigned short int port); .HP unsigned int rtapi_inl(unsigned short int port); .HP unsigned void rtapi_outb(unsigned char value, unsigned short int port); .HP unsigned void rtapi_outw(unsigned short value, unsigned short int port); .HP unsigned void rtapi_inl(unsigned int value, unsigned short int port); .HP int rtapi_ioperm(unsigned long from, unsigned long num, int turn_on); .HP unsigned void rtapi_outl(unsigned int value, unsigned short int port); .SH DESCRIPTION In kernel space, each rtapi_xxx or RTAPI_XXX identifier is mapped to the underlying kernel functionality, if available. In userspace, or in kernels where the underlying functionality is not provided by a kernel, generally another implementation--possibly with reduced functionality--is provided. (For example, the userspace implementation for rtapi_device_register and the kernel space implementation of rtapi_ioperm always succeeds) .SH REALTIME CONSIDERATIONS Call from init/cleanup code and from realtime tasks. These functions will cause illegal instruction exceptions in userspace components, as well as in uspace rtapi_app when it is not setuid root. .SH RETURN VALUE As in Linux. .SH SEE ALSO \fBinb(3)\fR, \fBinw(3)\fR, \fBinl(3)\fR, \fBoutb(3)\fR, \fBoutw(3)\fR, \fBoutl(3)\fR, \fBioperm(3)\fR, .SH AUTHOR Jeff Epler