1<h2>i386_io_port_add</h2> 2<hr> 3<p> 4<strong>Function</strong> - Permit target thread to invoke operations on the specified device. 5<h3>SYNOPSIS</h3> 6<pre> 7<strong>kern_return_t i386_io_port_add</strong> 8 <strong>(thread_act_t</strong> <var>target_act</var>, 9 <strong>device_t</strong> <var>device</var><strong>);</strong> 10</pre> 11<h3>PARAMETERS</h3> 12<dl> 13<p> 14<dt> <var>target_act</var> 15<dd> 16[in thread send right] 17Thread whose permission bitmap is to be set. 18<p> 19<dt> <var>device</var> 20<dd> 21[in device send right] 22The device to which I/O instructions are to be 23permitted. 24</dl> 25<h3>DESCRIPTION</h3> 26<p> 27The <strong>i386_io_port_add</strong> function adds a device to the 28I/O permission bitmap for a 29thread, thereby permitting the thread to execute I/O instructions against the 30device. 31<h3>NOTES</h3> 32<p> 33Normally, the thread must have called <strong>i386_io_port_add</strong> 34for all devices to which it will execute I/O instructions. However, possessing 35send rights to the <var>iopl</var> device port will cause the 36<var>iopl</var> device to be automatically added to the 37thread's I/O map upon first attempted access. This is a backward 38compatibility feature for the DOS emulator. 39<h3>RETURN VALUES</h3> 40<p> 41Only generic errors apply. 42<h3>RELATED INFORMATION</h3> 43<p> 44Functions: 45<a href="i386_io_port_list.html"><strong>i386_io_port_list<strong></a>, 46<a href="i386_io_port_remove.html"><strong>i386_io_port_remove<strong></a>. 47