!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/ppc/kernel/   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:     pmac_backlight.c (3.3 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * BK Id: SCCS/s.pmac_backlight.c 1.10 12/01/01 20:09:06 benh
 */
/*
 * Miscellaneous procedures for dealing with the PowerMac hardware.
 * Contains support for the backlight.
 * 
 *   Copyright (C) 2000 Benjamin Herrenschmidt
 *
 */

#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <linux/reboot.h>
#include <linux/nvram.h>
#include <asm/sections.h>
#include <asm/ptrace.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/system.h>
#include <asm/prom.h>
#include <asm/machdep.h>
#include <asm/nvram.h>
#include <asm/backlight.h>

#include <linux/adb.h>
#include <linux/pmu.h>

static struct backlight_controller *backlighter = NULL;
static void* backlighter_data = NULL;
static int backlight_autosave = 0;
static int backlight_level = BACKLIGHT_MAX;
static int backlight_enabled = 1;

void __pmac
register_backlight_controller(struct backlight_controller *ctrler, void *data, char *type)
{
    struct device_node* bk_node;
    char *prop;
    int valid = 0;

    bk_node = find_devices("backlight");
    
#ifdef CONFIG_ADB_PMU
    /* Special case for the old PowerBook since I can't test on it */
    backlight_autosave = machine_is_compatible("AAPL,3400/2400")
        || machine_is_compatible("AAPL,3500");
    if ((backlight_autosave
         || machine_is_compatible("AAPL,PowerBook1998")
         || machine_is_compatible("PowerBook1,1"))
        && !strcmp(type, "pmu"))
        valid = 1;
#endif
    if (bk_node) {
        prop = get_property(bk_node, "backlight-control", NULL);
        if (prop && !strncmp(prop, type, strlen(type)))
            valid = 1;
    }
    if (!valid)
        return;
    backlighter = ctrler;
    backlighter_data = data;
    
    if (bk_node && !backlight_autosave)
        prop = get_property(bk_node, "bklt", NULL);
    else
        prop = NULL;
    if (prop) {
        backlight_level = ((*prop)+1) >> 1;
        if (backlight_level > BACKLIGHT_MAX)
            backlight_level = BACKLIGHT_MAX;
    }
    
#ifdef CONFIG_ADB_PMU
    if (backlight_autosave) {
        struct adb_request req;
        pmu_request(&req, NULL, 2, 0xd9, 0);
        while (!req.complete)
            pmu_poll();
        backlight_level = req.reply[0] >> 4;
    }
#endif
    if (!backlighter->set_enable(1, backlight_level, data))
        backlight_enabled = 1;

    printk(KERN_INFO "Registered \"%s\" backlight controller, level: %d/15\n",
        type, backlight_level);
}

void __pmac
unregister_backlight_controller(struct backlight_controller *ctrler, void *data)
{
    /* We keep the current backlight level (for now) */
    if (ctrler == backlighter && data == backlighter_data)
        backlighter = NULL;
}

int __pmac
set_backlight_enable(int enable)
{
    int rc;
    
    if (!backlighter)
        return -ENODEV;
    rc = backlighter->set_enable(enable, backlight_level, backlighter_data);
    if (!rc)
        backlight_enabled = enable;
    return rc;
}

int __pmac
get_backlight_enable(void)
{
    if (!backlighter)
        return -ENODEV;
    return backlight_enabled;
}

int __pmac
set_backlight_level(int level)
{
    int rc = 0;
    
    if (!backlighter)
        return -ENODEV;
    if (level < BACKLIGHT_MIN)
        level = BACKLIGHT_OFF;
    if (level > BACKLIGHT_MAX)
        level = BACKLIGHT_MAX;
    if (backlight_enabled)
        rc = backlighter->set_level(level, backlighter_data);
    if (!rc)
        backlight_level = level;
    if (!rc && !backlight_autosave) {
        level <<=1;
        if (level & 0x10)
            level |= 0x01;
        // -- todo: save to property "bklt"
    }
    return rc;
}

int __pmac
get_backlight_level(void)
{
    if (!backlighter)
        return -ENODEV;
    return backlight_level;
}

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