1433d6423SLionel Sambuc #include "syslib.h"
2433d6423SLionel Sambuc
3433d6423SLionel Sambuc /*===========================================================================*
4433d6423SLionel Sambuc * sys_sdevio *
5433d6423SLionel Sambuc *===========================================================================*/
sys_sdevio(req,port,proc_nr,buffer,count,offset)6433d6423SLionel Sambuc int sys_sdevio(req, port, proc_nr, buffer, count, offset)
7433d6423SLionel Sambuc int req; /* request: DIO_{IN,OUT}PUT_* */
8433d6423SLionel Sambuc long port; /* port address to read from */
9433d6423SLionel Sambuc endpoint_t proc_nr; /* process where buffer is */
10433d6423SLionel Sambuc void *buffer; /* pointer to buffer */
11433d6423SLionel Sambuc int count; /* number of elements */
12433d6423SLionel Sambuc vir_bytes offset; /* offset from grant */
13433d6423SLionel Sambuc {
14433d6423SLionel Sambuc message m_io;
15433d6423SLionel Sambuc
16433d6423SLionel Sambuc m_io.m_lsys_krn_sys_sdevio.request = req;
17433d6423SLionel Sambuc m_io.m_lsys_krn_sys_sdevio.port = port;
18433d6423SLionel Sambuc m_io.m_lsys_krn_sys_sdevio.vec_endpt = proc_nr;
19*685aa793SDavid van Moolenbroek m_io.m_lsys_krn_sys_sdevio.vec_addr = (vir_bytes)buffer;
20433d6423SLionel Sambuc m_io.m_lsys_krn_sys_sdevio.vec_size = count;
21433d6423SLionel Sambuc m_io.m_lsys_krn_sys_sdevio.offset = offset;
22433d6423SLionel Sambuc
23433d6423SLionel Sambuc return(_kernel_call(SYS_SDEVIO, &m_io));
24433d6423SLionel Sambuc }
25433d6423SLionel Sambuc
26