include/uapi/linux/dvb/osd.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/dvb/osd.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/dvb/osd.h- Extension
.h- Size
- 5234 bytes
- Lines
- 167
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/compiler.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _DVBOSD_H_
#define _DVBOSD_H_
#include <linux/compiler.h>
typedef enum {
/* All functions return -2 on "not open" */
OSD_Close = 1, /* () */
/*
* Disables OSD and releases the buffers
* returns 0 on success
*/
OSD_Open, /* (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) */
/*
* Opens OSD with this size and bit depth
* returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
*/
OSD_Show, /* () */
/*
* enables OSD mode
* returns 0 on success
*/
OSD_Hide, /* () */
/*
* disables OSD mode
* returns 0 on success
*/
OSD_Clear, /* () */
/*
* Sets all pixel to color 0
* returns 0 on success
*/
OSD_Fill, /* (color) */
/*
* Sets all pixel to color <col>
* returns 0 on success
*/
OSD_SetColor, /* (color,R{x0},G{y0},B{x1},opacity{y1}) */
/*
* set palette entry <num> to <r,g,b>, <mix> and <trans> apply
* R,G,B: 0..255
* R=Red, G=Green, B=Blue
* opacity=0: pixel opacity 0% (only video pixel shows)
* opacity=1..254: pixel opacity as specified in header
* opacity=255: pixel opacity 100% (only OSD pixel shows)
* returns 0 on success, -1 on error
*/
OSD_SetPalette, /* (firstcolor{color},lastcolor{x0},data) */
/*
* Set a number of entries in the palette
* sets the entries "firstcolor" through "lastcolor" from the array "data"
* data has 4 byte for each color:
* R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
*/
OSD_SetTrans, /* (transparency{color}) */
/*
* Sets transparency of mixed pixel (0..15)
* returns 0 on success
*/
OSD_SetPixel, /* (x0,y0,color) */
/*
* sets pixel <x>,<y> to color number <col>
* returns 0 on success, -1 on error
*/
OSD_GetPixel, /* (x0,y0) */
/* returns color number of pixel <x>,<y>, or -1 */
OSD_SetRow, /* (x0,y0,x1,data) */
/*
* fills pixels x0,y through x1,y with the content of data[]
* returns 0 on success, -1 on clipping all pixel (no pixel drawn)
*/
OSD_SetBlock, /* (x0,y0,x1,y1,increment{color},data) */
/*
* fills pixels x0,y0 through x1,y1 with the content of data[]
* inc contains the width of one line in the data block,
* inc<=0 uses blockwidth as linewidth
* returns 0 on success, -1 on clipping all pixel
*/
OSD_FillRow, /* (x0,y0,x1,color) */
/*
* fills pixels x0,y through x1,y with the color <col>
* returns 0 on success, -1 on clipping all pixel
*/
OSD_FillBlock, /* (x0,y0,x1,y1,color) */
/*
* fills pixels x0,y0 through x1,y1 with the color <col>
* returns 0 on success, -1 on clipping all pixel
*/
OSD_Line, /* (x0,y0,x1,y1,color) */
/*
Annotation
- Immediate include surface: `linux/compiler.h`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.