!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/video/   drwxr-xr-x
Free 318.38 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:     stifb.c (5.07 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * linux/drivers/video/stifb.c - Generic frame buffer driver for HP
 * workstations with STI (standard text interface) video firmware.
 *
 * Based on:
 * linux/drivers/video/artistfb.c -- Artist frame buffer driver
 *
 *    Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org>
 *
 *  based on skeletonfb, which was
 *    Created 28 Dec 1997 by Geert Uytterhoeven
 *
 * 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.  */

/*
 * Notes:
 *
 * This driver assumes that the video has been set up in 1bpp mode by
 * the firmware.  Since HP video tends to be planar rather than
 * packed-pixel this will probably work anyway even if it isn't.
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/tty.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/init.h>

#include <video/fbcon.h>

#include "sti.h"

static struct fb_ops stifb_ops;

struct stifb_info {
    struct fb_info_gen gen;
    struct sti_struct *sti;
};

struct stifb_par {
};

static struct stifb_info fb_info;
static struct display disp;

int stifb_init(void);
int stifb_setup(char*);

extern struct display_switch fbcon_sti;

/* ------------------- chipset specific functions -------------------------- */

static int
sti_encode_fix(struct fb_fix_screeninfo *fix,
           const void *par, struct fb_info_gen *info)
{
    /* XXX: what about smem_len? */
    fix->smem_start = PTR_STI(fb_info.sti->glob_cfg)->region_ptrs[1];
    fix->type = FB_TYPE_PLANES; /* well, sort of */

    return 0;
}

static int
sti_decode_var(const struct fb_var_screeninfo *var,
    void *par, struct fb_info_gen *info)
{
    return 0;
}

static int
sti_encode_var(struct fb_var_screeninfo *var,
           const void *par, struct fb_info_gen *info)
{
    var->xres = PTR_STI(fb_info.sti->glob_cfg)->onscreen_x;
    var->yres = PTR_STI(fb_info.sti->glob_cfg)->onscreen_y;
    var->xres_virtual = PTR_STI(fb_info.sti->glob_cfg)->total_x;
    var->yres_virtual = PTR_STI(fb_info.sti->glob_cfg)->total_y;
    var->xoffset = var->yoffset = 0;

    var->bits_per_pixel = 1;
    var->grayscale = 0;

    return 0;
}

static void
sti_get_par(void *par, struct fb_info_gen *info)
{
}

static void
sti_set_par(const void *par, struct fb_info_gen *info)
{
}

static int
sti_getcolreg(unsigned regno, unsigned *red, unsigned *green,
          unsigned *blue, unsigned *transp, struct fb_info *info)
{
    return 0;
}

static int
sti_setcolreg(unsigned regno, unsigned red, unsigned green,
          unsigned blue, unsigned transp, struct fb_info *info)
{
    return 0;
}

static void
sti_set_disp(const void *par, struct display *disp,
         struct fb_info_gen *info)
{
    disp->screen_base =
        (void *) PTR_STI(fb_info.sti->glob_cfg)->region_ptrs[1];
    disp->dispsw = &fbcon_sti;
}

static void
sti_detect(void)
{
}

static int
sti_blank(int blank_mode, const struct fb_info *info)
{
    return 0;
}

/* ------------ Interfaces to hardware functions ------------ */

struct fbgen_hwswitch sti_switch = {
    detect:        sti_detect,
    encode_fix:    sti_encode_fix,
    decode_var:    sti_decode_var,
    encode_var:    sti_encode_var,
    get_par:    sti_get_par,
    set_par:    sti_set_par,
    getcolreg:    sti_getcolreg,
    setcolreg:    sti_setcolreg,
    pan_display:    NULL,
    blank:        sti_blank,
    set_disp:    sti_set_disp
};


/* ------------ Hardware Independent Functions ------------ */

    /*
     *  Initialization
     */

int __init
stifb_init(void)
{
    printk("searching for word mode STI ROMs\n");
    /* XXX: in the future this will return a list of ROMs */
    if ((fb_info.sti = sti_init_roms()) == NULL)
        return -ENXIO;

    fb_info.gen.info.node = -1;
    fb_info.gen.info.flags = FBINFO_FLAG_DEFAULT;
    fb_info.gen.info.fbops = &stifb_ops;
    fb_info.gen.info.disp = &disp;
    fb_info.gen.info.changevar = NULL;
    fb_info.gen.info.switch_con = &fbgen_switch;
    fb_info.gen.info.updatevar = &fbgen_update_var;
    fb_info.gen.info.blank = &fbgen_blank;
    strcpy(fb_info.gen.info.modename, "STI Generic");
    fb_info.gen.fbhw = &sti_switch;
    fb_info.gen.fbhw->detect();

    /* This should give a reasonable default video mode */
    fbgen_get_var(&disp.var, -1, &fb_info.gen.info);
    fbgen_do_set_var(&disp.var, 1, &fb_info.gen);
    fbgen_set_disp(-1, &fb_info.gen);
    fbgen_install_cmap(0, &fb_info.gen);
    pdc_console_die();
    if (register_framebuffer(&fb_info.gen.info) < 0)
        return -EINVAL;

    printk(KERN_INFO "fb%d: %s frame buffer device\n",
        GET_FB_IDX(fb_info.gen.info.node), fb_info.gen.info.modename);

    return 0;
}


    /*
     *  Cleanup
     */

void
stifb_cleanup(struct fb_info *info)
{
    printk("stifb_cleanup: you're on crack\n");
}


int __init
stifb_setup(char *options)
{
    /* XXX: we should take the resolution, bpp as command line arguments. */
    return 0;
}


/* ------------------------------------------------------------------------- */


static struct fb_ops stifb_ops = {
    owner:        THIS_MODULE,
    fb_open:    NULL,
    fb_release:    NULL,
    fb_get_fix:    fbgen_get_fix,
    fb_get_var:    fbgen_get_var,
    fb_set_var:    fbgen_set_var,
    fb_get_cmap:    fbgen_get_cmap,
    fb_set_cmap:    fbgen_set_cmap,
    fb_pan_display:    fbgen_pan_display,
    fb_ioctl:    NULL
};

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