NVIDIA DeepStream SDK API Reference

9.2 Release
includes/libv4l2/include/libv4l-plugin.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2010 Nokia Corporation <multimedia@maemo.org>
3 
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18 
19 #ifndef __LIBV4L_PLUGIN_H
20 #define __LIBV4L_PLUGIN_H
21 
22 #include <sys/types.h>
23 
24 /* Structure libv4l_dev_ops holds the calls from libv4ls to video nodes.
25  They can be normal open/close/ioctl etc. or any of them may be replaced
26  with a callback by a loaded plugin.
27 */
28 
30  void * (*init)(int fd);
31  void (*close)(void *dev_ops_priv);
32  int (*ioctl)(void *dev_ops_priv, int fd, unsigned long int request, void *arg);
33  ssize_t (*read)(void *dev_ops_priv, int fd, void *buffer, size_t n);
34  ssize_t (*write)(void *dev_ops_priv, int fd, const void *buffer, size_t n);
35  /* For future plugin API extension, plugins implementing the current API
36  must set these all to NULL, as future versions may check for these */
37  void (*reserved1)(void);
38  void (*reserved2)(void);
39  void (*reserved3)(void);
40  void (*reserved4)(void);
41  void (*reserved5)(void);
42  void (*reserved6)(void);
43  void (*reserved7)(void);
44 };
45 
46 #endif
libv4l_dev_ops::close
void(* close)(void *dev_ops_priv)
Definition: includes/libv4l2/include/libv4l-plugin.h:31
libv4l_dev_ops::read
ssize_t(* read)(void *dev_ops_priv, int fd, void *buffer, size_t n)
Definition: includes/libv4l2/include/libv4l-plugin.h:33
libv4l_dev_ops::write
ssize_t(* write)(void *dev_ops_priv, int fd, const void *buffer, size_t n)
Definition: includes/libv4l2/include/libv4l-plugin.h:34
libv4l_dev_ops::reserved7
void(* reserved7)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:43
libv4l_dev_ops::reserved5
void(* reserved5)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:41
libv4l_dev_ops::reserved3
void(* reserved3)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:39
libv4l_dev_ops::ioctl
int(* ioctl)(void *dev_ops_priv, int fd, unsigned long int request, void *arg)
Definition: includes/libv4l2/include/libv4l-plugin.h:32
libv4l_dev_ops::reserved1
void(* reserved1)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:37
libv4l_dev_ops::reserved2
void(* reserved2)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:38
libv4l_dev_ops::reserved6
void(* reserved6)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:42
libv4l_dev_ops::reserved4
void(* reserved4)(void)
Definition: includes/libv4l2/include/libv4l-plugin.h:40
libv4l_dev_ops
Definition: includes/libv4l2/include/libv4l-plugin.h:29