!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-ia64/   drwxr-xr-x
Free 318.39 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:     unaligned.h (3.01 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef _ASM_IA64_UNALIGNED_H
#define _ASM_IA64_UNALIGNED_H

#include <linux/types.h>

/*
 * The main single-value unaligned transfer routines.  Derived from
 * the Linux/Alpha version.
 *
 * Copyright (C) 1998, 1999 Hewlett-Packard Co
 * Copyright (C) 1998, 1999 David Mosberger-Tang <davidm@hpl.hp.com>
 */
#define get_unaligned(ptr) \
    ((__typeof__(*(ptr)))ia64_get_unaligned((ptr), sizeof(*(ptr))))

#define put_unaligned(x,ptr) \
    ia64_put_unaligned((unsigned long)(x), (ptr), sizeof(*(ptr)))

/*
 * EGCS 1.1 knows about arbitrary unaligned loads.  Define some
 * packed structures to talk about such things with.
 */
struct __una_u64 { __u64 x __attribute__((packed)); };
struct __una_u32 { __u32 x __attribute__((packed)); };
struct __una_u16 { __u16 x __attribute__((packed)); };

static inline unsigned long
__uldq (const unsigned long * r11)
{
    const struct __una_u64 *ptr = (const struct __una_u64 *) r11;
    return ptr->x;
}

static inline unsigned long
__uldl (const unsigned int * r11)
{
    const struct __una_u32 *ptr = (const struct __una_u32 *) r11;
    return ptr->x;
}

static inline unsigned long
__uldw (const unsigned short * r11)
{
    const struct __una_u16 *ptr = (const struct __una_u16 *) r11;
    return ptr->x;
}

static inline void
__ustq (unsigned long r5, unsigned long * r11)
{
    struct __una_u64 *ptr = (struct __una_u64 *) r11;
    ptr->x = r5;
}

static inline void
__ustl (unsigned long r5, unsigned int * r11)
{
    struct __una_u32 *ptr = (struct __una_u32 *) r11;
    ptr->x = r5;
}

static inline void
__ustw (unsigned long r5, unsigned short * r11)
{
    struct __una_u16 *ptr = (struct __una_u16 *) r11;
    ptr->x = r5;
}


/*
 * This function doesn't actually exist.  The idea is that when
 * someone uses the macros below with an unsupported size (datatype),
 * the linker will alert us to the problem via an unresolved reference
 * error.
 */
extern unsigned long ia64_bad_unaligned_access_length (void);

#define ia64_get_unaligned(_ptr,size)                \
({                                \
    const void *ptr = (_ptr);                \
    unsigned long val;                    \
                                \
    switch (size) {                        \
          case 1:                        \
        val = *(const unsigned char *) ptr;        \
        break;                        \
          case 2:                        \
        val = __uldw((const unsigned short *)ptr);    \
        break;                        \
          case 4:                        \
        val = __uldl((const unsigned int *)ptr);    \
        break;                        \
          case 8:                        \
        val = __uldq((const unsigned long *)ptr);    \
        break;                        \
          default:                        \
        val = ia64_bad_unaligned_access_length();    \
    }                            \
    val;                            \
})

#define ia64_put_unaligned(_val,_ptr,size)        \
do {                            \
    const void *ptr = (_ptr);            \
    unsigned long val = (_val);            \
                            \
    switch (size) {                    \
          case 1:                    \
        *(unsigned char *)ptr = (val);        \
            break;                    \
          case 2:                    \
        __ustw(val, (unsigned short *)ptr);    \
        break;                    \
          case 4:                    \
        __ustl(val, (unsigned int *)ptr);    \
        break;                    \
          case 8:                    \
        __ustq(val, (unsigned long *)ptr);    \
        break;                    \
          default:                    \
            ia64_bad_unaligned_access_length();    \
    }                        \
} while (0)

#endif /* _ASM_IA64_UNALIGNED_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.0045 ]--