Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > a804ef007a99f7d26cf24253c2994680 > files > 2010

howto-html-ja-9.1-0.5mdk.noarch.rpm

<HTML
><HEAD
><TITLE
>$B%W%m%0%i%`$NNc(B</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.54"><LINK
REL="HOME"
TITLE="Linux I/O $B%]!<%H%W%m%0%i%_%s%0(B mini-HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="$B%H%i%V%k%7%e!<%H(B"
HREF="troubleshooting.html"><LINK
REL="NEXT"
TITLE="$B<U<-(B"
HREF="credits.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux I/O $B%]!<%H%W%m%0%i%_%s%0(B mini-HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="troubleshooting.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="credits.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="EXAMPLE-CODE"
>9. $B%W%m%0%i%`$NNc(B</A
></H1
><P
>$B$3$l$O!"(BI/O $B%]!<%H%"%/%;%9$NC1=c$J%3!<%G%#%s%0Nc$G$9(B:</P
><P
>&#13;<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>/*
 * example.c: $B$H$C$F$b4JC1$J%]!<%H(BI/O$B$NNc(B
 *
 * $B$J$K$bLr$K$?$D$3$H$O$7$F$$$^$;$s!#%]!<%H$K=q$-9~$_!"0l;~Dd;_$7$F!"(B
 * $B%]!<%H$+$iFI$_=P$9$@$1$G$9!#!V(Bgcc -O2 -o example example.c$B!W$G(B
 * $B%3%s%Q%$%k$7$F!"%k!<%H%f!<%6$K$J$C$F!V(B./example$B!W$G<B9T$7$F$/$@$5$$!#(B
 */

#include &#60;stdio.h&#62;
#include &#60;unistd.h&#62;
#include &#60;asm/io.h&#62;

#define BASEPORT 0x378 /* lp1 */

int main()
{
  /* $B%]!<%H$X$N%"%/%;%95v2D$rF@$k(B */
  if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}
  
  /* $B%]!<%H$N%G!<%?(B (D0-D7)$B$rA4$F(B low (0) $B$K$9$k(B */
  outb(0, BASEPORT);
  
  /* $B$7$P$i$/$N4V(B (100 ms) $B%9%j!<%W(B */
  usleep(100000);
  
  /* $B%9%F!<%?%9%]!<%H(B (BASE+1) $B$+$iFI$_=P$7$F!"I=<($9$k(B */
  printf("status: %d\n", inb(BASEPORT + 1));

  /* $B$b$&%]!<%H$r;H$o$J$$$N$G8e;OKv(B */
  if (ioperm(BASEPORT, 3, 0)) {perror("ioperm"); exit(1);}

  exit(0);
}

/* example.c $B$*$o$j(B */</PRE
></TD
></TR
></TABLE
>&#13;</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="troubleshooting.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="credits.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>$B%H%i%V%k%7%e!<%H(B</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>$B<U<-(B</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>