POK
|
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