!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/include/asm-m68k/   drwxr-xr-x
Free 318.37 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     raw_io.h (6.06 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * linux/include/asm-m68k/raw_io.h 
 *
 * 10/20/00 RZ: - created from bits of io.h and ide.h to cleanup namespace
 *
 */

#ifndef _RAW_IO_H
#define _RAW_IO_H

#ifdef __KERNEL__


/* ++roman: The assignments to temp. vars avoid that gcc sometimes generates
 * two accesses to memory, which may be undesirable for some devices.
 */
#define in_8(addr) \
    ({ unsigned char __v = (*(volatile unsigned char *) (addr)); __v; })
#define in_be16(addr) \
    ({ unsigned short __v = (*(volatile unsigned short *) (addr)); __v; })
#define in_be32(addr) \
    ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; })

#define out_8(addr,b) (void)((*(volatile unsigned char *) (addr)) = (b))
#define out_be16(addr,b) (void)((*(volatile unsigned short *) (addr)) = (b))
#define out_be32(addr,b) (void)((*(volatile unsigned int *) (addr)) = (b))

#define raw_inb in_8
#define raw_inw in_be16
#define raw_inl in_be32

#define raw_outb(val,port) out_8((port),(val))
#define raw_outw(val,port) out_be16((port),(val))
#define raw_outl(val,port) out_be32((port),(val))

#define raw_insb(port, buf, len) ({       \
    volatile unsigned char *_port = (volatile unsigned char *) (port);   \
        unsigned char *_buf =(unsigned char *)(buf);       \
        unsigned int  _i,_len=(unsigned int)(len);       \
        for(_i=0; _i< _len; _i++)  \
           *_buf++=in_8(_port);      \
  })

#define raw_outsb(port, buf, len) ({       \
    volatile unsigned char *_port = (volatile unsigned char *) (port);   \
        unsigned char *_buf =(unsigned char *)(buf);       \
        unsigned int  _i,_len=(unsigned int)(len);       \
        for( _i=0; _i< _len; _i++)  \
           out_8(_port,*_buf++);      \
  })
 

#define raw_insw(port, buf, nr) ({                \
    volatile unsigned char *_port = (volatile unsigned char *) (port);    \
    unsigned char *_buf = (unsigned char *)(buf);            \
    unsigned int _nr = (unsigned int)(nr);                    \
    unsigned long _tmp;                \
                            \
    if (_nr & 15) {                    \
        _tmp = (_nr & 15) - 1;            \
        asm volatile (                \
            "1: movew %2@,%0@+; dbra %1,1b"    \
            : "=a" (_buf), "=d" (_tmp)    \
            : "a" (_port), "0" (_buf),    \
              "1" (_tmp));            \
    }                        \
    if (_nr >> 4) {                    \
        _tmp = (_nr >> 4) - 1;            \
        asm volatile (                \
            "1: "                \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "movew %2@,%0@+; "        \
            "dbra %1,1b"            \
            : "=a" (_buf), "=d" (_tmp)    \
            : "a" (_port), "0" (_buf),    \
              "1" (_tmp));            \
    }                        \
})

#define raw_outsw(port, buf, nr) ({                \
    volatile unsigned char *_port = (volatile unsigned char *) (port);    \
    unsigned char *_buf = (unsigned char *)(buf);            \
    unsigned int _nr = (unsigned int)(nr);                    \
    unsigned long _tmp;                \
                            \
    if (_nr & 15) {                    \
        _tmp = (_nr & 15) - 1;            \
        asm volatile (                \
            "1: movew %0@+,%2@; dbra %1,1b"    \
            : "=a" (_buf), "=d" (_tmp)    \
            : "a" (_port), "0" (_buf),    \
              "1" (_tmp));            \
    }                        \
    if (_nr >> 4) {                    \
        _tmp = (_nr >> 4) - 1;            \
        asm volatile (                \
            "1: "                \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "movew %0@+,%2@; "        \
            "dbra %1,1b"               \
            : "=a" (_buf), "=d" (_tmp)    \
            : "a" (_port), "0" (_buf),    \
              "1" (_tmp));            \
    }                        \
})


#define raw_insw_swapw(port, buf, nr) \
({  if ((nr) % 8) \
    __asm__ __volatile__ \
           ("movel %0,%/a0; \
         movel %1,%/a1; \
         movel %2,%/d6; \
         subql #1,%/d6; \
           1:movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         dbra %/d6,1b"  \
        :               \
        : "g" (port), "g" (buf), "g" (nr) \
        : "d0", "a0", "a1", "d6"); \
    else \
    __asm__ __volatile__ \
           ("movel %0,%/a0; \
         movel %1,%/a1; \
         movel %2,%/d6; \
         lsrl  #3,%/d6; \
         subql #1,%/d6; \
           1:movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         movew %/a0@,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a1@+; \
         dbra %/d6,1b"  \
                :               \
        : "g" (port), "g" (buf), "g" (nr) \
        : "d0", "a0", "a1", "d6"); \
})


#define raw_outsw_swapw(port, buf, nr) \
({  if ((nr) % 8) \
    __asm__ __volatile__ \
           ("movel %0,%/a0; \
         movel %1,%/a1; \
         movel %2,%/d6; \
         subql #1,%/d6; \
           1:movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         dbra %/d6,1b"  \
                :               \
        : "g" (port), "g" (buf), "g" (nr) \
        : "d0", "a0", "a1", "d6"); \
    else \
    __asm__ __volatile__ \
           ("movel %0,%/a0; \
         movel %1,%/a1; \
         movel %2,%/d6; \
         lsrl  #3,%/d6; \
         subql #1,%/d6; \
           1:movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         movew %/a1@+,%/d0; \
         rolw  #8,%/d0; \
         movew %/d0,%/a0@; \
         dbra %/d6,1b"  \
                :               \
        : "g" (port), "g" (buf), "g" (nr) \
        : "d0", "a0", "a1", "d6"); \
})


#endif /* __KERNEL__ */

#endif /* _RAW_IO_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.005 ]--