minix/lib/syslib/sys_sdevio.c

27 lines
841 B
C
Raw Normal View History

2005-04-21 16:53:53 +02:00
#include "syslib.h"
/*===========================================================================*
* sys_sdevio *
*===========================================================================*/
PUBLIC int sys_sdevio(req, port, proc_nr, buffer, count, offset)
int req; /* request: DIO_{IN,OUT}PUT_* */
2005-04-21 16:53:53 +02:00
long port; /* port address to read from */
endpoint_t proc_nr; /* process where buffer is */
2005-04-21 16:53:53 +02:00
void *buffer; /* pointer to buffer */
int count; /* number of elements */
vir_bytes offset; /* offset from grant */
2005-04-21 16:53:53 +02:00
{
message m_io;
int result;
m_io.DIO_REQUEST = req;
m_io.DIO_PORT = port;
m_io.DIO_VEC_ENDPT = proc_nr;
2005-04-21 16:53:53 +02:00
m_io.DIO_VEC_ADDR = buffer;
m_io.DIO_VEC_SIZE = count;
m_io.DIO_OFFSET = offset;
2005-04-21 16:53:53 +02:00
return(_taskcall(SYSTASK, SYS_SDEVIO, &m_io));
}