PATH:
usr
/
include
/
sys
/* Copyright (C) 1996-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ #ifndef _SYS_IO_H #define _SYS_IO_H 1 #include <features.h> __BEGIN_DECLS /* If TURN_ON is TRUE, request for permission to do direct i/o on the port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O permission off for that range. This call requires root privileges. Portability note: not all Linux platforms support this call. Most platforms based on the PC I/O architecture probably will, however. E.g., Linux/Alpha for Alpha PCs supports this. */ extern int ioperm (unsigned long int __from, unsigned long int __num, int __turn_on) __THROW; /* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to access any I/O port is granted. This call requires root privileges. */ extern int iopl (int __level) __THROW; #if defined __GNUC__ && __GNUC__ >= 2 static __inline unsigned char inb (unsigned short int __port) { unsigned char _v; __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port)); return _v; } static __inline unsigned char inb_p (unsigned short int __port) { unsigned char _v; __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); return _v; } static __inline unsigned short int inw (unsigned short int __port) { unsigned short _v; __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port)); return _v; } static __inline unsigned short int inw_p (unsigned short int __port) { unsigned short int _v; __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); return _v; } static __inline unsigned int inl (unsigned short int __port) { unsigned int _v; __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port)); return _v; } static __inline unsigned int inl_p (unsigned short int __port) { unsigned int _v; __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); return _v; } static __inline void outb (unsigned char __value, unsigned short int __port) { __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port)); } static __inline void outb_p (unsigned char __value, unsigned short int __port) { __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value), "Nd" (__port)); } static __inline void outw (unsigned short int __value, unsigned short int __port) { __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port)); } static __inline void outw_p (unsigned short int __value, unsigned short int __port) { __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value), "Nd" (__port)); } static __inline void outl (unsigned int __value, unsigned short int __port) { __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port)); } static __inline void outl_p (unsigned int __value, unsigned short int __port) { __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value), "Nd" (__port)); } static __inline void insb (unsigned short int __port, void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } static __inline void insw (unsigned short int __port, void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } static __inline void insl (unsigned short int __port, void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } static __inline void outsb (unsigned short int __port, const void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } static __inline void outsw (unsigned short int __port, const void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } static __inline void outsl (unsigned short int __port, const void *__addr, unsigned long int __count) { __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count) :"d" (__port), "0" (__addr), "1" (__count)); } #endif /* GNU C */ __END_DECLS #endif /* _SYS_IO_H */
[-] sysinfo.h
[edit]
[-] profil.h
[edit]
[-] file.h
[edit]
[-] raw.h
[edit]
[-] mman.h
[edit]
[-] reboot.h
[edit]
[-] socket.h
[edit]
[-] unistd.h
[edit]
[-] eventfd.h
[edit]
[-] pci.h
[edit]
[-] vm86.h
[edit]
[-] mount.h
[edit]
[-] vfs.h
[edit]
[-] ipc.h
[edit]
[-] perm.h
[edit]
[-] personality.h
[edit]
[-] resource.h
[edit]
[+]
..
[-] shm.h
[edit]
[-] sysctl.h
[edit]
[-] syscall.h
[edit]
[-] errno.h
[edit]
[-] ttydefaults.h
[edit]
[-] fcntl.h
[edit]
[-] socketvar.h
[edit]
[-] stat.h
[edit]
[-] procfs.h
[edit]
[-] ttychars.h
[edit]
[-] swap.h
[edit]
[-] msg.h
[edit]
[-] kdaemon.h
[edit]
[-] select.h
[edit]
[-] timex.h
[edit]
[-] kd.h
[edit]
[-] time.h
[edit]
[-] quota.h
[edit]
[-] ultrasound.h
[edit]
[-] types.h
[edit]
[-] prctl.h
[edit]
[-] sdt-config.h
[edit]
[-] gmon.h
[edit]
[-] syslog.h
[edit]
[-] uio.h
[edit]
[-] ioctl.h
[edit]
[-] klog.h
[edit]
[-] inotify.h
[edit]
[-] statvfs.h
[edit]
[-] poll.h
[edit]
[-] vtimes.h
[edit]
[-] io.h
[edit]
[-] fanotify.h
[edit]
[-] fsuid.h
[edit]
[-] sysmacros.h
[edit]
[-] statfs.h
[edit]
[-] vt.h
[edit]
[-] ptrace.h
[edit]
[-] times.h
[edit]
[-] sem.h
[edit]
[-] xattr.h
[edit]
[-] un.h
[edit]
[-] termios.h
[edit]
[-] elf.h
[edit]
[-] param.h
[edit]
[-] timeb.h
[edit]
[-] ustat.h
[edit]
[-] wait.h
[edit]
[-] sdt.h
[edit]
[-] reg.h
[edit]
[-] utsname.h
[edit]
[-] timerfd.h
[edit]
[-] epoll.h
[edit]
[-] gmon_out.h
[edit]
[-] vlimit.h
[edit]
[-] soundcard.h
[edit]
[-] ucontext.h
[edit]
[-] acct.h
[edit]
[-] signal.h
[edit]
[-] signalfd.h
[edit]
[-] cdefs.h
[edit]
[-] debugreg.h
[edit]
[-] user.h
[edit]
[-] dir.h
[edit]
[-] queue.h
[edit]
[-] mtio.h
[edit]
[-] sendfile.h
[edit]
[-] bitypes.h
[edit]
[-] auxv.h
[edit]