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


Viewing file:     ide-pnp.c (4.06 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * linux/drivers/ide/ide-pnp.c
 *
 * This file provides autodetection for ISA PnP IDE interfaces.
 * It was tested with "ESS ES1868 Plug and Play AudioDrive" IDE interface.
 *
 * Copyright (C) 2000 Andrey Panin <pazke@orbita.don.sitek.net>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * You should have received a copy of the GNU General Public License
 * (for example /usr/src/linux/COPYING); if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  
 */

#include <linux/ide.h>
#include <linux/init.h>

#include <linux/isapnp.h>

#ifndef PREPARE_FUNC
#define PREPARE_FUNC(dev)  (dev->prepare)
#define ACTIVATE_FUNC(dev)  (dev->activate)
#define DEACTIVATE_FUNC(dev)  (dev->deactivate)
#endif

#define DEV_IO(dev, index) (dev->resource[index].start)
#define DEV_IRQ(dev, index) (dev->irq_resource[index].start)

#define DEV_NAME(dev) (dev->bus->name ? dev->bus->name : "ISA PnP")

#define GENERIC_HD_DATA        0
#define GENERIC_HD_ERROR    1
#define GENERIC_HD_NSECTOR    2
#define GENERIC_HD_SECTOR    3
#define GENERIC_HD_LCYL        4
#define GENERIC_HD_HCYL        5
#define GENERIC_HD_SELECT    6
#define GENERIC_HD_STATUS    7

static int generic_ide_offsets[IDE_NR_PORTS] __initdata = {
    GENERIC_HD_DATA, GENERIC_HD_ERROR, GENERIC_HD_NSECTOR, 
    GENERIC_HD_SECTOR, GENERIC_HD_LCYL, GENERIC_HD_HCYL,
    GENERIC_HD_SELECT, GENERIC_HD_STATUS, -1, -1
};

/* ISA PnP device table entry */
struct pnp_dev_t {
    unsigned short card_vendor, card_device, vendor, device;
    int (*init_fn)(struct pci_dev *dev, int enable);
};

/* Generic initialisation function for ISA PnP IDE interface */
static int __init pnpide_generic_init(struct pci_dev *dev, int enable)
{
    hw_regs_t hw;
    int index;

    if (!enable)
        return 0;

    if (!(DEV_IO(dev, 0) && DEV_IO(dev, 1) && DEV_IRQ(dev, 0)))
        return 1;

    ide_setup_ports(&hw, (ide_ioreg_t) DEV_IO(dev, 0),
            generic_ide_offsets, (ide_ioreg_t) DEV_IO(dev, 1),
            0, NULL, DEV_IRQ(dev, 0));

    index = ide_register_hw(&hw, NULL);

    if (index != -1) {
            printk("ide%d: %s IDE interface\n", index, DEV_NAME(dev));
        return 0;
    }

    return 1;
}

/* Add your devices here :)) */
struct pnp_dev_t idepnp_devices[] __initdata = {
      /* Generic ESDI/IDE/ATA compatible hard disk controller */
    {    ISAPNP_ANY_ID, ISAPNP_ANY_ID,
        ISAPNP_VENDOR('P', 'N', 'P'), ISAPNP_DEVICE(0x0600),
        pnpide_generic_init },
    {    0 }
};

#ifdef MODULE
#define NR_PNP_DEVICES 8
struct pnp_dev_inst {
    struct pci_dev *dev;
    struct pnp_dev_t *dev_type;
};
static struct pnp_dev_inst devices[NR_PNP_DEVICES];
static int pnp_ide_dev_idx = 0;
#endif

/*
 * Probe for ISA PnP IDE interfaces.
 */
void __init pnpide_init(int enable)
{
    struct pci_dev *dev = NULL;
    struct pnp_dev_t *dev_type;

    if (!isapnp_present())
        return;

#ifdef MODULE
    /* Module unload, deactivate all registered devices. */
    if (!enable) {
        int i;
        for (i = 0; i < pnp_ide_dev_idx; i++) {
            devices[i].dev_type->init_fn(dev, 0);

            if (DEACTIVATE_FUNC(devices[i].dev))
                DEACTIVATE_FUNC(devices[i].dev)(devices[i].dev);
        }
        return;
    }
#endif
    for (dev_type = idepnp_devices; dev_type->vendor; dev_type++) {
        while ((dev = isapnp_find_dev(NULL, dev_type->vendor,
            dev_type->device, dev))) {

            if (dev->active)
                continue;

                   if (PREPARE_FUNC(dev) && (PREPARE_FUNC(dev))(dev) < 0) {
                printk("ide: %s prepare failed\n", DEV_NAME(dev));
                continue;
            }

            if (ACTIVATE_FUNC(dev) && (ACTIVATE_FUNC(dev))(dev) < 0) {
                printk("ide: %s activate failed\n", DEV_NAME(dev));
                continue;
            }

            /* Call device initialization function */
            if (dev_type->init_fn(dev, 1)) {
                if (DEACTIVATE_FUNC(dev))
                    DEACTIVATE_FUNC(dev)(dev);
            } else {
#ifdef MODULE
                /*
                 * Register device in the array to
                 * deactivate it on a module unload.
                 */
                if (pnp_ide_dev_idx >= NR_PNP_DEVICES)
                    return;
                devices[pnp_ide_dev_idx].dev = dev;
                devices[pnp_ide_dev_idx].dev_type = dev_type;
                pnp_ide_dev_idx++;
#endif
            }
        }
    }
}

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