!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

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

Safe-mode: OFF (not secure)

/usr/src/linux-oracle-headers-5.15.0-1040/include/drm/   drwxr-xr-x
Free 83.29 GB of 96.73 GB (86.11%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     gud.h (11.58 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: MIT */
/*
 * Copyright 2020 Noralf Trønnes
 */

#ifndef __LINUX_GUD_H
#define __LINUX_GUD_H

#include <linux/types.h>

/*
 * struct gud_display_descriptor_req - Display descriptor
 * @magic: Magic value GUD_DISPLAY_MAGIC
 * @version: Protocol version
 * @flags: Flags
 *         - STATUS_ON_SET: Always do a status request after a SET request.
 *                          This is used by the Linux gadget driver since it has
 *                          no way to control the status stage of a control OUT
 *                          request that has a payload.
 *         - FULL_UPDATE:   Always send the entire framebuffer when flushing changes.
 *                          The GUD_REQ_SET_BUFFER request will not be sent
 *                          before each bulk transfer, it will only be sent if the
 *                          previous bulk transfer had failed. This gives the device
 *                          a chance to reset its state machine if needed.
 *                          This flag can not be used in combination with compression.
 * @compression: Supported compression types
 *               - GUD_COMPRESSION_LZ4: LZ4 lossless compression.
 * @max_buffer_size: Maximum buffer size the device can handle (optional).
 *                   This is useful for devices that don't have a big enough
 *                   buffer to decompress the entire framebuffer in one go.
 * @min_width: Minimum pixel width the controller can handle
 * @max_width: Maximum width
 * @min_height: Minimum height
 * @max_height: Maximum height
 *
 * Devices that have only one display mode will have min_width == max_width
 * and min_height == max_height.
 */
struct gud_display_descriptor_req {
    __le32 magic;
#define GUD_DISPLAY_MAGIC            0x1d50614d
    __u8 version;
    __le32 flags;
#define GUD_DISPLAY_FLAG_STATUS_ON_SET        BIT(0)
#define GUD_DISPLAY_FLAG_FULL_UPDATE        BIT(1)
    __u8 compression;
#define GUD_COMPRESSION_LZ4            BIT(0)
    __le32 max_buffer_size;
    __le32 min_width;
    __le32 max_width;
    __le32 min_height;
    __le32 max_height;
} __packed;

/*
 * struct gud_property_req - Property
 * @prop: Property
 * @val: Value
 */
struct gud_property_req {
    __le16 prop;
    __le64 val;
} __packed;

/*
 * struct gud_display_mode_req - Display mode
 * @clock: Pixel clock in kHz
 * @hdisplay: Horizontal display size
 * @hsync_start: Horizontal sync start
 * @hsync_end: Horizontal sync end
 * @htotal: Horizontal total size
 * @vdisplay: Vertical display size
 * @vsync_start: Vertical sync start
 * @vsync_end: Vertical sync end
 * @vtotal: Vertical total size
 * @flags: Bits 0-13 are the same as in the RandR protocol and also what DRM uses.
 *         The deprecated bits are reused for internal protocol flags leaving us
 *         free to follow DRM for the other bits in the future.
 *         - FLAG_PREFERRED: Set on the preferred display mode.
 */
struct gud_display_mode_req {
    __le32 clock;
    __le16 hdisplay;
    __le16 hsync_start;
    __le16 hsync_end;
    __le16 htotal;
    __le16 vdisplay;
    __le16 vsync_start;
    __le16 vsync_end;
    __le16 vtotal;
    __le32 flags;
#define GUD_DISPLAY_MODE_FLAG_PHSYNC        BIT(0)
#define GUD_DISPLAY_MODE_FLAG_NHSYNC        BIT(1)
#define GUD_DISPLAY_MODE_FLAG_PVSYNC        BIT(2)
#define GUD_DISPLAY_MODE_FLAG_NVSYNC        BIT(3)
#define GUD_DISPLAY_MODE_FLAG_INTERLACE        BIT(4)
#define GUD_DISPLAY_MODE_FLAG_DBLSCAN        BIT(5)
#define GUD_DISPLAY_MODE_FLAG_CSYNC        BIT(6)
#define GUD_DISPLAY_MODE_FLAG_PCSYNC        BIT(7)
#define GUD_DISPLAY_MODE_FLAG_NCSYNC        BIT(8)
#define GUD_DISPLAY_MODE_FLAG_HSKEW        BIT(9)
/* BCast and PixelMultiplex are deprecated */
#define GUD_DISPLAY_MODE_FLAG_DBLCLK        BIT(12)
#define GUD_DISPLAY_MODE_FLAG_CLKDIV2        BIT(13)
#define GUD_DISPLAY_MODE_FLAG_USER_MASK        \
        (GUD_DISPLAY_MODE_FLAG_PHSYNC | GUD_DISPLAY_MODE_FLAG_NHSYNC | \
        GUD_DISPLAY_MODE_FLAG_PVSYNC | GUD_DISPLAY_MODE_FLAG_NVSYNC | \
        GUD_DISPLAY_MODE_FLAG_INTERLACE | GUD_DISPLAY_MODE_FLAG_DBLSCAN | \
        GUD_DISPLAY_MODE_FLAG_CSYNC | GUD_DISPLAY_MODE_FLAG_PCSYNC | \
        GUD_DISPLAY_MODE_FLAG_NCSYNC | GUD_DISPLAY_MODE_FLAG_HSKEW | \
        GUD_DISPLAY_MODE_FLAG_DBLCLK | GUD_DISPLAY_MODE_FLAG_CLKDIV2)
/* Internal protocol flags */
#define GUD_DISPLAY_MODE_FLAG_PREFERRED        BIT(10)
} __packed;

/*
 * struct gud_connector_descriptor_req - Connector descriptor
 * @connector_type: Connector type (GUD_CONNECTOR_TYPE_*).
 *                  If the host doesn't support the type it should fall back to PANEL.
 * @flags: Flags
 *         - POLL_STATUS: Connector status can change (polled every 10 seconds)
 *         - INTERLACE: Interlaced modes are supported
 *         - DOUBLESCAN: Doublescan modes are supported
 */
struct gud_connector_descriptor_req {
    __u8 connector_type;
#define GUD_CONNECTOR_TYPE_PANEL        0
#define GUD_CONNECTOR_TYPE_VGA            1
#define GUD_CONNECTOR_TYPE_COMPOSITE        2
#define GUD_CONNECTOR_TYPE_SVIDEO        3
#define GUD_CONNECTOR_TYPE_COMPONENT        4
#define GUD_CONNECTOR_TYPE_DVI            5
#define GUD_CONNECTOR_TYPE_DISPLAYPORT        6
#define GUD_CONNECTOR_TYPE_HDMI            7
    __le32 flags;
#define GUD_CONNECTOR_FLAGS_POLL_STATUS        BIT(0)
#define GUD_CONNECTOR_FLAGS_INTERLACE        BIT(1)
#define GUD_CONNECTOR_FLAGS_DOUBLESCAN        BIT(2)
} __packed;

/*
 * struct gud_set_buffer_req - Set buffer transfer info
 * @x: X position of rectangle
 * @y: Y position
 * @width: Pixel width of rectangle
 * @height: Pixel height
 * @length: Buffer length in bytes
 * @compression: Transfer compression
 * @compressed_length: Compressed buffer length
 *
 * This request is issued right before the bulk transfer.
 * @x, @y, @width and @height specifies the rectangle where the buffer should be
 * placed inside the framebuffer.
 */
struct gud_set_buffer_req {
    __le32 x;
    __le32 y;
    __le32 width;
    __le32 height;
    __le32 length;
    __u8 compression;
    __le32 compressed_length;
} __packed;

/*
 * struct gud_state_req - Display state
 * @mode: Display mode
 * @format: Pixel format GUD_PIXEL_FORMAT_*
 * @connector: Connector index
 * @properties: Array of properties
 *
 * The entire state is transferred each time there's a change.
 */
struct gud_state_req {
    struct gud_display_mode_req mode;
    __u8 format;
    __u8 connector;
    struct gud_property_req properties[];
} __packed;

/* List of supported connector properties: */

/* Margins in pixels to deal with overscan, range 0-100 */
#define GUD_PROPERTY_TV_LEFT_MARGIN            1
#define GUD_PROPERTY_TV_RIGHT_MARGIN            2
#define GUD_PROPERTY_TV_TOP_MARGIN            3
#define GUD_PROPERTY_TV_BOTTOM_MARGIN            4
#define GUD_PROPERTY_TV_MODE                5
/* Brightness in percent, range 0-100 */
#define GUD_PROPERTY_TV_BRIGHTNESS            6
/* Contrast in percent, range 0-100 */
#define GUD_PROPERTY_TV_CONTRAST            7
/* Flicker reduction in percent, range 0-100 */
#define GUD_PROPERTY_TV_FLICKER_REDUCTION        8
/* Overscan in percent, range 0-100 */
#define GUD_PROPERTY_TV_OVERSCAN            9
/* Saturation in percent, range 0-100 */
#define GUD_PROPERTY_TV_SATURATION            10
/* Hue in percent, range 0-100 */
#define GUD_PROPERTY_TV_HUE                11

/*
 * Backlight brightness is in the range 0-100 inclusive. The value represents the human perceptual
 * brightness and not a linear PWM value. 0 is minimum brightness which should not turn the
 * backlight completely off. The DPMS connector property should be used to control power which will
 * trigger a GUD_REQ_SET_DISPLAY_ENABLE request.
 *
 * This does not map to a DRM property, it is used with the backlight device.
 */
#define GUD_PROPERTY_BACKLIGHT_BRIGHTNESS        12

/* List of supported properties that are not connector propeties: */

/*
 * Plane rotation. Should return the supported bitmask on
 * GUD_REQ_GET_PROPERTIES. GUD_ROTATION_0 is mandatory.
 *
 * Note: This is not display rotation so 90/270 will need scaling to make it fit (unless squared).
 */
#define GUD_PROPERTY_ROTATION                50
  #define GUD_ROTATION_0            BIT(0)
  #define GUD_ROTATION_90            BIT(1)
  #define GUD_ROTATION_180            BIT(2)
  #define GUD_ROTATION_270            BIT(3)
  #define GUD_ROTATION_REFLECT_X        BIT(4)
  #define GUD_ROTATION_REFLECT_Y        BIT(5)
  #define GUD_ROTATION_MASK            (GUD_ROTATION_0 | GUD_ROTATION_90 | \
                        GUD_ROTATION_180 | GUD_ROTATION_270 | \
                        GUD_ROTATION_REFLECT_X | GUD_ROTATION_REFLECT_Y)

/* USB Control requests: */

/* Get status from the last GET/SET control request. Value is u8. */
#define GUD_REQ_GET_STATUS                0x00
  /* Status values: */
  #define GUD_STATUS_OK                0x00
  #define GUD_STATUS_BUSY            0x01
  #define GUD_STATUS_REQUEST_NOT_SUPPORTED    0x02
  #define GUD_STATUS_PROTOCOL_ERROR        0x03
  #define GUD_STATUS_INVALID_PARAMETER        0x04
  #define GUD_STATUS_ERROR            0x05

/* Get display descriptor as a &gud_display_descriptor_req */
#define GUD_REQ_GET_DESCRIPTOR                0x01

/* Get supported pixel formats as a byte array of GUD_PIXEL_FORMAT_* */
#define GUD_REQ_GET_FORMATS                0x40
  #define GUD_FORMATS_MAX_NUM            32
  /* R1 is a 1-bit monochrome transfer format presented to userspace as XRGB8888 */
  #define GUD_PIXEL_FORMAT_R1            0x01
  #define GUD_PIXEL_FORMAT_XRGB1111        0x20
  #define GUD_PIXEL_FORMAT_RGB565        0x40
  #define GUD_PIXEL_FORMAT_XRGB8888        0x80
  #define GUD_PIXEL_FORMAT_ARGB8888        0x81

/*
 * Get supported properties that are not connector propeties as a &gud_property_req array.
 * gud_property_req.val often contains the initial value for the property.
 */
#define GUD_REQ_GET_PROPERTIES                0x41
  #define GUD_PROPERTIES_MAX_NUM        32

/* Connector requests have the connector index passed in the wValue field */

/* Get connector descriptors as an array of &gud_connector_descriptor_req */
#define GUD_REQ_GET_CONNECTORS                0x50
  #define GUD_CONNECTORS_MAX_NUM        32

/*
 * Get properties supported by the connector as a &gud_property_req array.
 * gud_property_req.val often contains the initial value for the property.
 */
#define GUD_REQ_GET_CONNECTOR_PROPERTIES        0x51
  #define GUD_CONNECTOR_PROPERTIES_MAX_NUM    32

/*
 * Issued when there's a TV_MODE property present.
 * Gets an array of the supported TV_MODE names each entry of length
 * GUD_CONNECTOR_TV_MODE_NAME_LEN. Names must be NUL-terminated.
 */
#define GUD_REQ_GET_CONNECTOR_TV_MODE_VALUES        0x52
  #define GUD_CONNECTOR_TV_MODE_NAME_LEN    16
  #define GUD_CONNECTOR_TV_MODE_MAX_NUM        16

/* When userspace checks connector status, this is issued first, not used for poll requests. */
#define GUD_REQ_SET_CONNECTOR_FORCE_DETECT        0x53

/*
 * Get connector status. Value is u8.
 *
 * Userspace will get a HOTPLUG uevent if one of the following is true:
 * - Connection status has changed since last
 * - CHANGED is set
 */
#define GUD_REQ_GET_CONNECTOR_STATUS            0x54
  #define GUD_CONNECTOR_STATUS_DISCONNECTED    0x00
  #define GUD_CONNECTOR_STATUS_CONNECTED    0x01
  #define GUD_CONNECTOR_STATUS_UNKNOWN        0x02
  #define GUD_CONNECTOR_STATUS_CONNECTED_MASK    0x03
  #define GUD_CONNECTOR_STATUS_CHANGED        BIT(7)

/*
 * Display modes can be fetched as either EDID data or an array of &gud_display_mode_req.
 *
 * If GUD_REQ_GET_CONNECTOR_MODES returns zero, EDID is used to create display modes.
 * If both display modes and EDID are returned, EDID is just passed on to userspace
 * in the EDID connector property.
 */

/* Get &gud_display_mode_req array of supported display modes */
#define GUD_REQ_GET_CONNECTOR_MODES            0x55
  #define GUD_CONNECTOR_MAX_NUM_MODES        128

/* Get Extended Display Identification Data */
#define GUD_REQ_GET_CONNECTOR_EDID            0x56
  #define GUD_CONNECTOR_MAX_EDID_LEN        2048

/* Set buffer properties before bulk transfer as &gud_set_buffer_req */
#define GUD_REQ_SET_BUFFER                0x60

/* Check display configuration as &gud_state_req */
#define GUD_REQ_SET_STATE_CHECK                0x61

/* Apply the previous STATE_CHECK configuration */
#define GUD_REQ_SET_STATE_COMMIT            0x62

/* Enable/disable the display controller, value is u8: 0/1 */
#define GUD_REQ_SET_CONTROLLER_ENABLE            0x63

/* Enable/disable display/output (DPMS), value is u8: 0/1 */
#define GUD_REQ_SET_DISPLAY_ENABLE            0x64

#endif

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0044 ]--