1  /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
       2  
       3  extern unsigned int __invalid_size_argument_for_IOC;
       4  typedef unsigned int __u32;
       5  struct video_window
       6  {
       7    __u32 x, y;
       8    __u32 width, height;
       9  };
      10  typedef unsigned long XID;
      11  typedef XID Window;
      12  typedef struct _XExtData
      13  {
      14    Window root;
      15  }
      16  Screen;
      17  typedef struct
      18  {
      19    int border_width;
      20  }
      21  XWindowAttributes;
      22  typedef struct _XDisplay Display;
      23  typedef struct
      24  {
      25    int default_screen;
      26    Screen *screens;
      27  }
      28   *_XPrivDisplay;
      29  typedef struct
      30  {
      31    int x, y;
      32  }
      33  XSizeHints;
      34  typedef struct
      35  {
      36    unsigned short hdisplay;
      37    unsigned short vdisplay;
      38  }
      39  XF86VidModeModeInfo;
      40  Display *display;
      41  int tfd;
      42  int ccapt;
      43  int tml;
      44  int fswidth = 0;
      45  int fsheight = 0;
      46  Window fmwin;
      47  XF86VidModeModeInfo **modelines, *fullscreenmode = ((void *) 0);
      48  struct video_window vswin;
      49  DoFullScreen (void)
      50  {
      51    int i;
      52    int rx, ry;
      53    Window junkwin;
      54    XSizeHints fmsizehints;
      55    XWindowAttributes fmwinattr;
      56    if (ioctl
      57        (tfd,
      58         (((1U) << (((0 + 8) + 8) + 14)) | ((('v')) << (0 + 8)) | (((8)) << 0) |
      59  	(((((sizeof (int) == sizeof (int[1])
      60  	     && sizeof (int) <
      61  	     (1 << 14)) ? sizeof (int) : __invalid_size_argument_for_IOC))) <<
      62  	 ((0 + 8) + 8))), &ccapt) < 0)
      63      {
      64        perror ("ioctl VIDIOCCAPTURE");
      65      }
      66    if (!XTranslateCoordinates
      67        (display, fmwin,
      68         ((&((_XPrivDisplay) display)->
      69  	 screens[(((_XPrivDisplay) display)->default_screen)])->root),
      70         -fmwinattr.border_width, -fmwinattr.border_width, &rx, &ry, &junkwin))
      71      {
      72      }
      73    vswin.width = fswidth;
      74    vswin.height = fsheight;
      75    vswin.x = fmsizehints.x + rx;
      76    vswin.y = fmsizehints.y + ry;
      77    if (ioctl
      78        (tfd,
      79         (((1U) << (((0 + 8) + 8) + 14)) | ((('v')) << (0 + 8)) | (((8)) << 0) |
      80  	(((((sizeof (int) == sizeof (int[1])
      81  	     && sizeof (int) <
      82  	     (1 << 14)) ? sizeof (int) : __invalid_size_argument_for_IOC))) <<
      83  	 ((0 + 8) + 8))), &ccapt) < 0)
      84      {
      85        XF86VidModeGetAllModeLines (display, XDefaultScreen (display), &tml,
      86  				  &modelines);
      87  	{
      88  	  if ((modelines[i]->hdisplay == fswidth)
      89  	      && (modelines[i]->vdisplay == fsheight))
      90  	    {
      91  	      fullscreenmode = modelines[i];
      92  	    }
      93  	}
      94  	{
      95  	  XF86VidModeSetViewPort (display, XDefaultScreen (display), vswin.x,
      96  				  vswin.y);
      97  	}
      98      }
      99  }