1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #ifndef _DRM_MODE_H
28 #define _DRM_MODE_H
29
30 #include "drm.h"
31
32 #if defined(__cplusplus)
33 extern "C" {
34 #endif
35
36
37
38
39
40
41
42
43
44
45 #define DRM_CONNECTOR_NAME_LEN 32
46 #define DRM_DISPLAY_MODE_LEN 32
47 #define DRM_PROP_NAME_LEN 32
48
49 #define DRM_MODE_TYPE_BUILTIN (1<<0)
50 #define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN)
51 #define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN)
52 #define DRM_MODE_TYPE_PREFERRED (1<<3)
53 #define DRM_MODE_TYPE_DEFAULT (1<<4)
54 #define DRM_MODE_TYPE_USERDEF (1<<5)
55 #define DRM_MODE_TYPE_DRIVER (1<<6)
56
57 #define DRM_MODE_TYPE_ALL (DRM_MODE_TYPE_PREFERRED | \
58 DRM_MODE_TYPE_USERDEF | \
59 DRM_MODE_TYPE_DRIVER)
60
61
62
63
64
65
66
67
68
69
70
71 #define DRM_MODE_FLAG_PHSYNC (1<<0)
72 #define DRM_MODE_FLAG_NHSYNC (1<<1)
73 #define DRM_MODE_FLAG_PVSYNC (1<<2)
74 #define DRM_MODE_FLAG_NVSYNC (1<<3)
75 #define DRM_MODE_FLAG_INTERLACE (1<<4)
76 #define DRM_MODE_FLAG_DBLSCAN (1<<5)
77 #define DRM_MODE_FLAG_CSYNC (1<<6)
78 #define DRM_MODE_FLAG_PCSYNC (1<<7)
79 #define DRM_MODE_FLAG_NCSYNC (1<<8)
80 #define DRM_MODE_FLAG_HSKEW (1<<9)
81 #define DRM_MODE_FLAG_BCAST (1<<10)
82 #define DRM_MODE_FLAG_PIXMUX (1<<11)
83 #define DRM_MODE_FLAG_DBLCLK (1<<12)
84 #define DRM_MODE_FLAG_CLKDIV2 (1<<13)
85
86
87
88
89 #define DRM_MODE_FLAG_3D_MASK (0x1f<<14)
90 #define DRM_MODE_FLAG_3D_NONE (0<<14)
91 #define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)
92 #define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)
93 #define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)
94 #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL (4<<14)
95 #define DRM_MODE_FLAG_3D_L_DEPTH (5<<14)
96 #define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH (6<<14)
97 #define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (7<<14)
98 #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (8<<14)
99
100
101 #define DRM_MODE_PICTURE_ASPECT_NONE 0
102 #define DRM_MODE_PICTURE_ASPECT_4_3 1
103 #define DRM_MODE_PICTURE_ASPECT_16_9 2
104 #define DRM_MODE_PICTURE_ASPECT_64_27 3
105 #define DRM_MODE_PICTURE_ASPECT_256_135 4
106
107
108 #define DRM_MODE_CONTENT_TYPE_NO_DATA 0
109 #define DRM_MODE_CONTENT_TYPE_GRAPHICS 1
110 #define DRM_MODE_CONTENT_TYPE_PHOTO 2
111 #define DRM_MODE_CONTENT_TYPE_CINEMA 3
112 #define DRM_MODE_CONTENT_TYPE_GAME 4
113
114
115 #define DRM_MODE_FLAG_PIC_AR_MASK (0x0F<<19)
116 #define DRM_MODE_FLAG_PIC_AR_NONE \
117 (DRM_MODE_PICTURE_ASPECT_NONE<<19)
118 #define DRM_MODE_FLAG_PIC_AR_4_3 \
119 (DRM_MODE_PICTURE_ASPECT_4_3<<19)
120 #define DRM_MODE_FLAG_PIC_AR_16_9 \
121 (DRM_MODE_PICTURE_ASPECT_16_9<<19)
122 #define DRM_MODE_FLAG_PIC_AR_64_27 \
123 (DRM_MODE_PICTURE_ASPECT_64_27<<19)
124 #define DRM_MODE_FLAG_PIC_AR_256_135 \
125 (DRM_MODE_PICTURE_ASPECT_256_135<<19)
126
127 #define DRM_MODE_FLAG_ALL (DRM_MODE_FLAG_PHSYNC | \
128 DRM_MODE_FLAG_NHSYNC | \
129 DRM_MODE_FLAG_PVSYNC | \
130 DRM_MODE_FLAG_NVSYNC | \
131 DRM_MODE_FLAG_INTERLACE | \
132 DRM_MODE_FLAG_DBLSCAN | \
133 DRM_MODE_FLAG_CSYNC | \
134 DRM_MODE_FLAG_PCSYNC | \
135 DRM_MODE_FLAG_NCSYNC | \
136 DRM_MODE_FLAG_HSKEW | \
137 DRM_MODE_FLAG_DBLCLK | \
138 DRM_MODE_FLAG_CLKDIV2 | \
139 DRM_MODE_FLAG_3D_MASK)
140
141
142
143 #define DRM_MODE_DPMS_ON 0
144 #define DRM_MODE_DPMS_STANDBY 1
145 #define DRM_MODE_DPMS_SUSPEND 2
146 #define DRM_MODE_DPMS_OFF 3
147
148
149 #define DRM_MODE_SCALE_NONE 0
150
151 #define DRM_MODE_SCALE_FULLSCREEN 1
152 #define DRM_MODE_SCALE_CENTER 2
153 #define DRM_MODE_SCALE_ASPECT 3
154
155
156 #define DRM_MODE_DITHERING_OFF 0
157 #define DRM_MODE_DITHERING_ON 1
158 #define DRM_MODE_DITHERING_AUTO 2
159
160
161 #define DRM_MODE_DIRTY_OFF 0
162 #define DRM_MODE_DIRTY_ON 1
163 #define DRM_MODE_DIRTY_ANNOTATE 2
164
165
166 #define DRM_MODE_LINK_STATUS_GOOD 0
167 #define DRM_MODE_LINK_STATUS_BAD 1
168
169
170
171
172
173
174
175
176
177
178 #define DRM_MODE_ROTATE_0 (1<<0)
179 #define DRM_MODE_ROTATE_90 (1<<1)
180 #define DRM_MODE_ROTATE_180 (1<<2)
181 #define DRM_MODE_ROTATE_270 (1<<3)
182
183
184
185
186
187
188 #define DRM_MODE_ROTATE_MASK (\
189 DRM_MODE_ROTATE_0 | \
190 DRM_MODE_ROTATE_90 | \
191 DRM_MODE_ROTATE_180 | \
192 DRM_MODE_ROTATE_270)
193
194
195
196
197
198
199
200
201
202
203
204 #define DRM_MODE_REFLECT_X (1<<4)
205 #define DRM_MODE_REFLECT_Y (1<<5)
206
207
208
209
210
211
212 #define DRM_MODE_REFLECT_MASK (\
213 DRM_MODE_REFLECT_X | \
214 DRM_MODE_REFLECT_Y)
215
216
217 #define DRM_MODE_CONTENT_PROTECTION_UNDESIRED 0
218 #define DRM_MODE_CONTENT_PROTECTION_DESIRED 1
219 #define DRM_MODE_CONTENT_PROTECTION_ENABLED 2
220
221 struct drm_mode_modeinfo {
222 __u32 clock;
223 __u16 hdisplay;
224 __u16 hsync_start;
225 __u16 hsync_end;
226 __u16 htotal;
227 __u16 hskew;
228 __u16 vdisplay;
229 __u16 vsync_start;
230 __u16 vsync_end;
231 __u16 vtotal;
232 __u16 vscan;
233
234 __u32 vrefresh;
235
236 __u32 flags;
237 __u32 type;
238 char name[DRM_DISPLAY_MODE_LEN];
239 };
240
241 struct drm_mode_card_res {
242 __u64 fb_id_ptr;
243 __u64 crtc_id_ptr;
244 __u64 connector_id_ptr;
245 __u64 encoder_id_ptr;
246 __u32 count_fbs;
247 __u32 count_crtcs;
248 __u32 count_connectors;
249 __u32 count_encoders;
250 __u32 min_width;
251 __u32 max_width;
252 __u32 min_height;
253 __u32 max_height;
254 };
255
256 struct drm_mode_crtc {
257 __u64 set_connectors_ptr;
258 __u32 count_connectors;
259
260 __u32 crtc_id;
261 __u32 fb_id;
262
263 __u32 x;
264 __u32 y;
265
266 __u32 gamma_size;
267 __u32 mode_valid;
268 struct drm_mode_modeinfo mode;
269 };
270
271 #define DRM_MODE_PRESENT_TOP_FIELD (1<<0)
272 #define DRM_MODE_PRESENT_BOTTOM_FIELD (1<<1)
273
274
275 struct drm_mode_set_plane {
276 __u32 plane_id;
277 __u32 crtc_id;
278 __u32 fb_id;
279 __u32 flags;
280
281
282 __s32 crtc_x;
283 __s32 crtc_y;
284 __u32 crtc_w;
285 __u32 crtc_h;
286
287
288 __u32 src_x;
289 __u32 src_y;
290 __u32 src_h;
291 __u32 src_w;
292 };
293
294 struct drm_mode_get_plane {
295 __u32 plane_id;
296
297 __u32 crtc_id;
298 __u32 fb_id;
299
300 __u32 possible_crtcs;
301 __u32 gamma_size;
302
303 __u32 count_format_types;
304 __u64 format_type_ptr;
305 };
306
307 struct drm_mode_get_plane_res {
308 __u64 plane_id_ptr;
309 __u32 count_planes;
310 };
311
312 #define DRM_MODE_ENCODER_NONE 0
313 #define DRM_MODE_ENCODER_DAC 1
314 #define DRM_MODE_ENCODER_TMDS 2
315 #define DRM_MODE_ENCODER_LVDS 3
316 #define DRM_MODE_ENCODER_TVDAC 4
317 #define DRM_MODE_ENCODER_VIRTUAL 5
318 #define DRM_MODE_ENCODER_DSI 6
319 #define DRM_MODE_ENCODER_DPMST 7
320 #define DRM_MODE_ENCODER_DPI 8
321
322 struct drm_mode_get_encoder {
323 __u32 encoder_id;
324 __u32 encoder_type;
325
326 __u32 crtc_id;
327
328 __u32 possible_crtcs;
329 __u32 possible_clones;
330 };
331
332
333
334 enum drm_mode_subconnector {
335 DRM_MODE_SUBCONNECTOR_Automatic = 0,
336 DRM_MODE_SUBCONNECTOR_Unknown = 0,
337 DRM_MODE_SUBCONNECTOR_DVID = 3,
338 DRM_MODE_SUBCONNECTOR_DVIA = 4,
339 DRM_MODE_SUBCONNECTOR_Composite = 5,
340 DRM_MODE_SUBCONNECTOR_SVIDEO = 6,
341 DRM_MODE_SUBCONNECTOR_Component = 8,
342 DRM_MODE_SUBCONNECTOR_SCART = 9,
343 };
344
345 #define DRM_MODE_CONNECTOR_Unknown 0
346 #define DRM_MODE_CONNECTOR_VGA 1
347 #define DRM_MODE_CONNECTOR_DVII 2
348 #define DRM_MODE_CONNECTOR_DVID 3
349 #define DRM_MODE_CONNECTOR_DVIA 4
350 #define DRM_MODE_CONNECTOR_Composite 5
351 #define DRM_MODE_CONNECTOR_SVIDEO 6
352 #define DRM_MODE_CONNECTOR_LVDS 7
353 #define DRM_MODE_CONNECTOR_Component 8
354 #define DRM_MODE_CONNECTOR_9PinDIN 9
355 #define DRM_MODE_CONNECTOR_DisplayPort 10
356 #define DRM_MODE_CONNECTOR_HDMIA 11
357 #define DRM_MODE_CONNECTOR_HDMIB 12
358 #define DRM_MODE_CONNECTOR_TV 13
359 #define DRM_MODE_CONNECTOR_eDP 14
360 #define DRM_MODE_CONNECTOR_VIRTUAL 15
361 #define DRM_MODE_CONNECTOR_DSI 16
362 #define DRM_MODE_CONNECTOR_DPI 17
363 #define DRM_MODE_CONNECTOR_WRITEBACK 18
364 #define DRM_MODE_CONNECTOR_SPI 19
365
366 struct drm_mode_get_connector {
367
368 __u64 encoders_ptr;
369 __u64 modes_ptr;
370 __u64 props_ptr;
371 __u64 prop_values_ptr;
372
373 __u32 count_modes;
374 __u32 count_props;
375 __u32 count_encoders;
376
377 __u32 encoder_id;
378 __u32 connector_id;
379 __u32 connector_type;
380 __u32 connector_type_id;
381
382 __u32 connection;
383 __u32 mm_width;
384 __u32 mm_height;
385 __u32 subpixel;
386
387 __u32 pad;
388 };
389
390 #define DRM_MODE_PROP_PENDING (1<<0)
391 #define DRM_MODE_PROP_RANGE (1<<1)
392 #define DRM_MODE_PROP_IMMUTABLE (1<<2)
393 #define DRM_MODE_PROP_ENUM (1<<3)
394 #define DRM_MODE_PROP_BLOB (1<<4)
395 #define DRM_MODE_PROP_BITMASK (1<<5)
396
397
398 #define DRM_MODE_PROP_LEGACY_TYPE ( \
399 DRM_MODE_PROP_RANGE | \
400 DRM_MODE_PROP_ENUM | \
401 DRM_MODE_PROP_BLOB | \
402 DRM_MODE_PROP_BITMASK)
403
404
405
406
407 #define DRM_MODE_PROP_EXTENDED_TYPE 0x0000ffc0
408 #define DRM_MODE_PROP_TYPE(n) ((n) << 6)
409 #define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1)
410 #define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2)
411
412
413
414
415
416
417 #define DRM_MODE_PROP_ATOMIC 0x80000000
418
419 struct drm_mode_property_enum {
420 __u64 value;
421 char name[DRM_PROP_NAME_LEN];
422 };
423
424 struct drm_mode_get_property {
425 __u64 values_ptr;
426 __u64 enum_blob_ptr;
427
428 __u32 prop_id;
429 __u32 flags;
430 char name[DRM_PROP_NAME_LEN];
431
432 __u32 count_values;
433
434
435 __u32 count_enum_blobs;
436 };
437
438 struct drm_mode_connector_set_property {
439 __u64 value;
440 __u32 prop_id;
441 __u32 connector_id;
442 };
443
444 #define DRM_MODE_OBJECT_CRTC 0xcccccccc
445 #define DRM_MODE_OBJECT_CONNECTOR 0xc0c0c0c0
446 #define DRM_MODE_OBJECT_ENCODER 0xe0e0e0e0
447 #define DRM_MODE_OBJECT_MODE 0xdededede
448 #define DRM_MODE_OBJECT_PROPERTY 0xb0b0b0b0
449 #define DRM_MODE_OBJECT_FB 0xfbfbfbfb
450 #define DRM_MODE_OBJECT_BLOB 0xbbbbbbbb
451 #define DRM_MODE_OBJECT_PLANE 0xeeeeeeee
452 #define DRM_MODE_OBJECT_ANY 0
453
454 struct drm_mode_obj_get_properties {
455 __u64 props_ptr;
456 __u64 prop_values_ptr;
457 __u32 count_props;
458 __u32 obj_id;
459 __u32 obj_type;
460 };
461
462 struct drm_mode_obj_set_property {
463 __u64 value;
464 __u32 prop_id;
465 __u32 obj_id;
466 __u32 obj_type;
467 };
468
469 struct drm_mode_get_blob {
470 __u32 blob_id;
471 __u32 length;
472 __u64 data;
473 };
474
475 struct drm_mode_fb_cmd {
476 __u32 fb_id;
477 __u32 width;
478 __u32 height;
479 __u32 pitch;
480 __u32 bpp;
481 __u32 depth;
482
483 __u32 handle;
484 };
485
486 #define DRM_MODE_FB_INTERLACED (1<<0)
487 #define DRM_MODE_FB_MODIFIERS (1<<1)
488
489 struct drm_mode_fb_cmd2 {
490 __u32 fb_id;
491 __u32 width;
492 __u32 height;
493 __u32 pixel_format;
494 __u32 flags;
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520 __u32 handles[4];
521 __u32 pitches[4];
522 __u32 offsets[4];
523 __u64 modifier[4];
524 };
525
526 #define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
527 #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
528 #define DRM_MODE_FB_DIRTY_FLAGS 0x03
529
530 #define DRM_MODE_FB_DIRTY_MAX_CLIPS 256
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559 struct drm_mode_fb_dirty_cmd {
560 __u32 fb_id;
561 __u32 flags;
562 __u32 color;
563 __u32 num_clips;
564 __u64 clips_ptr;
565 };
566
567 struct drm_mode_mode_cmd {
568 __u32 connector_id;
569 struct drm_mode_modeinfo mode;
570 };
571
572 #define DRM_MODE_CURSOR_BO 0x01
573 #define DRM_MODE_CURSOR_MOVE 0x02
574 #define DRM_MODE_CURSOR_FLAGS 0x03
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590 struct drm_mode_cursor {
591 __u32 flags;
592 __u32 crtc_id;
593 __s32 x;
594 __s32 y;
595 __u32 width;
596 __u32 height;
597
598 __u32 handle;
599 };
600
601 struct drm_mode_cursor2 {
602 __u32 flags;
603 __u32 crtc_id;
604 __s32 x;
605 __s32 y;
606 __u32 width;
607 __u32 height;
608
609 __u32 handle;
610 __s32 hot_x;
611 __s32 hot_y;
612 };
613
614 struct drm_mode_crtc_lut {
615 __u32 crtc_id;
616 __u32 gamma_size;
617
618
619 __u64 red;
620 __u64 green;
621 __u64 blue;
622 };
623
624 struct drm_color_ctm {
625
626
627
628
629 __u64 matrix[9];
630 };
631
632 struct drm_color_lut {
633
634
635
636
637 __u16 red;
638 __u16 green;
639 __u16 blue;
640 __u16 reserved;
641 };
642
643
644
645
646
647
648
649
650
651
652 struct hdr_metadata_infoframe {
653
654
655
656
657 __u8 eotf;
658
659
660
661 __u8 metadata_type;
662
663
664
665
666
667
668
669
670 struct {
671 __u16 x, y;
672 } display_primaries[3];
673
674
675
676
677
678
679
680
681 struct {
682 __u16 x, y;
683 } white_point;
684
685
686
687
688
689 __u16 max_display_mastering_luminance;
690
691
692
693
694
695
696 __u16 min_display_mastering_luminance;
697
698
699
700
701
702 __u16 max_cll;
703
704
705
706
707
708 __u16 max_fall;
709 };
710
711
712
713
714
715
716 struct hdr_output_metadata {
717
718
719
720 __u32 metadata_type;
721
722
723
724 union {
725 struct hdr_metadata_infoframe hdmi_metadata_type1;
726 };
727 };
728
729 #define DRM_MODE_PAGE_FLIP_EVENT 0x01
730 #define DRM_MODE_PAGE_FLIP_ASYNC 0x02
731 #define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
732 #define DRM_MODE_PAGE_FLIP_TARGET_RELATIVE 0x8
733 #define DRM_MODE_PAGE_FLIP_TARGET (DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE | \
734 DRM_MODE_PAGE_FLIP_TARGET_RELATIVE)
735 #define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT | \
736 DRM_MODE_PAGE_FLIP_ASYNC | \
737 DRM_MODE_PAGE_FLIP_TARGET)
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763 struct drm_mode_crtc_page_flip {
764 __u32 crtc_id;
765 __u32 fb_id;
766 __u32 flags;
767 __u32 reserved;
768 __u64 user_data;
769 };
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791 struct drm_mode_crtc_page_flip_target {
792 __u32 crtc_id;
793 __u32 fb_id;
794 __u32 flags;
795 __u32 sequence;
796 __u64 user_data;
797 };
798
799
800 struct drm_mode_create_dumb {
801 __u32 height;
802 __u32 width;
803 __u32 bpp;
804 __u32 flags;
805
806 __u32 handle;
807 __u32 pitch;
808 __u64 size;
809 };
810
811
812 struct drm_mode_map_dumb {
813
814 __u32 handle;
815 __u32 pad;
816
817
818
819
820
821 __u64 offset;
822 };
823
824 struct drm_mode_destroy_dumb {
825 __u32 handle;
826 };
827
828
829 #define DRM_MODE_ATOMIC_TEST_ONLY 0x0100
830 #define DRM_MODE_ATOMIC_NONBLOCK 0x0200
831 #define DRM_MODE_ATOMIC_ALLOW_MODESET 0x0400
832
833 #define DRM_MODE_ATOMIC_FLAGS (\
834 DRM_MODE_PAGE_FLIP_EVENT |\
835 DRM_MODE_PAGE_FLIP_ASYNC |\
836 DRM_MODE_ATOMIC_TEST_ONLY |\
837 DRM_MODE_ATOMIC_NONBLOCK |\
838 DRM_MODE_ATOMIC_ALLOW_MODESET)
839
840 struct drm_mode_atomic {
841 __u32 flags;
842 __u32 count_objs;
843 __u64 objs_ptr;
844 __u64 count_props_ptr;
845 __u64 props_ptr;
846 __u64 prop_values_ptr;
847 __u64 reserved;
848 __u64 user_data;
849 };
850
851 struct drm_format_modifier_blob {
852 #define FORMAT_BLOB_CURRENT 1
853
854 __u32 version;
855
856
857 __u32 flags;
858
859
860 __u32 count_formats;
861
862
863 __u32 formats_offset;
864
865
866 __u32 count_modifiers;
867
868
869 __u32 modifiers_offset;
870
871
872
873 };
874
875 struct drm_format_modifier {
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893 __u64 formats;
894 __u32 offset;
895 __u32 pad;
896
897
898 __u64 modifier;
899 };
900
901
902
903
904
905
906
907
908
909 struct drm_mode_create_blob {
910
911 __u64 data;
912
913 __u32 length;
914
915 __u32 blob_id;
916 };
917
918
919
920
921
922
923 struct drm_mode_destroy_blob {
924 __u32 blob_id;
925 };
926
927
928
929
930
931
932
933
934
935
936 struct drm_mode_create_lease {
937
938 __u64 object_ids;
939
940 __u32 object_count;
941
942 __u32 flags;
943
944
945 __u32 lessee_id;
946
947 __u32 fd;
948 };
949
950
951
952
953
954
955
956
957 struct drm_mode_list_lessees {
958
959
960
961
962
963
964
965 __u32 count_lessees;
966 __u32 pad;
967
968
969
970
971 __u64 lessees_ptr;
972 };
973
974
975
976
977
978
979
980
981 struct drm_mode_get_lease {
982
983
984
985
986
987
988
989 __u32 count_objects;
990 __u32 pad;
991
992
993
994
995 __u64 objects_ptr;
996 };
997
998
999
1000
1001
1002
1003 struct drm_mode_revoke_lease {
1004
1005
1006 __u32 lessee_id;
1007 };
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021 struct drm_mode_rect {
1022 __s32 x1;
1023 __s32 y1;
1024 __s32 x2;
1025 __s32 y2;
1026 };
1027
1028 #if defined(__cplusplus)
1029 }
1030 #endif
1031
1032 #endif