ReactOS 0.4.17-dev-1190-g4c812f4
io.h
Go to the documentation of this file.
1#pragma once
2
4#include <uacpi/acpi.h>
5#include <uacpi/io.h>
6
7#ifndef UACPI_BAREBONES_MODE
8
9typedef struct uacpi_mapped_gas {
14
17 );
20 );
21
24
26 const struct acpi_gas *gas, uacpi_mapped_gas *out_mapped
27);
29
31
33 const uacpi_buffer_field *field, void *dst
34);
37);
38
41);
42
44 struct uacpi_field_unit *field, uacpi_size *out_length
45);
46
49 uacpi_data_view *wtr_response
50);
53 uacpi_data_view *wtr_response
54);
55
56/*
57 * Writes the source one field-sized chunk at a time, every chunk being a
58 * complete write of the field, the last one zero-extended. Nothing is written
59 * if the source is empty. This is how NT stores a String or a Buffer to a
60 * field. Fields that take a buffer, e.g. GenericSerialBus, get it in one go.
61 */
64 uacpi_data_view *wtr_response
65);
66
67#ifdef UACPI_NATIVE_MMIO
68#define uacpi_mmio_read8 uacpi_kernel_mmio_read8
69#define uacpi_mmio_read16 uacpi_kernel_mmio_read16
70#define uacpi_mmio_read32 uacpi_kernel_mmio_read32
71#define uacpi_mmio_read64 uacpi_kernel_mmio_read64
72
73#define uacpi_mmio_write8 uacpi_kernel_mmio_write8
74#define uacpi_mmio_write16 uacpi_kernel_mmio_write16
75#define uacpi_mmio_write32 uacpi_kernel_mmio_write32
76#define uacpi_mmio_write64 uacpi_kernel_mmio_write64
77#else
82
87
88#define uacpi_mmio_read8 uacpi_builtin_mmio_read8
89#define uacpi_mmio_read16 uacpi_builtin_mmio_read16
90#define uacpi_mmio_read32 uacpi_builtin_mmio_read32
91#define uacpi_mmio_read64 uacpi_builtin_mmio_read64
92
93#define uacpi_mmio_write8 uacpi_builtin_mmio_write8
94#define uacpi_mmio_write16 uacpi_builtin_mmio_write16
95#define uacpi_mmio_write32 uacpi_builtin_mmio_write32
96#define uacpi_mmio_write64 uacpi_builtin_mmio_write64
97#endif
98
101);
104);
105
108);
111);
112
115);
118);
119
120#endif // !UACPI_BAREBONES_MODE
void uacpi_builtin_mmio_write64(void *ptr, uacpi_u64 data)
Definition: io.c:1126
uacpi_status uacpi_pci_write(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
Definition: io.c:1282
uacpi_size uacpi_round_up_bits_to_bytes(uacpi_size bit_length)
Definition: io.c:11
uacpi_status uacpi_pci_read(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
Definition: io.c:1250
uacpi_u8 uacpi_builtin_mmio_read8(void *ptr)
Definition: io.c:1091
void uacpi_write_buffer_field(uacpi_buffer_field *field, const void *src, uacpi_size size)
Definition: io.c:152
uacpi_status uacpi_field_unit_get_bit_length(struct uacpi_field_unit *field, uacpi_size *out_length)
Definition: io.c:786
uacpi_u64 uacpi_builtin_mmio_read64(void *ptr)
Definition: io.c:1106
void uacpi_builtin_mmio_write32(void *ptr, uacpi_u32 data)
Definition: io.c:1121
uacpi_status uacpi_write_field_unit_in_chunks(uacpi_field_unit *field, const void *src, uacpi_size size, uacpi_data_view *wtr_response)
Definition: io.c:746
uacpi_status uacpi_system_io_write(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
Definition: io.c:1223
void uacpi_builtin_mmio_write16(void *ptr, uacpi_u16 data)
Definition: io.c:1116
void uacpi_read_buffer_field(const uacpi_buffer_field *field, void *dst)
Definition: io.c:113
uacpi_status uacpi_system_memory_read(void *ptr, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
Definition: io.c:1132
void uacpi_unmap_gas_nofree(uacpi_mapped_gas *gas)
Definition: io.c:1049
uacpi_status uacpi_field_unit_get_read_type(struct uacpi_field_unit *field, uacpi_object_type *out_type)
Definition: io.c:757
uacpi_status uacpi_system_io_read(uacpi_handle handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
Definition: io.c:1191
uacpi_status uacpi_map_gas_noalloc(const struct acpi_gas *gas, uacpi_mapped_gas *out_mapped)
Definition: io.c:992
uacpi_u32 uacpi_builtin_mmio_read32(void *ptr)
Definition: io.c:1101
uacpi_status uacpi_system_memory_write(void *ptr, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
Definition: io.c:1158
uacpi_status uacpi_read_field_unit(uacpi_field_unit *field, void *dst, uacpi_size size, uacpi_data_view *wtr_response)
Definition: io.c:558
uacpi_u16 uacpi_builtin_mmio_read16(void *ptr)
Definition: io.c:1096
void uacpi_builtin_mmio_write8(void *ptr, uacpi_u8 data)
Definition: io.c:1111
uacpi_status uacpi_write_field_unit(uacpi_field_unit *field, const void *src, uacpi_size size, uacpi_data_view *wtr_response)
Definition: io.c:738
size_t uacpi_size
Definition: types.h:37
uint32_t uacpi_u32
Definition: types.h:21
uint64_t uacpi_u64
Definition: types.h:22
uint16_t uacpi_u16
Definition: types.h:20
uint8_t uacpi_u8
Definition: types.h:19
uacpi_status
Definition: status.h:10
void * uacpi_handle
Definition: types.h:21
uacpi_object_type
Definition: types.h:110
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum src
Definition: glext.h:6340
GLsizeiptr size
Definition: glext.h:5919
GLintptr offset
Definition: glext.h:5920
GLuint in
Definition: glext.h:9616
GLenum GLenum dst
Definition: glext.h:6340
static PVOID ptr
Definition: dispmode.c:27
Definition: parser.c:44
uacpi_u8 access_bit_width
Definition: io.h:11
uacpi_u8 total_bit_width
Definition: io.h:12
uacpi_handle mapping
Definition: io.h:10
void(* unmap)(uacpi_handle, uacpi_size)
Definition: io.h:22
uacpi_status(* write)(uacpi_handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 in)
Definition: io.h:18
uacpi_u8 bit_offset
Definition: io.h:13
uacpi_status(* read)(uacpi_handle, uacpi_size offset, uacpi_u8 width, uacpi_u64 *out)
Definition: io.h:15
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383