ReactOS 0.4.16-dev-1946-g52006dd
services.c
Go to the documentation of this file.
1/*
2 * VideoPort driver
3 *
4 * Copyright (C) 2002, 2003, 2004 ReactOS Team
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 */
21
22#include "videoprt.h"
23
24#define NDEBUG
25#include <debug.h>
26
27VOID
31{
32 /* Do nothing */
33}
34
35VOID
39{
40 /* Do nothing */
41}
42
46 _In_ PVOID HwDeviceExtension,
47 _In_ VIDEO_PORT_SERVICES ServicesType,
49{
50 TRACE_(VIDEOPRT, "VideoPortQueryServices - ServicesType: 0x%x\n", ServicesType);
51
52 switch (ServicesType)
53 {
57 {
58 PVIDEO_PORT_INT10_INTERFACE Int10Interface =
60
62 Interface->InterfaceDereference = IntInterfaceDereference;
64 Int10Interface->Int10FreeBuffer = IntInt10FreeBuffer;
65 Int10Interface->Int10ReadMemory = IntInt10ReadMemory;
66 Int10Interface->Int10WriteMemory = IntInt10WriteMemory;
67 Int10Interface->Int10CallBios = IntInt10CallBios;
68 return NO_ERROR;
69 }
70 break;
71
74 Interface->Size >= sizeof(VIDEO_PORT_AGP_INTERFACE_2)) ||
76 Interface->Size >= sizeof(VIDEO_PORT_AGP_INTERFACE)))
77 {
78 if (NT_SUCCESS(IntAgpGetInterface(HwDeviceExtension, Interface)))
79 {
80 return NO_ERROR;
81 }
82 }
83 break;
84
88
92
93 default:
94 break;
95 }
96
98}
99
101NTAPI
103 _In_ PVOID HwDeviceExtension,
105{
108
109 TRACE_(VIDEOPRT, "VideoPortGetAgpServices\n");
110
111 Interface.Size = sizeof(Interface);
113
116 if (Status != NO_ERROR)
117 {
118 WARN_(VIDEOPRT, "VideoPortQueryServices() failed!\n");
119 return FALSE;
120 }
121
122 RtlCopyMemory(AgpServices, &Interface.AgpReservePhysical, sizeof(*AgpServices));
123 return TRUE;
124}
unsigned char BOOLEAN
NTSTATUS NTAPI IntAgpGetInterface(IN PVOID HwDeviceExtension, IN OUT PINTERFACE Interface)
Definition: agp.c:496
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
#define NO_ERROR
Definition: dderror.h:5
#define ERROR_INVALID_FUNCTION
Definition: dderror.h:6
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define TRACE_(x)
Definition: compat.h:76
Status
Definition: gdiplustypes.h:25
VP_STATUS NTAPI IntInt10CallBios(_In_ PVOID Context, _Inout_ PINT10_BIOS_ARGUMENTS BiosArguments)
Definition: int10.c:708
VP_STATUS NTAPI IntInt10WriteMemory(_In_ PVOID Context, _In_ USHORT Seg, _In_ USHORT Off, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Length)
Definition: int10.c:569
VP_STATUS NTAPI IntInt10AllocateBuffer(_In_ PVOID Context, _Out_ PUSHORT Seg, _Out_ PUSHORT Off, _Inout_ PULONG Length)
Definition: int10.c:370
VP_STATUS NTAPI IntInt10ReadMemory(_In_ PVOID Context, _In_ USHORT Seg, _In_ USHORT Off, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Length)
Definition: int10.c:502
VP_STATUS NTAPI IntInt10FreeBuffer(_In_ PVOID Context, _In_ USHORT Seg, _In_ USHORT Off)
Definition: int10.c:439
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
LONG VP_STATUS
Definition: video.h:153
struct _VIDEO_PORT_AGP_INTERFACE VIDEO_PORT_AGP_INTERFACE
#define VIDEO_PORT_AGP_INTERFACE_VERSION_1
Definition: video.h:123
struct _VIDEO_PORT_INT10_INTERFACE * PVIDEO_PORT_INT10_INTERFACE
#define VIDEO_PORT_INT10_INTERFACE_VERSION_1
Definition: video.h:127
enum _VIDEO_PORT_SERVICES VIDEO_PORT_SERVICES
#define VIDEO_PORT_AGP_INTERFACE_VERSION_2
Definition: video.h:124
@ VideoPortServicesAGP
Definition: video.h:713
@ VideoPortServicesI2C
Definition: video.h:714
@ VideoPortServicesHeadless
Definition: video.h:715
@ VideoPortServicesInt10
Definition: video.h:716
#define WARN_(ch,...)
Definition: debug.h:157
OUT PINT10_FREE_BUFFER Int10FreeBuffer
Definition: video.h:787
OUT PINT10_READ_MEMORY Int10ReadMemory
Definition: video.h:788
OUT PINT10_CALL_BIOS Int10CallBios
Definition: video.h:790
OUT PINTERFACE_REFERENCE InterfaceReference
Definition: video.h:784
OUT PINT10_ALLOCATE_BUFFER Int10AllocateBuffer
Definition: video.h:786
OUT PINT10_WRITE_MEMORY Int10WriteMemory
Definition: video.h:789
#define NTAPI
Definition: typedefs.h:36
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
Definition: wdffdo.h:465
VP_STATUS NTAPI VideoPortQueryServices(_In_ PVOID HwDeviceExtension, _In_ VIDEO_PORT_SERVICES ServicesType, _Inout_ PINTERFACE Interface)
Definition: services.c:45
VOID NTAPI IntInterfaceReference(_In_ PVOID Context)
Definition: services.c:29
VOID NTAPI IntInterfaceDereference(_In_ PVOID Context)
Definition: services.c:37
BOOLEAN NTAPI VideoPortGetAgpServices(_In_ PVOID HwDeviceExtension, _Out_ PVIDEO_PORT_AGP_SERVICES AgpServices)
Definition: services.c:102