!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/arch/ia64/kernel/   drwxr-xr-x
Free 318.35 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     unwind_i.h (5.33 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * Copyright (C) 2000 Hewlett-Packard Co
 * Copyright (C) 2000 David Mosberger-Tang <davidm@hpl.hp.com>
 *
 * Kernel unwind support.
 */

#define UNW_VER(x)        ((x) >> 48)
#define UNW_FLAG_MASK        0x0000ffff00000000
#define UNW_FLAG_OSMASK        0x0000f00000000000
#define UNW_FLAG_EHANDLER(x)    ((x) & 0x0000000100000000L)
#define UNW_FLAG_UHANDLER(x)    ((x) & 0x0000000200000000L)
#define UNW_LENGTH(x)        ((x) & 0x00000000ffffffffL)

enum unw_register_index {
    /* primary unat: */
    UNW_REG_PRI_UNAT_GR,
    UNW_REG_PRI_UNAT_MEM,

    /* register stack */
    UNW_REG_BSP,                    /* register stack pointer */
    UNW_REG_BSPSTORE,
    UNW_REG_PFS,                    /* previous function state */
    UNW_REG_RNAT,
    /* memory stack */
    UNW_REG_PSP,                    /* previous memory stack pointer */
    /* return pointer: */
    UNW_REG_RP,

    /* preserved registers: */
    UNW_REG_R4, UNW_REG_R5, UNW_REG_R6, UNW_REG_R7,
    UNW_REG_UNAT, UNW_REG_PR, UNW_REG_LC, UNW_REG_FPSR,
    UNW_REG_B1, UNW_REG_B2, UNW_REG_B3, UNW_REG_B4, UNW_REG_B5,
    UNW_REG_F2, UNW_REG_F3, UNW_REG_F4, UNW_REG_F5,
    UNW_REG_F16, UNW_REG_F17, UNW_REG_F18, UNW_REG_F19,
    UNW_REG_F20, UNW_REG_F21, UNW_REG_F22, UNW_REG_F23,
    UNW_REG_F24, UNW_REG_F25, UNW_REG_F26, UNW_REG_F27,
    UNW_REG_F28, UNW_REG_F29, UNW_REG_F30, UNW_REG_F31,
    UNW_NUM_REGS
};

struct unw_info_block {
    u64 header;
    u64 desc[0];        /* unwind descriptors */
    /* personality routine and language-specific data follow behind descriptors */
};

struct unw_table_entry {
    u64 start_offset;
    u64 end_offset;
    u64 info_offset;
};

struct unw_table {
    struct unw_table *next;        /* must be first member! */
    const char *name;
    unsigned long gp;        /* global pointer for this load-module */
    unsigned long segment_base;    /* base for offsets in the unwind table entries */
    unsigned long start;
    unsigned long end;
    const struct unw_table_entry *array;
    unsigned long length;
};

enum unw_where {
    UNW_WHERE_NONE,            /* register isn't saved at all */
    UNW_WHERE_GR,            /* register is saved in a general register */
    UNW_WHERE_FR,            /* register is saved in a floating-point register */
    UNW_WHERE_BR,            /* register is saved in a branch register */
    UNW_WHERE_SPREL,        /* register is saved on memstack (sp-relative) */
    UNW_WHERE_PSPREL,        /* register is saved on memstack (psp-relative) */
    /*
     * At the end of each prologue these locations get resolved to
     * UNW_WHERE_PSPREL and UNW_WHERE_GR, respectively:
     */
    UNW_WHERE_SPILL_HOME,        /* register is saved in its spill home */
    UNW_WHERE_GR_SAVE        /* register is saved in next general register */
};

#define UNW_WHEN_NEVER    0x7fffffff

struct unw_reg_info {
    unsigned long val;        /* save location: register number or offset */
    enum unw_where where;        /* where the register gets saved */
    int when;            /* when the register gets saved */
};

struct unw_state_record {
    unsigned int first_region : 1;    /* is this the first region? */
    unsigned int done : 1;        /* are we done scanning descriptors? */
    unsigned int any_spills : 1;    /* got any register spills? */
    unsigned int in_body : 1;    /* are we inside a body (as opposed to a prologue)? */
    unsigned long flags;        /* see UNW_FLAG_* in unwind.h */

    u8 *imask;            /* imask of of spill_mask record or NULL */
    unsigned long pr_val;        /* predicate values */
    unsigned long pr_mask;        /* predicate mask */
    long spill_offset;        /* psp-relative offset for spill base */
    int region_start;
    int region_len;
    int epilogue_start;
    int epilogue_count;
    int when_target;

    u8 gr_save_loc;            /* next general register to use for saving a register */
    u8 return_link_reg;        /* branch register in which the return link is passed */

    struct unw_reg_state {
        struct unw_reg_state *next;
        unsigned long label;        /* label of this state record */
        struct unw_reg_info reg[UNW_NUM_REGS];
    } curr, *stack, *reg_state_list;
};

enum unw_nat_type {
    UNW_NAT_NONE,        /* NaT not represented */
    UNW_NAT_VAL,        /* NaT represented by NaT value (fp reg) */
    UNW_NAT_MEMSTK,        /* NaT value is in unat word at offset OFF  */
    UNW_NAT_REGSTK        /* NaT is in rnat */
};

enum unw_insn_opcode {
    UNW_INSN_ADD,            /* s[dst] += val */
    UNW_INSN_ADD_PSP,        /* s[dst] = (s.psp + val) */
    UNW_INSN_ADD_SP,        /* s[dst] = (s.sp + val) */
    UNW_INSN_MOVE,            /* s[dst] = s[val] */
    UNW_INSN_MOVE2,            /* s[dst] = s[val]; s[dst+1] = s[val+1] */
    UNW_INSN_MOVE_STACKED,        /* s[dst] = ia64_rse_skip(*s.bsp, val) */
    UNW_INSN_SETNAT_MEMSTK,        /* s[dst+1].nat.type = MEMSTK;
                       s[dst+1].nat.off = *s.pri_unat - s[dst] */
    UNW_INSN_SETNAT_TYPE,        /* s[dst+1].nat.type = val */
    UNW_INSN_LOAD            /* s[dst] = *s[val] */
};

struct unw_insn {
    unsigned int opc    :  4;
    unsigned int dst    :  9;
    signed int val        : 19;
};

/*
 * Preserved general static registers (r2-r5) give rise to two script
 * instructions; everything else yields at most one instruction; at
 * the end of the script, the psp gets popped, accounting for one more
 * instruction.
 */
#define UNW_MAX_SCRIPT_LEN    (UNW_NUM_REGS + 5)

struct unw_script {
    unsigned long ip;        /* ip this script is for */
    unsigned long pr_mask;        /* mask of predicates script depends on */
    unsigned long pr_val;        /* predicate values this script is for */
    rwlock_t lock;
    unsigned int flags;        /* see UNW_FLAG_* in unwind.h */
    unsigned short lru_chain;    /* used for least-recently-used chain */
    unsigned short coll_chain;    /* used for hash collisions */
    unsigned short hint;        /* hint for next script to try (or -1) */
    unsigned short count;        /* number of instructions in script */
    struct unw_insn insn[UNW_MAX_SCRIPT_LEN];
};

:: 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.0269 ]--