Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
v4l2-dev.c File Reference
#include <linux/module.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/slab.h>
#include <asm/uaccess.h>
#include <media/v4l2-common.h>
#include <media/v4l2-device.h>
#include <media/v4l2-ioctl.h>

Go to the source code of this file.

Macros

#define VIDEO_NUM_DEVICES   256
 
#define VIDEO_NAME   "video4linux"
 
#define SET_VALID_IOCTL(ops, cmd, op)
 

Functions

struct video_devicevideo_device_alloc (void)
 
 EXPORT_SYMBOL (video_device_alloc)
 
void video_device_release (struct video_device *vdev)
 
 EXPORT_SYMBOL (video_device_release)
 
void video_device_release_empty (struct video_device *vdev)
 
 EXPORT_SYMBOL (video_device_release_empty)
 
struct video_devicevideo_devdata (struct file *file)
 
 EXPORT_SYMBOL (video_devdata)
 
void v4l2_prio_init (struct v4l2_prio_state *global)
 
 EXPORT_SYMBOL (v4l2_prio_init)
 
int v4l2_prio_change (struct v4l2_prio_state *global, enum v4l2_priority *local, enum v4l2_priority new)
 
 EXPORT_SYMBOL (v4l2_prio_change)
 
void v4l2_prio_open (struct v4l2_prio_state *global, enum v4l2_priority *local)
 
 EXPORT_SYMBOL (v4l2_prio_open)
 
void v4l2_prio_close (struct v4l2_prio_state *global, enum v4l2_priority local)
 
 EXPORT_SYMBOL (v4l2_prio_close)
 
enum v4l2_priority v4l2_prio_max (struct v4l2_prio_state *global)
 
 EXPORT_SYMBOL (v4l2_prio_max)
 
int v4l2_prio_check (struct v4l2_prio_state *global, enum v4l2_priority local)
 
 EXPORT_SYMBOL (v4l2_prio_check)
 
int __video_register_device (struct video_device *vdev, int type, int nr, int warn_if_nr_in_use, struct module *owner)
 
 EXPORT_SYMBOL (__video_register_device)
 
void video_unregister_device (struct video_device *vdev)
 
 EXPORT_SYMBOL (video_unregister_device)
 
 subsys_initcall (videodev_init)
 

Macro Definition Documentation

#define SET_VALID_IOCTL (   ops,
  cmd,
  op 
)
Value:
if (ops->op) \
set_bit(_IOC_NR(cmd), valid_ioctls)

Definition at line 533 of file v4l2-dev.c.

#define VIDEO_NAME   "video4linux"

Definition at line 35 of file v4l2-dev.c.

#define VIDEO_NUM_DEVICES   256

Definition at line 34 of file v4l2-dev.c.

Function Documentation

int __video_register_device ( struct video_device vdev,
int  type,
int  nr,
int  warn_if_nr_in_use,
struct module owner 
)

__video_register_device - register video4linux devices : video device structure we want to register : type of device to register : which device node number (0 == /dev/video0, 1 == /dev/video1, ... -1 == first free) : warn if the desired device node number was already in use and another number was chosen instead. : module that owns the video device node

The registration code assigns minor numbers and device node numbers based on the requested type and registers the new device node with the kernel.

This function assumes that struct video_device was zeroed when it was allocated and does not contain any stale date.

An error is returned if no free minor or device node number could be found, or if the registration of the device node failed.

Zero is returned on success.

Valid types are

VFL_TYPE_GRABBER - A frame grabber

VFL_TYPE_VBI - Vertical blank data (undecoded)

VFL_TYPE_RADIO - A radio card

VFL_TYPE_SUBDEV - A subdevice

Definition at line 766 of file v4l2-dev.c.

EXPORT_SYMBOL ( video_device_alloc  )
EXPORT_SYMBOL ( video_device_release  )
EXPORT_SYMBOL ( video_device_release_empty  )
EXPORT_SYMBOL ( video_devdata  )
EXPORT_SYMBOL ( v4l2_prio_init  )
EXPORT_SYMBOL ( v4l2_prio_change  )
EXPORT_SYMBOL ( v4l2_prio_open  )
EXPORT_SYMBOL ( v4l2_prio_close  )
EXPORT_SYMBOL ( v4l2_prio_max  )
EXPORT_SYMBOL ( v4l2_prio_check  )
EXPORT_SYMBOL ( __video_register_device  )
EXPORT_SYMBOL ( video_unregister_device  )
subsys_initcall ( videodev_init  )
int v4l2_prio_change ( struct v4l2_prio_state global,
enum v4l2_priority local,
enum v4l2_priority  new 
)

Definition at line 245 of file v4l2-dev.c.

int v4l2_prio_check ( struct v4l2_prio_state global,
enum v4l2_priority  local 
)

Definition at line 286 of file v4l2-dev.c.

void v4l2_prio_close ( struct v4l2_prio_state global,
enum v4l2_priority  local 
)

Definition at line 267 of file v4l2-dev.c.

void v4l2_prio_init ( struct v4l2_prio_state global)

Definition at line 239 of file v4l2-dev.c.

enum v4l2_priority v4l2_prio_max ( struct v4l2_prio_state global)

Definition at line 274 of file v4l2-dev.c.

void v4l2_prio_open ( struct v4l2_prio_state global,
enum v4l2_priority local 
)

Definition at line 261 of file v4l2-dev.c.

struct video_device* video_devdata ( struct file file)
read

Definition at line 223 of file v4l2-dev.c.

struct video_device* video_device_alloc ( void  )
read

Definition at line 136 of file v4l2-dev.c.

void video_device_release ( struct video_device vdev)

Definition at line 142 of file v4l2-dev.c.

void video_device_release_empty ( struct video_device vdev)

Definition at line 148 of file v4l2-dev.c.

void video_unregister_device ( struct video_device vdev)

video_unregister_device - unregister a video4linux device : the device to unregister

This unregisters the passed device. Future open calls will be met with errors.

Definition at line 966 of file v4l2-dev.c.