1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 use shared::guiddef::GUID;
7 use shared::minwindef::{UCHAR, ULONG};
8 STRUCT!{struct VIDEOPARAMETERS {
9     Guid: GUID,
10     dwOffset: ULONG,
11     dwCommand: ULONG,
12     dwFlags: ULONG,
13     dwMode: ULONG,
14     dwTVStandard: ULONG,
15     dwAvailableModes: ULONG,
16     dwAvailableTVStandard: ULONG,
17     dwFlickerFilter: ULONG,
18     dwOverScanX: ULONG,
19     dwOverScanY: ULONG,
20     dwMaxUnscaledX: ULONG,
21     dwMaxUnscaledY: ULONG,
22     dwPositionX: ULONG,
23     dwPositionY: ULONG,
24     dwBrightness: ULONG,
25     dwContrast: ULONG,
26     dwCPType: ULONG,
27     dwCPCommand: ULONG,
28     dwCPStandard: ULONG,
29     dwCPKey: ULONG,
30     bCP_APSTriggerBits: ULONG,
31     bOEMCopyProtection: [UCHAR; 256],
32 }}
33 pub type PVIDEOPARAMETERS = *mut VIDEOPARAMETERS;
34 pub type LPVIDEOPARAMETERS = *mut VIDEOPARAMETERS;
35 pub const VP_COMMAND_GET: ULONG = 0x0001;
36 pub const VP_COMMAND_SET: ULONG = 0x0002;
37 pub const VP_FLAGS_TV_MODE: ULONG = 0x0001;
38 pub const VP_FLAGS_TV_STANDARD: ULONG = 0x0002;
39 pub const VP_FLAGS_FLICKER: ULONG = 0x0004;
40 pub const VP_FLAGS_OVERSCAN: ULONG = 0x0008;
41 pub const VP_FLAGS_MAX_UNSCALED: ULONG = 0x0010;
42 pub const VP_FLAGS_POSITION: ULONG = 0x0020;
43 pub const VP_FLAGS_BRIGHTNESS: ULONG = 0x0040;
44 pub const VP_FLAGS_CONTRAST: ULONG = 0x0080;
45 pub const VP_FLAGS_COPYPROTECT: ULONG = 0x0100;
46 pub const VP_MODE_WIN_GRAPHICS: ULONG = 0x0001;
47 pub const VP_MODE_TV_PLAYBACK: ULONG = 0x0002;
48 pub const VP_TV_STANDARD_NTSC_M: ULONG = 0x0001;
49 pub const VP_TV_STANDARD_NTSC_M_J: ULONG = 0x0002;
50 pub const VP_TV_STANDARD_PAL_B: ULONG = 0x0004;
51 pub const VP_TV_STANDARD_PAL_D: ULONG = 0x0008;
52 pub const VP_TV_STANDARD_PAL_H: ULONG = 0x0010;
53 pub const VP_TV_STANDARD_PAL_I: ULONG = 0x0020;
54 pub const VP_TV_STANDARD_PAL_M: ULONG = 0x0040;
55 pub const VP_TV_STANDARD_PAL_N: ULONG = 0x0080;
56 pub const VP_TV_STANDARD_SECAM_B: ULONG = 0x0100;
57 pub const VP_TV_STANDARD_SECAM_D: ULONG = 0x0200;
58 pub const VP_TV_STANDARD_SECAM_G: ULONG = 0x0400;
59 pub const VP_TV_STANDARD_SECAM_H: ULONG = 0x0800;
60 pub const VP_TV_STANDARD_SECAM_K: ULONG = 0x1000;
61 pub const VP_TV_STANDARD_SECAM_K1: ULONG = 0x2000;
62 pub const VP_TV_STANDARD_SECAM_L: ULONG = 0x4000;
63 pub const VP_TV_STANDARD_WIN_VGA: ULONG = 0x8000;
64 pub const VP_TV_STANDARD_NTSC_433: ULONG = 0x00010000;
65 pub const VP_TV_STANDARD_PAL_G: ULONG = 0x00020000;
66 pub const VP_TV_STANDARD_PAL_60: ULONG = 0x00040000;
67 pub const VP_TV_STANDARD_SECAM_L1: ULONG = 0x00080000;
68 pub const VP_CP_TYPE_APS_TRIGGER: ULONG = 0x0001;
69 pub const VP_CP_TYPE_MACROVISION: ULONG = 0x0002;
70 pub const VP_CP_CMD_ACTIVATE: ULONG = 0x0001;
71 pub const VP_CP_CMD_DEACTIVATE: ULONG = 0x0002;
72 pub const VP_CP_CMD_CHANGE: ULONG = 0x0004;
73