!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-headers-2.6.24-28/drivers/media/video/   drwxr-xr-x
Free 1.03 GB of 97.11 GB (1.07%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     planb.h (7.52 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
    planb - PlanB frame grabber driver

    PlanB is used in the 7x00/8x00 series of PowerMacintosh
    Computers as video input DMA controller.

    Copyright (C) 1998 Michel Lanners (mlan@cpu.lu)

    Based largely on the bttv driver by Ralph Metzler (rjkm@thp.uni-koeln.de)

    Additional debugging and coding by Takashi Oe (toe@unlserve.unl.edu)


    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 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

/* $Id: planb.h,v 1.13 1999/05/03 19:28:56 mlan Exp $ */

#ifndef _PLANB_H_
#define _PLANB_H_

#ifdef __KERNEL__
#include <asm/dbdma.h>
#include "saa7196.h"
#endif /* __KERNEL__ */

#define PLANB_DEVICE_NAME    "Apple PlanB Video-In"
#define PLANB_REV        "1.0"

#ifdef __KERNEL__
//#define PLANB_GSCANLINE    /* use this if apps have the notion of */
                /* grab buffer scanline */
/* This should be safe for both PAL and NTSC */
#define PLANB_MAXPIXELS 768
#define PLANB_MAXLINES 576
#define PLANB_NTSC_MAXLINES 480

/* Uncomment your preferred norm ;-) */
#define PLANB_DEF_NORM VIDEO_MODE_PAL
//#define PLANB_DEF_NORM VIDEO_MODE_NTSC
//#define PLANB_DEF_NORM VIDEO_MODE_SECAM

/* fields settings */
#define PLANB_GRAY    0x1    /*  8-bit mono? */
#define PLANB_COLOUR15    0x2    /* 16-bit mode */
#define PLANB_COLOUR32    0x4    /* 32-bit mode */
#define PLANB_CLIPMASK    0x8    /* hardware clipmasking */

/* misc. flags for PlanB DMA operation */
#define    CH_SYNC        0x1    /* synchronize channels (set by ch1;
                   cleared by ch2) */
#define FIELD_SYNC    0x2     /* used for the start of each field
                   (0 -> 1 -> 0 for ch1; 0 -> 1 for ch2) */
#define EVEN_FIELD    0x0    /* even field is detected if unset */
#define DMA_ABORT    0x2    /* error or just out of sync if set */
#define ODD_FIELD    0x4    /* odd field is detected if set */

/* for capture operations */
#define MAX_GBUFFERS    2
/* note PLANB_MAX_FBUF must be divisible by PAGE_SIZE */
#ifdef PLANB_GSCANLINE
#define PLANB_MAX_FBUF    0x240000    /* 576 * 1024 * 4 */
#define TAB_FACTOR    (1)
#else
#define PLANB_MAX_FBUF    0x1b0000    /* 576 * 768 * 4 */
#define TAB_FACTOR    (2)
#endif
#endif /* __KERNEL__ */

struct planb_saa_regs {
    unsigned char addr;
    unsigned char val;
};

struct planb_stat_regs {
    unsigned int ch1_stat;
    unsigned int ch2_stat;
    unsigned char saa_stat0;
    unsigned char saa_stat1;
};

struct planb_any_regs {
    unsigned int offset;
    unsigned int bytes;
    unsigned char data[128];
};

/* planb private ioctls */
#define PLANBIOCGSAAREGS    _IOWR('v', BASE_VIDIOCPRIVATE, struct planb_saa_regs)    /* Read a saa7196 reg value */
#define PLANBIOCSSAAREGS    _IOW('v', BASE_VIDIOCPRIVATE + 1, struct planb_saa_regs)    /* Set a saa7196 reg value */
#define PLANBIOCGSTAT        _IOR('v', BASE_VIDIOCPRIVATE + 2, struct planb_stat_regs)    /* Read planb status */
#define PLANB_TV_MODE        1
#define PLANB_VTR_MODE        2
#define PLANBIOCGMODE        _IOR('v', BASE_VIDIOCPRIVATE + 3, int)    /* Get TV/VTR mode */
#define PLANBIOCSMODE        _IOW('v', BASE_VIDIOCPRIVATE + 4, int)    /* Set TV/VTR mode */

#ifdef PLANB_GSCANLINE
#define PLANBG_GRAB_BPL        _IOR('v', BASE_VIDIOCPRIVATE + 5, int)    /* # of bytes per scanline in grab buffer */
#endif

/* call wake_up_interruptible() with appropriate actions */
#define PLANB_INTR_DEBUG    _IOW('v', BASE_VIDIOCPRIVATE + 20, int)
/* investigate which reg does what */
#define PLANB_INV_REGS        _IOWR('v', BASE_VIDIOCPRIVATE + 21, struct planb_any_regs)

#ifdef __KERNEL__

/* Potentially useful macros */
#define PLANB_SET(x)    ((x) << 16 | (x))
#define PLANB_CLR(x)    ((x) << 16)

/* This represents the physical register layout */
struct planb_registers {
    volatile struct dbdma_regs    ch1;        /* 0x00: video in */
    volatile unsigned int        even;        /* 0x40: even field setting */
    volatile unsigned int        odd;        /* 0x44; odd field setting */
    unsigned int            pad1[14];    /* empty? */
    volatile struct dbdma_regs    ch2;        /* 0x80: clipmask out */
    unsigned int            pad2[16];    /* 0xc0: empty? */
    volatile unsigned int        reg3;        /* 0x100: ???? */
    volatile unsigned int        intr_stat;    /* 0x104: irq status */
#define PLANB_CLR_IRQ        0x00        /* clear Plan B interrupt */
#define PLANB_GEN_IRQ        0x01        /* assert Plan B interrupt */
#define PLANB_FRM_IRQ        0x0100        /* end of frame */
    unsigned int            pad3[1];    /* empty? */
    volatile unsigned int        reg5;        /* 0x10c: ??? */
    unsigned int            pad4[60];    /* empty? */
    volatile unsigned char        saa_addr;    /* 0x200: SAA subadr */
    char                pad5[3];
    volatile unsigned char        saa_regval;    /* SAA7196 write reg. val */
    char                pad6[3];
    volatile unsigned char        saa_status;    /* SAA7196 status byte */
    /* There is more unused stuff here */
};

struct planb_window {
    int    x, y;
    ushort    width, height;
    ushort    bpp, bpl, depth, pad;
    ushort    swidth, sheight;
    int    norm;
    int    interlace;
    u32    color_fmt;
    int    chromakey;
    int    mode;        /* used to switch between TV/VTR modes */
};

struct planb_suspend {
    int overlay;
    int frame;
    struct dbdma_cmd cmd;
};

struct planb {
    struct    video_device video_dev;
    struct    video_picture picture;        /* Current picture params */
    struct    video_audio audio_dev;        /* Current audio params */

    volatile struct planb_registers *planb_base;    /* virt base of planb */
    struct planb_registers *planb_base_phys;    /* phys base of planb */
    void    *priv_space;            /* Org. alloc. mem for kfree */
    int    user;
    unsigned int tab_size;
    int     maxlines;
    struct mutex lock;
    unsigned int    irq;            /* interrupt number */
    volatile unsigned int intr_mask;
    struct pci_dev *dev;            /* Our PCI device */

    int    overlay;            /* overlay running? */
    struct    planb_window win;
    unsigned long frame_buffer_phys;    /* We need phys for DMA */
    int    offset;                /* offset of pixel 1 */
    volatile struct dbdma_cmd *ch1_cmd;    /* Video In DMA cmd buffer */
    volatile struct dbdma_cmd *ch2_cmd;    /* Clip Out DMA cmd buffer */
    volatile struct dbdma_cmd *overlay_last1;
    volatile struct dbdma_cmd *overlay_last2;
    unsigned long ch1_cmd_phys;
    volatile unsigned char *mask;        /* Clipmask buffer */
    int suspend;
    wait_queue_head_t suspendq;
    struct planb_suspend suspended;
    int    cmd_buff_inited;        /* cmd buffer inited? */

    int grabbing;
    unsigned int gcount;
    wait_queue_head_t capq;
    int last_fr;
    int prev_last_fr;
    unsigned char **rawbuf;
    int rawbuf_size;
    int gbuf_idx[MAX_GBUFFERS];
    volatile struct dbdma_cmd *cap_cmd[MAX_GBUFFERS];
    volatile struct dbdma_cmd *last_cmd[MAX_GBUFFERS];
    volatile struct dbdma_cmd *pre_cmd[MAX_GBUFFERS];
    int need_pre_capture[MAX_GBUFFERS];
#define PLANB_DUMMY 40    /* # of command buf's allocated for pre-capture seq. */
    int gwidth[MAX_GBUFFERS], gheight[MAX_GBUFFERS];
    unsigned int gfmt[MAX_GBUFFERS];
    int gnorm_switch[MAX_GBUFFERS];
    volatile unsigned int *frame_stat;
#define GBUFFER_UNUSED       0x00U
#define GBUFFER_GRABBING     0x01U
#define GBUFFER_DONE         0x02U
#ifdef PLANB_GSCANLINE
    int gbytes_per_line;
#else
#define MAX_LNUM 431    /* change this if PLANB_MAXLINES or */
            /* PLANB_MAXPIXELS changes */
    int l_fr_addr_idx[MAX_GBUFFERS];
    unsigned char *l_to_addr[MAX_GBUFFERS][MAX_LNUM];
    int l_to_next_idx[MAX_GBUFFERS][MAX_LNUM];
    int l_to_next_size[MAX_GBUFFERS][MAX_LNUM];
    int lsize[MAX_GBUFFERS], lnum[MAX_GBUFFERS];
#endif
};

#endif /* __KERNEL__ */

#endif /* _PLANB_H_ */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0048 ]--