!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/sn/   drwxr-xr-x
Free 318.32 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:     iobus.h (5.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* $Id$
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc.
 * Copyright (C) 2000 by Colin Ngam
 */
#ifndef _ASM_SN_IOBUS_H
#define _ASM_SN_IOBUS_H

#ifdef __cplusplus
extern "C" {
#endif

struct eframe_s;
struct piomap;
struct dmamap;


/* for ilvl_t interrupt level, for use with intr_block_level.  Can't
 * typedef twice without causing warnings, and some users of this header
 * file do not already include driver.h, but expect ilvl_t to be defined,
 * while others include both, leading to the warning ...
 */

#include <asm/types.h>
#include <asm/sn/driver.h>


typedef __psunsigned_t iobush_t;

#if __KERNEL__
/* adapter handle */
typedef devfs_handle_t adap_t;
#endif


/* interrupt function */
typedef void           *intr_arg_t;
typedef void        intr_func_f(intr_arg_t);
typedef intr_func_f    *intr_func_t;

#define    INTR_ARG(n)    ((intr_arg_t)(__psunsigned_t)(n))

/* system interrupt resource handle -- returned from intr_alloc */
typedef struct intr_s *intr_t;
#define INTR_HANDLE_NONE ((intr_t)0)

/*
 * restore interrupt level value, returned from intr_block_level
 * for use with intr_unblock_level.
 */
typedef void *rlvl_t;


/* 
 * A basic, platform-independent description of I/O requirements for
 * a device. This structure is usually formed by lboot based on information 
 * in configuration files.  It contains information about PIO, DMA, and
 * interrupt requirements for a specific instance of a device.
 *
 * The pio description is currently unused.
 *
 * The dma description describes bandwidth characteristics and bandwidth
 * allocation requirements. (TBD)
 *
 * The Interrupt information describes the priority of interrupt, desired 
 * destination, policy (TBD), whether this is an error interrupt, etc.  
 * For now, interrupts are targeted to specific CPUs.
 */

typedef struct device_desc_s {
    /* pio description (currently none) */

    /* dma description */
    /* TBD: allocated badwidth requirements */

    /* interrupt description */
    devfs_handle_t    intr_target;    /* Hardware locator string */
    int         intr_policy;    /* TBD */
    ilvl_t        intr_swlevel;    /* software level for blocking intr */
    char        *intr_name;    /* name of interrupt, if any */

    int        flags;
} *device_desc_t;

/* flag values */
#define    D_INTR_ISERR    0x1        /* interrupt is for error handling */
#define D_IS_ASSOC    0x2        /* descriptor is associated with a dev */
#define D_INTR_NOTHREAD    0x4        /* Interrupt handler isn't threaded. */

#define INTR_SWLEVEL_NOTHREAD_DEFAULT     0    /* Default
                         * Interrupt level in case of
                         * non-threaded interrupt 
                         * handlers
                         */
/* 
 * Drivers use these interfaces to manage device descriptors.
 *
 * To examine defaults:
 *    desc = device_desc_default_get(dev);
 *    device_desc_*_get(desc);
 *
 * To modify defaults:
 *    desc = device_desc_default_get(dev);
 *    device_desc_*_set(desc);
 *
 * To eliminate defaults:
 *    device_desc_default_set(dev, NULL);
 *
 * To override defaults:
 *    desc = device_desc_dup(dev);
 *    device_desc_*_set(desc,...);
 *    use device_desc in calls
 *    device_desc_free(desc);
 *
 * Software must not set or eliminate default device descriptors for a device while
 * concurrently get'ing, dup'ing or using them.  Default device descriptors can be 
 * changed only for a device that is quiescent.  In general, device drivers have no
 * need to permanently change defaults anyway -- they just override defaults, when
 * necessary.
 */
extern device_desc_t    device_desc_dup(devfs_handle_t dev);
extern void        device_desc_free(device_desc_t device_desc);
extern device_desc_t    device_desc_default_get(devfs_handle_t dev);
extern void        device_desc_default_set(devfs_handle_t dev, device_desc_t device_desc);

extern devfs_handle_t    device_desc_intr_target_get(device_desc_t device_desc);
extern int        device_desc_intr_policy_get(device_desc_t device_desc);
extern ilvl_t        device_desc_intr_swlevel_get(device_desc_t device_desc);
extern char *        device_desc_intr_name_get(device_desc_t device_desc);
extern int        device_desc_flags_get(device_desc_t device_desc);

extern void        device_desc_intr_target_set(device_desc_t device_desc, devfs_handle_t target);
extern void        device_desc_intr_policy_set(device_desc_t device_desc, int policy);
extern void        device_desc_intr_swlevel_set(device_desc_t device_desc, ilvl_t swlevel);
extern void        device_desc_intr_name_set(device_desc_t device_desc, char *name);
extern void        device_desc_flags_set(device_desc_t device_desc, int flags);


/* IO state */
#ifdef COMMENT
#define IO_STATE_EMPTY            0x01    /* non-existent */
#define IO_STATE_INITIALIZING        0x02    /* being initialized */
#define IO_STATE_ATTACHING           0x04    /* becoming active */
#define IO_STATE_ACTIVE              0x08    /* active */
#define IO_STATE_DETACHING           0x10    /* becoming inactive */
#define IO_STATE_INACTIVE            0x20    /* not in use */
#define IO_STATE_ERROR            0x40    /* problems */
#define IO_STATE_BAD_HARDWARE        0x80    /* broken hardware */
#endif

struct edt;


/* return codes */
#define RC_OK                0    
#define RC_ERROR            1

/* bus configuration management op code */
#define IOBUS_CONFIG_ATTACH        0    /* vary on */
#define IOBUS_CONFIG_DETACH        1    /* vary off */
#define IOBUS_CONFIG_RECOVER        2    /* clear error then vary on */

/* get low-level PIO handle */
extern int pio_geth(struct piomap*, int bus, int bus_id, int subtype, 
    iopaddr_t addr, int size);    

/* get low-level DMA handle */
extern int dma_geth(struct dmamap*, int bus_type, int bus_id, int dma_type, 
    int npages, int page_size, int flags);    

#ifdef __cplusplus
}
#endif

/*
 * Macros for page number and page offsets, using ps as page size
 */
#define x_pnum(addr, ps) ((__psunsigned_t)(addr) / (__psunsigned_t)(ps))
#define x_poff(addr, ps) ((__psunsigned_t)(addr) & ((__psunsigned_t)(ps) - 1))

#endif /* _ASM_SN_IOBUS_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.0049 ]--