The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/compat/linux/linux_videodev2_compat.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * $FreeBSD: releng/10.4/sys/compat/linux/linux_videodev2_compat.h 221434 2011-05-04 13:09:20Z netchild $
    3  */
    4 
    5 /*
    6  * This file defines compatibility versions of several video structures
    7  * defined in the Linux videodev2.h header (linux_videodev2.h).  The
    8  * structures defined in this file are the ones that have been determined
    9  * to have 32- to 64-bit size dependencies.
   10  */
   11 
   12 #ifndef _LINUX_VIDEODEV2_COMPAT_H_
   13 #define _LINUX_VIDEODEV2_COMPAT_H_
   14 
   15 struct l_v4l2_buffer {
   16         uint32_t                index;
   17         enum v4l2_buf_type      type;
   18         uint32_t                bytesused;
   19         uint32_t                flags;
   20         enum v4l2_field         field;
   21         l_timeval               timestamp;
   22         struct v4l2_timecode    timecode;
   23         uint32_t                sequence;
   24 
   25         /* memory location */
   26         enum v4l2_memory        memory;
   27         union {
   28                 uint32_t        offset;
   29                 l_ulong         userptr;
   30         } m;
   31         uint32_t                length;
   32         uint32_t                input;
   33         uint32_t                reserved;
   34 };
   35 
   36 struct l_v4l2_framebuffer {
   37         uint32_t                capability;
   38         uint32_t                flags;
   39 /* FIXME: in theory we should pass something like PCI device + memory
   40  * region + offset instead of some physical address */
   41         l_uintptr_t             base;
   42         struct v4l2_pix_format  fmt;
   43 };
   44 
   45 struct l_v4l2_clip {
   46         struct v4l2_rect        c;
   47         l_uintptr_t             next;
   48 };
   49 
   50 struct l_v4l2_window {
   51         struct v4l2_rect        w;
   52         enum v4l2_field         field;
   53         uint32_t                chromakey;
   54         l_uintptr_t             clips;
   55         uint32_t                clipcount;
   56         l_uintptr_t             bitmap;
   57         uint8_t                 global_alpha;
   58 };
   59 
   60 struct l_v4l2_standard {
   61         uint32_t                index;
   62         v4l2_std_id             id;
   63         uint8_t                 name[24];
   64         struct v4l2_fract       frameperiod; /* Frames, not fields */
   65         uint32_t                framelines;
   66         uint32_t                reserved[4];
   67 }
   68 #ifdef COMPAT_LINUX32 /* 32bit linuxolator */
   69 __attribute__ ((packed))
   70 #endif
   71 ;
   72 
   73 struct l_v4l2_ext_control {
   74         uint32_t id;
   75         uint32_t size;
   76         uint32_t reserved2[1];
   77         union {
   78                 int32_t value;
   79                 int64_t value64;
   80                 l_uintptr_t string;
   81         } u;
   82 } __attribute__ ((packed));
   83 
   84 struct l_v4l2_ext_controls {
   85         uint32_t ctrl_class;
   86         uint32_t count;
   87         uint32_t error_idx;
   88         uint32_t reserved[2];
   89         l_uintptr_t controls;
   90 };
   91 
   92 struct l_v4l2_format {
   93         enum v4l2_buf_type type;
   94         union {
   95                 struct v4l2_pix_format          pix;     /* V4L2_BUF_TYPE_VIDEO_CAPTURE */
   96                 struct l_v4l2_window            win;     /* V4L2_BUF_TYPE_VIDEO_OVERLAY */
   97                 struct v4l2_vbi_format          vbi;     /* V4L2_BUF_TYPE_VBI_CAPTURE */
   98                 struct v4l2_sliced_vbi_format   sliced;  /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */
   99                 uint8_t raw_data[200];                   /* user-defined */
  100         } fmt;
  101 }
  102 #ifdef COMPAT_LINUX32 /* 32bit linuxolator */
  103 __attribute__ ((packed))
  104 #endif
  105 ;
  106 
  107 #ifdef VIDIOC_DQEVENT
  108 struct l_v4l2_event {
  109         uint32_t                                type;
  110         union {
  111                 struct v4l2_event_vsync vsync;
  112                 uint8_t                 data[64];
  113         } u;
  114         uint32_t                                pending;
  115         uint32_t                                sequence;
  116         struct l_timespec                       timestamp;
  117         uint32_t                                reserved[9];
  118 };
  119 #endif
  120 
  121 struct l_v4l2_input {
  122         uint32_t             index;             /*  Which input */
  123         uint8_t              name[32];          /*  Label */
  124         uint32_t             type;              /*  Type of input */
  125         uint32_t             audioset;          /*  Associated audios (bitfield) */
  126         uint32_t             tuner;             /*  Associated tuner */
  127         v4l2_std_id  std;
  128         uint32_t             status;
  129         uint32_t             capabilities;
  130         uint32_t             reserved[3];
  131 }
  132 #ifdef COMPAT_LINUX32 /* 32bit linuxolator */
  133 __attribute__ ((packed))
  134 #endif
  135 ;
  136 
  137 #endif /* _LINUX_VIDEODEV2_COMPAT_H_ */

Cache object: 5b36b61b76978380a70d56fbc1e771b7


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.