POK
/home/jaouen/pok_official/pok/trunk/libpok/arch/x86/ioports.c
00001 /*
00002  *                               POK header
00003  * 
00004  * The following file is a part of the POK project. Any modification should
00005  * made according to the POK licence. You CANNOT use this file or a part of
00006  * this file is this part of a file for your own project
00007  *
00008  * For more information on the POK licence, please see our LICENCE FILE
00009  *
00010  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
00011  *
00012  *                                      Copyright (c) 2007-2009 POK team 
00013  *
00014  * Created by laurent on Sun Jun 07 18:39:49 2009 
00015  */
00016 
00017 
00018 #ifdef POK_NEEDS_IO
00019 
00020 # include <arch/x86/ioports.h>
00021 # include <libc/stdio.h>
00022 
00023 pok_ret_t pok_inb (uint16_t port)
00024 {
00025   int32_t ret = (int32_t) pok_syscall2 (POK_SYSCALL_INB,
00026                                         (uint32_t)port,
00027                                         0);
00028 
00029   if (ret < 0)
00030     printf("pok_inb: error %d, port %x\n", ret, port);
00031 
00032   return (ret);
00033 }
00034 
00035 pok_ret_t pok_outb (uint16_t port, uint8_t value)
00036 {
00037   int32_t ret = (int32_t) pok_syscall2 (POK_SYSCALL_OUTB,
00038                                         (uint32_t)port,
00039                                         (uint32_t)value);
00040 
00041   if (ret < 0)
00042     printf("pok_outb: error %d, port %x\n", ret, port);
00043 
00044   return (ret);
00045 }
00046 
00047 #endif