pr19080.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 116 行
C
116 行
typedef union { int ioport; volatile char *maddr; } bus_space_handle_t;struct scb { unsigned short *hscb; };struct ahd_softc{ int tags[2]; bus_space_handle_t bshs[2]; int dst_mode; int src_mode; int flags;};void outb(int, int);int foo_inb(struct ahd_softc*);int foo_int_int (int, int);int ahd_inb(struct ahd_softc*);int ahd_scb_active_in_fifo (void);void ahd_flush_qoutfifo (struct ahd_softc *ahd, struct scb *scb){ int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1; int bb, p; if (ahd->src_mode == 1) { int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1;} foo_int_int (ahd->src_mode, ahd->dst_mode); p = 1; if (ahd->src_mode == 2 && ahd->dst_mode == p) { if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } ahd->src_mode = 1; ahd->dst_mode = 2; while ((ahd_inb (ahd) & 0x01) != 0) { p = 1; if (ahd->src_mode == 2 && ahd->dst_mode == p) { if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } ahd->src_mode = 1; ahd->dst_mode = 2; if (ahd_scb_active_in_fifo () == 0) continue; p = 1; if (ahd->src_mode == 2 && ahd->dst_mode == p) { if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } ahd->src_mode = 1; ahd->dst_mode = 2; if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if ((ahd->flags & 1) != 0) foo_inb (ahd); if ((ahd->flags & 1) != 0) foo_inb (ahd); if ((ahd->flags & 1) != 0) foo_inb (ahd); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if ((ahd->flags & 1) != 0) foo_inb (ahd); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); bb = (*(scb->hscb)); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); bb = (*(scb->hscb)); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); p = 1; if (ahd->src_mode == 2 && ahd->dst_mode == p) { if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } ahd->src_mode = 1; ahd->dst_mode = 2; if (ahd->src_mode == 2 && ahd->dst_mode == dst) { if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr); outb (1, ahd->bshs[0].ioport ); } ahd->src_mode = 1; ahd->dst_mode = 2; ahd->flags |= 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?