ReactOS 0.4.16-dev-1946-g52006dd
resources.h File Reference
#include <uacpi/types.h>
Include dependency graph for resources.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uacpi_resource_source
 
struct  uacpi_resource_irq
 
struct  uacpi_resource_extended_irq
 
struct  uacpi_resource_dma
 
struct  uacpi_resource_fixed_dma
 
struct  uacpi_resource_io
 
struct  uacpi_resource_fixed_io
 
struct  uacpi_memory_attribute
 
struct  uacpi_io_attribute
 
union  uacpi_address_attribute
 
struct  uacpi_resource_address_common
 
struct  uacpi_resource_address16
 
struct  uacpi_resource_address32
 
struct  uacpi_resource_address64
 
struct  uacpi_resource_address64_extended
 
struct  uacpi_resource_memory24
 
struct  uacpi_resource_memory32
 
struct  uacpi_resource_fixed_memory32
 
struct  uacpi_resource_start_dependent
 
struct  uacpi_resource_vendor_defined
 
struct  uacpi_resource_vendor_typed
 
struct  uacpi_resource_generic_register
 
struct  uacpi_interrupt_connection_flags
 
struct  uacpi_io_connection_flags
 
struct  uacpi_resource_gpio_connection
 
struct  uacpi_resource_serial_bus_common
 
struct  uacpi_resource_i2c_connection
 
struct  uacpi_resource_spi_connection
 
struct  uacpi_resource_uart_connection
 
struct  uacpi_resource_csi2_connection
 
struct  uacpi_resource_pin_function
 
struct  uacpi_resource_pin_configuration
 
struct  uacpi_resource_label
 
struct  uacpi_resource_pin_group
 
struct  uacpi_resource_pin_group_function
 
struct  uacpi_resource_pin_group_configuration
 
struct  uacpi_resource_clock_input
 
struct  uacpi_resource
 
struct  uacpi_resources
 

Macros

#define UACPI_TRIGGERING_EDGE   1
 
#define UACPI_TRIGGERING_LEVEL   0
 
#define UACPI_POLARITY_ACTIVE_HIGH   0
 
#define UACPI_POLARITY_ACTIVE_LOW   1
 
#define UACPI_POLARITY_ACTIVE_BOTH   2
 
#define UACPI_EXCLUSIVE   0
 
#define UACPI_SHARED   1
 
#define UACPI_WAKE_CAPABLE   1
 
#define UACPI_NOT_WAKE_CAPABLE   0
 
#define UACPI_TRANSFER_TYPE_8_BIT   0b00
 
#define UACPI_TRANSFER_TYPE_8_AND_16_BIT   0b01
 
#define UACPI_TRANSFER_TYPE_16_BIT   0b10
 
#define UACPI_BUS_MASTER   0b1
 
#define UACPI_DMA_COMPATIBILITY   0b00
 
#define UACPI_DMA_TYPE_A   0b01
 
#define UACPI_DMA_TYPE_B   0b10
 
#define UACPI_DMA_TYPE_F   0b11
 
#define UACPI_TRANSFER_WIDTH_8   0x00
 
#define UACPI_TRANSFER_WIDTH_16   0x01
 
#define UACPI_TRANSFER_WIDTH_32   0x02
 
#define UACPI_TRANSFER_WIDTH_64   0x03
 
#define UACPI_TRANSFER_WIDTH_128   0x04
 
#define UACPI_TRANSFER_WIDTH_256   0x05
 
#define UACPI_DECODE_16   0b1
 
#define UACPI_DECODE_10   0b0
 
#define UACPI_NON_WRITABLE   0
 
#define UACPI_WRITABLE   1
 
#define UACPI_NON_CACHEABLE   0
 
#define UACPI_CACHEABLE   1
 
#define UACPI_CACHEABLE_WRITE_COMBINING   2
 
#define UACPI_PREFETCHABLE   3
 
#define UACPI_RANGE_TYPE_MEMORY   0
 
#define UACPI_RANGE_TYPE_RESERVED   1
 
#define UACPI_RANGE_TYPE_ACPI   2
 
#define UACPI_RANGE_TYPE_NVS   3
 
#define UACPI_RANGE_MEMORY   0
 
#define UACPI_RANGE_IO   1
 
#define UACPI_RANGE_BUS   2
 
#define UACPI_IO_MEM_TRANSLATION   1
 
#define UACPI_IO_MEM_STATIC   0
 
#define UACPI_TRANSLATION_DENSE   0
 
#define UACPI_TRANSLATION_SPARSE   1
 
#define UACPI_PRODUCER   0
 
#define UACPI_CONSUMER   1
 
#define UACPI_POISITIVE_DECODE   0
 
#define UACPI_SUBTRACTIVE_DECODE   1
 
#define UACPI_ADDRESS_NOT_FIXED   0
 
#define UACPI_ADDRESS_FIXED   1
 
#define UACPI_GOOD   0
 
#define UACPI_ACCEPTABLE   1
 
#define UACPI_SUB_OPTIMAL   2
 
#define UACPI_GPIO_CONNECTION_INTERRUPT   0x00
 
#define UACPI_GPIO_CONNECTION_IO   0x01
 
#define UACPI_IO_RESTRICTION_NONE   0x0
 
#define UACPI_IO_RESTRICTION_INPUT   0x1
 
#define UACPI_IO_RESTRICTION_OUTPUT   0x2
 
#define UACPI_IO_RESTRICTION_NONE_PRESERVE   0x3
 
#define UACPI_PIN_CONFIG_DEFAULT   0x00
 
#define UACPI_PIN_CONFIG_PULL_UP   0x01
 
#define UACPI_PIN_CONFIG_PULL_DOWN   0x02
 
#define UACPI_PIN_CONFIG_NO_PULL   0x03
 
#define UACPI_MODE_CONTROLLER_INITIATED   0x0
 
#define UACPI_MODE_DEVICE_INITIATED   0x1
 
#define UACPI_I2C_7BIT   0x0
 
#define UACPI_I2C_10BIT   0x1
 
#define UACPI_SPI_4_WIRES   0
 
#define UACPI_SPI_3_WIRES   1
 
#define UACPI_SPI_ACTIVE_LOW   0
 
#define UACPI_SPI_ACTIVE_HIGH   1
 
#define UACPI_SPI_PHASE_FIRST   0
 
#define UACPI_SPI_PHASE_SECOND   1
 
#define UACPI_SPI_START_LOW   0
 
#define UACPI_SPI_START_HIGH   1
 
#define UACPI_UART_STOP_BITS_NONE   0b00
 
#define UACPI_UART_STOP_BITS_1   0b01
 
#define UACPI_UART_STOP_BITS_1_5   0b10
 
#define UACPI_UART_STOP_BITS_2   0b11
 
#define UACPI_UART_DATA_5BITS   0b000
 
#define UACPI_UART_DATA_6BITS   0b001
 
#define UACPI_UART_DATA_7BITS   0b010
 
#define UACPI_UART_DATA_8BITS   0b011
 
#define UACPI_UART_DATA_9BITS   0b100
 
#define UACPI_UART_LITTLE_ENDIAN   0
 
#define UACPI_UART_BIG_ENDIAN   1
 
#define UACPI_UART_PARITY_NONE   0x00
 
#define UACPI_UART_PARITY_EVEN   0x01
 
#define UACPI_UART_PARITY_ODD   0x02
 
#define UACPI_UART_PARITY_MARK   0x03
 
#define UACPI_UART_PARITY_SPACE   0x04
 
#define UACPI_UART_DATA_CARRIER_DETECT   (1 << 2)
 
#define UACPI_UART_RING_INDICATOR   (1 << 3)
 
#define UACPI_UART_DATA_SET_READY   (1 << 4)
 
#define UACPI_UART_DATA_TERMINAL_READY   (1 << 5)
 
#define UACPI_UART_CLEAR_TO_SEND   (1 << 6)
 
#define UACPI_UART_REQUEST_TO_SEND   (1 << 7)
 
#define UACPI_UART_FLOW_CONTROL_NONE   0b00
 
#define UACPI_UART_FLOW_CONTROL_HW   0b01
 
#define UACPI_UART_FLOW_CONTROL_XON_XOFF   0b10
 
#define UACPI_CSI2_PHY_C   0b00
 
#define UACPI_CSI2_PHY_D   0b01
 
#define UACPI_PIN_CONFIG_DEFAULT   0x00
 
#define UACPI_PIN_CONFIG_BIAS_PULL_UP   0x01
 
#define UACPI_PIN_CONFIG_BIAS_PULL_DOWN   0x02
 
#define UACPI_PIN_CONFIG_BIAS_DEFAULT   0x03
 
#define UACPI_PIN_CONFIG_BIAS_DISABLE   0x04
 
#define UACPI_PIN_CONFIG_BIAS_HIGH_IMPEDANCE   0x05
 
#define UACPI_PIN_CONFIG_BIAS_BUS_HOLD   0x06
 
#define UACPI_PIN_CONFIG_DRIVE_OPEN_DRAIN   0x07
 
#define UACPI_PIN_CONFIG_DRIVE_OPEN_SOURCE   0x08
 
#define UACPI_PIN_CONFIG_DRIVE_PUSH_PULL   0x09
 
#define UACPI_PIN_CONFIG_DRIVE_STRENGTH   0x0A
 
#define UACPI_PIN_CONFIG_SLEW_RATE   0x0B
 
#define UACPI_PIN_CONFIG_INPUT_DEBOUNCE   0x0C
 
#define UACPI_PIN_CONFIG_INPUT_SCHMITT_TRIGGER   0x0D
 
#define UACPI_SCALE_HZ   0b00
 
#define UACPI_SCALE_KHZ   0b01
 
#define UACPI_SCALE_MHZ   0b10
 
#define UACPI_FREQUENCY_FIXED   0x0
 
#define UACPI_FREQUENCY_VARIABLE   0x1
 
#define UACPI_NEXT_RESOURCE(cur)    ((uacpi_resource*)((uacpi_u8*)(cur) + (cur)->length))
 

Typedefs

typedef enum uacpi_resource_type uacpi_resource_type
 
typedef struct uacpi_resource_source uacpi_resource_source
 
typedef struct uacpi_resource_irq uacpi_resource_irq
 
typedef struct uacpi_resource_extended_irq uacpi_resource_extended_irq
 
typedef struct uacpi_resource_dma uacpi_resource_dma
 
typedef struct uacpi_resource_fixed_dma uacpi_resource_fixed_dma
 
typedef struct uacpi_resource_io uacpi_resource_io
 
typedef struct uacpi_resource_fixed_io uacpi_resource_fixed_io
 
typedef struct uacpi_memory_attribute uacpi_memory_attribute
 
typedef struct uacpi_io_attribute uacpi_io_attribute
 
typedef union uacpi_address_attribute uacpi_address_attribute
 
typedef struct uacpi_resource_address_common uacpi_resource_address_common
 
typedef struct uacpi_resource_address16 uacpi_resource_address16
 
typedef struct uacpi_resource_address32 uacpi_resource_address32
 
typedef struct uacpi_resource_address64 uacpi_resource_address64
 
typedef struct uacpi_resource_address64_extended uacpi_resource_address64_extended
 
typedef struct uacpi_resource_memory24 uacpi_resource_memory24
 
typedef struct uacpi_resource_memory32 uacpi_resource_memory32
 
typedef struct uacpi_resource_fixed_memory32 uacpi_resource_fixed_memory32
 
typedef struct uacpi_resource_start_dependent uacpi_resource_start_dependent
 
typedef struct uacpi_resource_vendor_defined uacpi_resource_vendor
 
typedef struct uacpi_resource_vendor_typed uacpi_resource_vendor_typed
 
typedef struct uacpi_resource_generic_register uacpi_resource_generic_register
 
typedef struct uacpi_interrupt_connection_flags uacpi_interrupt_connection_flags
 
typedef struct uacpi_io_connection_flags uacpi_io_connection_flags
 
typedef struct uacpi_resource_gpio_connection uacpi_resource_gpio_connection
 
typedef struct uacpi_resource_serial_bus_common uacpi_resource_serial_bus_common
 
typedef struct uacpi_resource_i2c_connection uacpi_resource_i2c_connection
 
typedef struct uacpi_resource_spi_connection uacpi_resource_spi_connection
 
typedef struct uacpi_resource_uart_connection uacpi_resource_uart_connection
 
typedef struct uacpi_resource_csi2_connection uacpi_resource_csi2_connection
 
typedef struct uacpi_resource_pin_function uacpi_resource_pin_function
 
typedef struct uacpi_resource_pin_configuration uacpi_resource_pin_configuration
 
typedef struct uacpi_resource_label uacpi_resource_label
 
typedef struct uacpi_resource_pin_group uacpi_resource_pin_group
 
typedef struct uacpi_resource_pin_group_function uacpi_resource_pin_group_function
 
typedef struct uacpi_resource_pin_group_configuration uacpi_resource_pin_group_configuration
 
typedef struct uacpi_resource_clock_input uacpi_resource_clock_input
 
typedef struct uacpi_resource uacpi_resource
 
typedef struct uacpi_resources uacpi_resources
 
typedef uacpi_iteration_decision(* uacpi_resource_iteration_callback) (void *user, uacpi_resource *resource)
 

Enumerations

enum  uacpi_resource_type {
  UACPI_RESOURCE_TYPE_IRQ , UACPI_RESOURCE_TYPE_EXTENDED_IRQ , UACPI_RESOURCE_TYPE_DMA , UACPI_RESOURCE_TYPE_FIXED_DMA ,
  UACPI_RESOURCE_TYPE_IO , UACPI_RESOURCE_TYPE_FIXED_IO , UACPI_RESOURCE_TYPE_ADDRESS16 , UACPI_RESOURCE_TYPE_ADDRESS32 ,
  UACPI_RESOURCE_TYPE_ADDRESS64 , UACPI_RESOURCE_TYPE_ADDRESS64_EXTENDED , UACPI_RESOURCE_TYPE_MEMORY24 , UACPI_RESOURCE_TYPE_MEMORY32 ,
  UACPI_RESOURCE_TYPE_FIXED_MEMORY32 , UACPI_RESOURCE_TYPE_START_DEPENDENT , UACPI_RESOURCE_TYPE_END_DEPENDENT , UACPI_RESOURCE_TYPE_VENDOR_SMALL ,
  UACPI_RESOURCE_TYPE_VENDOR_LARGE , UACPI_RESOURCE_TYPE_GENERIC_REGISTER , UACPI_RESOURCE_TYPE_GPIO_CONNECTION , UACPI_RESOURCE_TYPE_SERIAL_I2C_CONNECTION ,
  UACPI_RESOURCE_TYPE_SERIAL_SPI_CONNECTION , UACPI_RESOURCE_TYPE_SERIAL_UART_CONNECTION , UACPI_RESOURCE_TYPE_SERIAL_CSI2_CONNECTION , UACPI_RESOURCE_TYPE_PIN_FUNCTION ,
  UACPI_RESOURCE_TYPE_PIN_CONFIGURATION , UACPI_RESOURCE_TYPE_PIN_GROUP , UACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION , UACPI_RESOURCE_TYPE_PIN_GROUP_CONFIGURATION ,
  UACPI_RESOURCE_TYPE_CLOCK_INPUT , UACPI_RESOURCE_TYPE_END_TAG , UACPI_RESOURCE_TYPE_MAX = UACPI_RESOURCE_TYPE_END_TAG
}
 
enum  uacpi_resource_length_kind { UACPI_RESOURCE_LENGTH_KIND_DONT_CARE = 0 , UACPI_RESOURCE_LENGTH_KIND_ONE_LESS , UACPI_RESOURCE_LENGTH_KIND_FULL }
 

Functions

void uacpi_free_resources (uacpi_resources *)
 
uacpi_status uacpi_get_current_resources (uacpi_namespace_node *device, uacpi_resources **out_resources)
 
uacpi_status uacpi_get_possible_resources (uacpi_namespace_node *device, uacpi_resources **out_resources)
 
uacpi_status uacpi_get_device_resources (uacpi_namespace_node *device, const uacpi_char *method, uacpi_resources **out_resources)
 
uacpi_status uacpi_set_resources (uacpi_namespace_node *device, uacpi_resources *resources)
 
uacpi_status uacpi_for_each_resource (uacpi_resources *resources, uacpi_resource_iteration_callback cb, void *user)
 
uacpi_status uacpi_for_each_device_resource (uacpi_namespace_node *device, const uacpi_char *method, uacpi_resource_iteration_callback cb, void *user)
 
uacpi_status uacpi_get_resource_from_buffer (uacpi_data_view aml_buffer, uacpi_resource **out_resource)
 
void uacpi_free_resource (uacpi_resource *)
 

Macro Definition Documentation

◆ UACPI_ACCEPTABLE

#define UACPI_ACCEPTABLE   1

Definition at line 314 of file resources.h.

◆ UACPI_ADDRESS_FIXED

#define UACPI_ADDRESS_FIXED   1

Definition at line 219 of file resources.h.

◆ UACPI_ADDRESS_NOT_FIXED

#define UACPI_ADDRESS_NOT_FIXED   0

Definition at line 218 of file resources.h.

◆ UACPI_BUS_MASTER

#define UACPI_BUS_MASTER   0b1

Definition at line 133 of file resources.h.

◆ UACPI_CACHEABLE

#define UACPI_CACHEABLE   1

Definition at line 186 of file resources.h.

◆ UACPI_CACHEABLE_WRITE_COMBINING

#define UACPI_CACHEABLE_WRITE_COMBINING   2

Definition at line 187 of file resources.h.

◆ UACPI_CONSUMER

#define UACPI_CONSUMER   1

Definition at line 211 of file resources.h.

◆ UACPI_CSI2_PHY_C

#define UACPI_CSI2_PHY_C   0b00

Definition at line 498 of file resources.h.

◆ UACPI_CSI2_PHY_D

#define UACPI_CSI2_PHY_D   0b01

Definition at line 499 of file resources.h.

◆ UACPI_DECODE_10

#define UACPI_DECODE_10   0b0

Definition at line 165 of file resources.h.

◆ UACPI_DECODE_16

#define UACPI_DECODE_16   0b1

Definition at line 164 of file resources.h.

◆ UACPI_DMA_COMPATIBILITY

#define UACPI_DMA_COMPATIBILITY   0b00

Definition at line 136 of file resources.h.

◆ UACPI_DMA_TYPE_A

#define UACPI_DMA_TYPE_A   0b01

Definition at line 137 of file resources.h.

◆ UACPI_DMA_TYPE_B

#define UACPI_DMA_TYPE_B   0b10

Definition at line 138 of file resources.h.

◆ UACPI_DMA_TYPE_F

#define UACPI_DMA_TYPE_F   0b11

Definition at line 139 of file resources.h.

◆ UACPI_EXCLUSIVE

#define UACPI_EXCLUSIVE   0

Definition at line 99 of file resources.h.

◆ UACPI_FREQUENCY_FIXED

#define UACPI_FREQUENCY_FIXED   0x0

Definition at line 592 of file resources.h.

◆ UACPI_FREQUENCY_VARIABLE

#define UACPI_FREQUENCY_VARIABLE   0x1

Definition at line 593 of file resources.h.

◆ UACPI_GOOD

#define UACPI_GOOD   0

Definition at line 313 of file resources.h.

◆ UACPI_GPIO_CONNECTION_INTERRUPT

#define UACPI_GPIO_CONNECTION_INTERRUPT   0x00

Definition at line 344 of file resources.h.

◆ UACPI_GPIO_CONNECTION_IO

#define UACPI_GPIO_CONNECTION_IO   0x01

Definition at line 345 of file resources.h.

◆ UACPI_I2C_10BIT

#define UACPI_I2C_10BIT   0x1

Definition at line 411 of file resources.h.

◆ UACPI_I2C_7BIT

#define UACPI_I2C_7BIT   0x0

Definition at line 410 of file resources.h.

◆ UACPI_IO_MEM_STATIC

#define UACPI_IO_MEM_STATIC   0

Definition at line 203 of file resources.h.

◆ UACPI_IO_MEM_TRANSLATION

#define UACPI_IO_MEM_TRANSLATION   1

Definition at line 202 of file resources.h.

◆ UACPI_IO_RESTRICTION_INPUT

#define UACPI_IO_RESTRICTION_INPUT   0x1

Definition at line 356 of file resources.h.

◆ UACPI_IO_RESTRICTION_NONE

#define UACPI_IO_RESTRICTION_NONE   0x0

Definition at line 355 of file resources.h.

◆ UACPI_IO_RESTRICTION_NONE_PRESERVE

#define UACPI_IO_RESTRICTION_NONE_PRESERVE   0x3

Definition at line 358 of file resources.h.

◆ UACPI_IO_RESTRICTION_OUTPUT

#define UACPI_IO_RESTRICTION_OUTPUT   0x2

Definition at line 357 of file resources.h.

◆ UACPI_MODE_CONTROLLER_INITIATED

#define UACPI_MODE_CONTROLLER_INITIATED   0x0

Definition at line 393 of file resources.h.

◆ UACPI_MODE_DEVICE_INITIATED

#define UACPI_MODE_DEVICE_INITIATED   0x1

Definition at line 394 of file resources.h.

◆ UACPI_NEXT_RESOURCE

#define UACPI_NEXT_RESOURCE (   cur)     ((uacpi_resource*)((uacpi_u8*)(cur) + (cur)->length))

Definition at line 641 of file resources.h.

◆ UACPI_NON_CACHEABLE

#define UACPI_NON_CACHEABLE   0

Definition at line 185 of file resources.h.

◆ UACPI_NON_WRITABLE

#define UACPI_NON_WRITABLE   0

Definition at line 181 of file resources.h.

◆ UACPI_NOT_WAKE_CAPABLE

#define UACPI_NOT_WAKE_CAPABLE   0

Definition at line 104 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_BUS_HOLD

#define UACPI_PIN_CONFIG_BIAS_BUS_HOLD   0x06

Definition at line 526 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_DEFAULT

#define UACPI_PIN_CONFIG_BIAS_DEFAULT   0x03

Definition at line 523 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_DISABLE

#define UACPI_PIN_CONFIG_BIAS_DISABLE   0x04

Definition at line 524 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_HIGH_IMPEDANCE

#define UACPI_PIN_CONFIG_BIAS_HIGH_IMPEDANCE   0x05

Definition at line 525 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_PULL_DOWN

#define UACPI_PIN_CONFIG_BIAS_PULL_DOWN   0x02

Definition at line 522 of file resources.h.

◆ UACPI_PIN_CONFIG_BIAS_PULL_UP

#define UACPI_PIN_CONFIG_BIAS_PULL_UP   0x01

Definition at line 521 of file resources.h.

◆ UACPI_PIN_CONFIG_DEFAULT [1/2]

#define UACPI_PIN_CONFIG_DEFAULT   0x00

Definition at line 520 of file resources.h.

◆ UACPI_PIN_CONFIG_DEFAULT [2/2]

#define UACPI_PIN_CONFIG_DEFAULT   0x00

Definition at line 520 of file resources.h.

◆ UACPI_PIN_CONFIG_DRIVE_OPEN_DRAIN

#define UACPI_PIN_CONFIG_DRIVE_OPEN_DRAIN   0x07

Definition at line 527 of file resources.h.

◆ UACPI_PIN_CONFIG_DRIVE_OPEN_SOURCE

#define UACPI_PIN_CONFIG_DRIVE_OPEN_SOURCE   0x08

Definition at line 528 of file resources.h.

◆ UACPI_PIN_CONFIG_DRIVE_PUSH_PULL

#define UACPI_PIN_CONFIG_DRIVE_PUSH_PULL   0x09

Definition at line 529 of file resources.h.

◆ UACPI_PIN_CONFIG_DRIVE_STRENGTH

#define UACPI_PIN_CONFIG_DRIVE_STRENGTH   0x0A

Definition at line 530 of file resources.h.

◆ UACPI_PIN_CONFIG_INPUT_DEBOUNCE

#define UACPI_PIN_CONFIG_INPUT_DEBOUNCE   0x0C

Definition at line 532 of file resources.h.

◆ UACPI_PIN_CONFIG_INPUT_SCHMITT_TRIGGER

#define UACPI_PIN_CONFIG_INPUT_SCHMITT_TRIGGER   0x0D

Definition at line 533 of file resources.h.

◆ UACPI_PIN_CONFIG_NO_PULL

#define UACPI_PIN_CONFIG_NO_PULL   0x03

Definition at line 369 of file resources.h.

◆ UACPI_PIN_CONFIG_PULL_DOWN

#define UACPI_PIN_CONFIG_PULL_DOWN   0x02

Definition at line 368 of file resources.h.

◆ UACPI_PIN_CONFIG_PULL_UP

#define UACPI_PIN_CONFIG_PULL_UP   0x01

Definition at line 367 of file resources.h.

◆ UACPI_PIN_CONFIG_SLEW_RATE

#define UACPI_PIN_CONFIG_SLEW_RATE   0x0B

Definition at line 531 of file resources.h.

◆ UACPI_POISITIVE_DECODE

#define UACPI_POISITIVE_DECODE   0

Definition at line 214 of file resources.h.

◆ UACPI_POLARITY_ACTIVE_BOTH

#define UACPI_POLARITY_ACTIVE_BOTH   2

Definition at line 96 of file resources.h.

◆ UACPI_POLARITY_ACTIVE_HIGH

#define UACPI_POLARITY_ACTIVE_HIGH   0

Definition at line 94 of file resources.h.

◆ UACPI_POLARITY_ACTIVE_LOW

#define UACPI_POLARITY_ACTIVE_LOW   1

Definition at line 95 of file resources.h.

◆ UACPI_PREFETCHABLE

#define UACPI_PREFETCHABLE   3

Definition at line 188 of file resources.h.

◆ UACPI_PRODUCER

#define UACPI_PRODUCER   0

Definition at line 210 of file resources.h.

◆ UACPI_RANGE_BUS

#define UACPI_RANGE_BUS   2

Definition at line 199 of file resources.h.

◆ UACPI_RANGE_IO

#define UACPI_RANGE_IO   1

Definition at line 198 of file resources.h.

◆ UACPI_RANGE_MEMORY

#define UACPI_RANGE_MEMORY   0

Definition at line 197 of file resources.h.

◆ UACPI_RANGE_TYPE_ACPI

#define UACPI_RANGE_TYPE_ACPI   2

Definition at line 193 of file resources.h.

◆ UACPI_RANGE_TYPE_MEMORY

#define UACPI_RANGE_TYPE_MEMORY   0

Definition at line 191 of file resources.h.

◆ UACPI_RANGE_TYPE_NVS

#define UACPI_RANGE_TYPE_NVS   3

Definition at line 194 of file resources.h.

◆ UACPI_RANGE_TYPE_RESERVED

#define UACPI_RANGE_TYPE_RESERVED   1

Definition at line 192 of file resources.h.

◆ UACPI_SCALE_HZ

#define UACPI_SCALE_HZ   0b00

Definition at line 587 of file resources.h.

◆ UACPI_SCALE_KHZ

#define UACPI_SCALE_KHZ   0b01

Definition at line 588 of file resources.h.

◆ UACPI_SCALE_MHZ

#define UACPI_SCALE_MHZ   0b10

Definition at line 589 of file resources.h.

◆ UACPI_SHARED

#define UACPI_SHARED   1

Definition at line 100 of file resources.h.

◆ UACPI_SPI_3_WIRES

#define UACPI_SPI_3_WIRES   1

Definition at line 422 of file resources.h.

◆ UACPI_SPI_4_WIRES

#define UACPI_SPI_4_WIRES   0

Definition at line 421 of file resources.h.

◆ UACPI_SPI_ACTIVE_HIGH

#define UACPI_SPI_ACTIVE_HIGH   1

Definition at line 426 of file resources.h.

◆ UACPI_SPI_ACTIVE_LOW

#define UACPI_SPI_ACTIVE_LOW   0

Definition at line 425 of file resources.h.

◆ UACPI_SPI_PHASE_FIRST

#define UACPI_SPI_PHASE_FIRST   0

Definition at line 429 of file resources.h.

◆ UACPI_SPI_PHASE_SECOND

#define UACPI_SPI_PHASE_SECOND   1

Definition at line 430 of file resources.h.

◆ UACPI_SPI_START_HIGH

#define UACPI_SPI_START_HIGH   1

Definition at line 434 of file resources.h.

◆ UACPI_SPI_START_LOW

#define UACPI_SPI_START_LOW   0

Definition at line 433 of file resources.h.

◆ UACPI_SUB_OPTIMAL

#define UACPI_SUB_OPTIMAL   2

Definition at line 315 of file resources.h.

◆ UACPI_SUBTRACTIVE_DECODE

#define UACPI_SUBTRACTIVE_DECODE   1

Definition at line 215 of file resources.h.

◆ UACPI_TRANSFER_TYPE_16_BIT

#define UACPI_TRANSFER_TYPE_16_BIT   0b10

Definition at line 130 of file resources.h.

◆ UACPI_TRANSFER_TYPE_8_AND_16_BIT

#define UACPI_TRANSFER_TYPE_8_AND_16_BIT   0b01

Definition at line 129 of file resources.h.

◆ UACPI_TRANSFER_TYPE_8_BIT

#define UACPI_TRANSFER_TYPE_8_BIT   0b00

Definition at line 128 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_128

#define UACPI_TRANSFER_WIDTH_128   0x04

Definition at line 146 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_16

#define UACPI_TRANSFER_WIDTH_16   0x01

Definition at line 143 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_256

#define UACPI_TRANSFER_WIDTH_256   0x05

Definition at line 147 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_32

#define UACPI_TRANSFER_WIDTH_32   0x02

Definition at line 144 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_64

#define UACPI_TRANSFER_WIDTH_64   0x03

Definition at line 145 of file resources.h.

◆ UACPI_TRANSFER_WIDTH_8

#define UACPI_TRANSFER_WIDTH_8   0x00

Definition at line 142 of file resources.h.

◆ UACPI_TRANSLATION_DENSE

#define UACPI_TRANSLATION_DENSE   0

Definition at line 206 of file resources.h.

◆ UACPI_TRANSLATION_SPARSE

#define UACPI_TRANSLATION_SPARSE   1

Definition at line 207 of file resources.h.

◆ UACPI_TRIGGERING_EDGE

#define UACPI_TRIGGERING_EDGE   1

Definition at line 90 of file resources.h.

◆ UACPI_TRIGGERING_LEVEL

#define UACPI_TRIGGERING_LEVEL   0

Definition at line 91 of file resources.h.

◆ UACPI_UART_BIG_ENDIAN

#define UACPI_UART_BIG_ENDIAN   1

Definition at line 462 of file resources.h.

◆ UACPI_UART_CLEAR_TO_SEND

#define UACPI_UART_CLEAR_TO_SEND   (1 << 6)

Definition at line 476 of file resources.h.

◆ UACPI_UART_DATA_5BITS

#define UACPI_UART_DATA_5BITS   0b000

Definition at line 454 of file resources.h.

◆ UACPI_UART_DATA_6BITS

#define UACPI_UART_DATA_6BITS   0b001

Definition at line 455 of file resources.h.

◆ UACPI_UART_DATA_7BITS

#define UACPI_UART_DATA_7BITS   0b010

Definition at line 456 of file resources.h.

◆ UACPI_UART_DATA_8BITS

#define UACPI_UART_DATA_8BITS   0b011

Definition at line 457 of file resources.h.

◆ UACPI_UART_DATA_9BITS

#define UACPI_UART_DATA_9BITS   0b100

Definition at line 458 of file resources.h.

◆ UACPI_UART_DATA_CARRIER_DETECT

#define UACPI_UART_DATA_CARRIER_DETECT   (1 << 2)

Definition at line 472 of file resources.h.

◆ UACPI_UART_DATA_SET_READY

#define UACPI_UART_DATA_SET_READY   (1 << 4)

Definition at line 474 of file resources.h.

◆ UACPI_UART_DATA_TERMINAL_READY

#define UACPI_UART_DATA_TERMINAL_READY   (1 << 5)

Definition at line 475 of file resources.h.

◆ UACPI_UART_FLOW_CONTROL_HW

#define UACPI_UART_FLOW_CONTROL_HW   0b01

Definition at line 481 of file resources.h.

◆ UACPI_UART_FLOW_CONTROL_NONE

#define UACPI_UART_FLOW_CONTROL_NONE   0b00

Definition at line 480 of file resources.h.

◆ UACPI_UART_FLOW_CONTROL_XON_XOFF

#define UACPI_UART_FLOW_CONTROL_XON_XOFF   0b10

Definition at line 482 of file resources.h.

◆ UACPI_UART_LITTLE_ENDIAN

#define UACPI_UART_LITTLE_ENDIAN   0

Definition at line 461 of file resources.h.

◆ UACPI_UART_PARITY_EVEN

#define UACPI_UART_PARITY_EVEN   0x01

Definition at line 466 of file resources.h.

◆ UACPI_UART_PARITY_MARK

#define UACPI_UART_PARITY_MARK   0x03

Definition at line 468 of file resources.h.

◆ UACPI_UART_PARITY_NONE

#define UACPI_UART_PARITY_NONE   0x00

Definition at line 465 of file resources.h.

◆ UACPI_UART_PARITY_ODD

#define UACPI_UART_PARITY_ODD   0x02

Definition at line 467 of file resources.h.

◆ UACPI_UART_PARITY_SPACE

#define UACPI_UART_PARITY_SPACE   0x04

Definition at line 469 of file resources.h.

◆ UACPI_UART_REQUEST_TO_SEND

#define UACPI_UART_REQUEST_TO_SEND   (1 << 7)

Definition at line 477 of file resources.h.

◆ UACPI_UART_RING_INDICATOR

#define UACPI_UART_RING_INDICATOR   (1 << 3)

Definition at line 473 of file resources.h.

◆ UACPI_UART_STOP_BITS_1

#define UACPI_UART_STOP_BITS_1   0b01

Definition at line 449 of file resources.h.

◆ UACPI_UART_STOP_BITS_1_5

#define UACPI_UART_STOP_BITS_1_5   0b10

Definition at line 450 of file resources.h.

◆ UACPI_UART_STOP_BITS_2

#define UACPI_UART_STOP_BITS_2   0b11

Definition at line 451 of file resources.h.

◆ UACPI_UART_STOP_BITS_NONE

#define UACPI_UART_STOP_BITS_NONE   0b00

Definition at line 448 of file resources.h.

◆ UACPI_WAKE_CAPABLE

#define UACPI_WAKE_CAPABLE   1

Definition at line 103 of file resources.h.

◆ UACPI_WRITABLE

#define UACPI_WRITABLE   1

Definition at line 182 of file resources.h.

Typedef Documentation

◆ uacpi_address_attribute

◆ uacpi_interrupt_connection_flags

◆ uacpi_io_attribute

◆ uacpi_io_connection_flags

◆ uacpi_memory_attribute

◆ uacpi_resource

◆ uacpi_resource_address16

◆ uacpi_resource_address32

◆ uacpi_resource_address64

◆ uacpi_resource_address64_extended

◆ uacpi_resource_address_common

◆ uacpi_resource_clock_input

◆ uacpi_resource_csi2_connection

◆ uacpi_resource_dma

◆ uacpi_resource_extended_irq

◆ uacpi_resource_fixed_dma

◆ uacpi_resource_fixed_io

◆ uacpi_resource_fixed_memory32

◆ uacpi_resource_generic_register

◆ uacpi_resource_gpio_connection

◆ uacpi_resource_i2c_connection

◆ uacpi_resource_io

◆ uacpi_resource_irq

◆ uacpi_resource_iteration_callback

typedef uacpi_iteration_decision(* uacpi_resource_iteration_callback) (void *user, uacpi_resource *resource)

Definition at line 650 of file resources.h.

◆ uacpi_resource_label

◆ uacpi_resource_memory24

◆ uacpi_resource_memory32

◆ uacpi_resource_pin_configuration

◆ uacpi_resource_pin_function

◆ uacpi_resource_pin_group

◆ uacpi_resource_pin_group_configuration

◆ uacpi_resource_pin_group_function

◆ uacpi_resource_serial_bus_common

◆ uacpi_resource_source

◆ uacpi_resource_spi_connection

◆ uacpi_resource_start_dependent

◆ uacpi_resource_type

◆ uacpi_resource_uart_connection

◆ uacpi_resource_vendor

◆ uacpi_resource_vendor_typed

◆ uacpi_resources

Enumeration Type Documentation

◆ uacpi_resource_length_kind

Enumerator
UACPI_RESOURCE_LENGTH_KIND_DONT_CARE 
UACPI_RESOURCE_LENGTH_KIND_ONE_LESS 
UACPI_RESOURCE_LENGTH_KIND_FULL 

Definition at line 83 of file resources.h.

83 {
87};
@ UACPI_RESOURCE_LENGTH_KIND_DONT_CARE
Definition: resources.h:84
@ UACPI_RESOURCE_LENGTH_KIND_ONE_LESS
Definition: resources.h:85
@ UACPI_RESOURCE_LENGTH_KIND_FULL
Definition: resources.h:86

◆ uacpi_resource_type

Enumerator
UACPI_RESOURCE_TYPE_IRQ 
UACPI_RESOURCE_TYPE_EXTENDED_IRQ 
UACPI_RESOURCE_TYPE_DMA 
UACPI_RESOURCE_TYPE_FIXED_DMA 
UACPI_RESOURCE_TYPE_IO 
UACPI_RESOURCE_TYPE_FIXED_IO 
UACPI_RESOURCE_TYPE_ADDRESS16 
UACPI_RESOURCE_TYPE_ADDRESS32 
UACPI_RESOURCE_TYPE_ADDRESS64 
UACPI_RESOURCE_TYPE_ADDRESS64_EXTENDED 
UACPI_RESOURCE_TYPE_MEMORY24 
UACPI_RESOURCE_TYPE_MEMORY32 
UACPI_RESOURCE_TYPE_FIXED_MEMORY32 
UACPI_RESOURCE_TYPE_START_DEPENDENT 
UACPI_RESOURCE_TYPE_END_DEPENDENT 
UACPI_RESOURCE_TYPE_VENDOR_SMALL 
UACPI_RESOURCE_TYPE_VENDOR_LARGE 
UACPI_RESOURCE_TYPE_GENERIC_REGISTER 
UACPI_RESOURCE_TYPE_GPIO_CONNECTION 
UACPI_RESOURCE_TYPE_SERIAL_I2C_CONNECTION 
UACPI_RESOURCE_TYPE_SERIAL_SPI_CONNECTION 
UACPI_RESOURCE_TYPE_SERIAL_UART_CONNECTION 
UACPI_RESOURCE_TYPE_SERIAL_CSI2_CONNECTION 
UACPI_RESOURCE_TYPE_PIN_FUNCTION 
UACPI_RESOURCE_TYPE_PIN_CONFIGURATION 
UACPI_RESOURCE_TYPE_PIN_GROUP 
UACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION 
UACPI_RESOURCE_TYPE_PIN_GROUP_CONFIGURATION 
UACPI_RESOURCE_TYPE_CLOCK_INPUT 
UACPI_RESOURCE_TYPE_END_TAG 
UACPI_RESOURCE_TYPE_MAX 

Definition at line 11 of file resources.h.

11 {
14
17
20
25
29
32
33 // Up to 7 bytes
35
36 // Up to 2^16 - 1 bytes
38
41
42 // These must always be contiguous in this order
47
53
55
uacpi_resource_type
Definition: resources.h:11
@ UACPI_RESOURCE_TYPE_PIN_GROUP_CONFIGURATION
Definition: resources.h:52
@ UACPI_RESOURCE_TYPE_ADDRESS32
Definition: resources.h:22
@ UACPI_RESOURCE_TYPE_START_DEPENDENT
Definition: resources.h:30
@ UACPI_RESOURCE_TYPE_SERIAL_UART_CONNECTION
Definition: resources.h:45
@ UACPI_RESOURCE_TYPE_VENDOR_SMALL
Definition: resources.h:34
@ UACPI_RESOURCE_TYPE_PIN_FUNCTION
Definition: resources.h:48
@ UACPI_RESOURCE_TYPE_EXTENDED_IRQ
Definition: resources.h:13
@ UACPI_RESOURCE_TYPE_MEMORY32
Definition: resources.h:27
@ UACPI_RESOURCE_TYPE_END_DEPENDENT
Definition: resources.h:31
@ UACPI_RESOURCE_TYPE_IO
Definition: resources.h:18
@ UACPI_RESOURCE_TYPE_SERIAL_I2C_CONNECTION
Definition: resources.h:43
@ UACPI_RESOURCE_TYPE_FIXED_DMA
Definition: resources.h:16
@ UACPI_RESOURCE_TYPE_GENERIC_REGISTER
Definition: resources.h:39
@ UACPI_RESOURCE_TYPE_ADDRESS16
Definition: resources.h:21
@ UACPI_RESOURCE_TYPE_SERIAL_SPI_CONNECTION
Definition: resources.h:44
@ UACPI_RESOURCE_TYPE_PIN_GROUP
Definition: resources.h:50
@ UACPI_RESOURCE_TYPE_MAX
Definition: resources.h:57
@ UACPI_RESOURCE_TYPE_IRQ
Definition: resources.h:12
@ UACPI_RESOURCE_TYPE_PIN_CONFIGURATION
Definition: resources.h:49
@ UACPI_RESOURCE_TYPE_FIXED_IO
Definition: resources.h:19
@ UACPI_RESOURCE_TYPE_VENDOR_LARGE
Definition: resources.h:37
@ UACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION
Definition: resources.h:51
@ UACPI_RESOURCE_TYPE_END_TAG
Definition: resources.h:56
@ UACPI_RESOURCE_TYPE_ADDRESS64
Definition: resources.h:23
@ UACPI_RESOURCE_TYPE_CLOCK_INPUT
Definition: resources.h:54
@ UACPI_RESOURCE_TYPE_SERIAL_CSI2_CONNECTION
Definition: resources.h:46
@ UACPI_RESOURCE_TYPE_GPIO_CONNECTION
Definition: resources.h:40
@ UACPI_RESOURCE_TYPE_ADDRESS64_EXTENDED
Definition: resources.h:24
@ UACPI_RESOURCE_TYPE_MEMORY24
Definition: resources.h:26
@ UACPI_RESOURCE_TYPE_FIXED_MEMORY32
Definition: resources.h:28
@ UACPI_RESOURCE_TYPE_DMA
Definition: resources.h:15

Function Documentation

◆ uacpi_for_each_device_resource()

uacpi_status uacpi_for_each_device_resource ( uacpi_namespace_node device,
const uacpi_char method,
uacpi_resource_iteration_callback  cb,
void user 
)

Definition at line 2155 of file resources.c.

2159{
2162
2165 return ret;
2166
2169
2170 return ret;
2171}
void user(int argc, const char *argv[])
Definition: cmds.c:1350
method
Definition: dragdrop.c:54
#define uacpi_unlikely_error(expr)
Definition: status.h:49
uacpi_status
Definition: status.h:10
return ret
Definition: mutex.c:146
uacpi_status uacpi_for_each_resource(uacpi_resources *resources, uacpi_resource_iteration_callback cb, void *user)
Definition: resources.c:2115
void uacpi_free_resources(uacpi_resources *resources)
Definition: resources.c:2056
static uacpi_status extract_native_resources_from_method(uacpi_namespace_node *device, const uacpi_char *method, uacpi_resources **out_resources)
Definition: resources.c:2072
FxCmResList * resources
static HMODULE MODULEINFO DWORD cb
Definition: module.c:33
Definition: devices.h:37

◆ uacpi_for_each_resource()

uacpi_status uacpi_for_each_resource ( uacpi_resources resources,
uacpi_resource_iteration_callback  cb,
void user 
)

Definition at line 2115 of file resources.c.

2118{
2119 uacpi_size bytes_left = resources->length;
2120 uacpi_resource *current = resources->entries;
2121 uacpi_iteration_decision decision;
2122
2123 while (bytes_left) {
2124 // At least the head bytes
2125 if (uacpi_unlikely(bytes_left < 4)) {
2126 uacpi_error("corrupted resource buffer %p length %zu\n",
2127 resources, resources->length);
2129 }
2130
2132 uacpi_error("invalid resource type %d\n", current->type);
2134 }
2135
2136 if (uacpi_unlikely(current->length > bytes_left)) {
2137 uacpi_error("corrupted resource@%p length %u (%zu bytes left)\n",
2138 current, current->length, bytes_left);
2140 }
2141
2142 decision = cb(user, current);
2143
2144 if (decision == UACPI_ITERATION_DECISION_BREAK ||
2146 return UACPI_STATUS_OK;
2147
2148 bytes_left -= current->length;
2149 current = (uacpi_resource*)((uacpi_u8*)current + current->length);
2150 }
2151
2153}
#define uacpi_error(...)
Definition: log.h:21
#define uacpi_unlikely(expr)
Definition: compiler.h:58
size_t uacpi_size
Definition: types.h:37
uint8_t uacpi_u8
Definition: types.h:19
@ UACPI_STATUS_INVALID_ARGUMENT
Definition: status.h:18
@ UACPI_STATUS_NO_RESOURCE_END_TAG
Definition: status.h:26
@ UACPI_STATUS_OK
Definition: status.h:11
uacpi_iteration_decision
Definition: types.h:28
@ UACPI_ITERATION_DECISION_BREAK
Definition: types.h:30
struct task_struct * current
Definition: linux.c:32

Referenced by native_resources_to_aml(), uacpi_for_each_device_resource(), and uacpi_native_resources_to_aml().

◆ uacpi_free_resource()

void uacpi_free_resource ( uacpi_resource resource)

Definition at line 2064 of file resources.c.

2065{
2066 if (resource == UACPI_NULL)
2067 return;
2068
2069 uacpi_free(resource, resource->length);
2070}
#define uacpi_free(mem, _)
Definition: stdlib.h:96
#define UACPI_NULL
Definition: types.h:33

Referenced by uacpi_get_resource_from_buffer().

◆ uacpi_free_resources()

void uacpi_free_resources ( uacpi_resources resources)

Definition at line 2056 of file resources.c.

2057{
2058 if (resources == UACPI_NULL)
2059 return;
2060
2061 uacpi_free(resources, sizeof(uacpi_resources) + resources->length);
2062}

Referenced by uacpi_for_each_device_resource(), and uacpi_native_resources_from_aml().

◆ uacpi_get_current_resources()

uacpi_status uacpi_get_current_resources ( uacpi_namespace_node device,
uacpi_resources **  out_resources 
)

Definition at line 2093 of file resources.c.

2096{
2097 return extract_native_resources_from_method(device, "_CRS", out_resources);
2098}

◆ uacpi_get_device_resources()

uacpi_status uacpi_get_device_resources ( uacpi_namespace_node device,
const uacpi_char method,
uacpi_resources **  out_resources 
)

Definition at line 2107 of file resources.c.

2111{
2112 return extract_native_resources_from_method(device, method, out_resources);
2113}

◆ uacpi_get_possible_resources()

uacpi_status uacpi_get_possible_resources ( uacpi_namespace_node device,
uacpi_resources **  out_resources 
)

Definition at line 2100 of file resources.c.

2103{
2104 return extract_native_resources_from_method(device, "_PRS", out_resources);
2105}

◆ uacpi_get_resource_from_buffer()

uacpi_status uacpi_get_resource_from_buffer ( uacpi_data_view  aml_buffer,
uacpi_resource **  out_resource 
)

Definition at line 2021 of file resources.c.

2024{
2026 struct resource_conversion_ctx ctx = {
2027 .just_one = UACPI_TRUE,
2028 };
2030
2033 );
2035 return ret;
2036
2040
2041 ctx = (struct resource_conversion_ctx) {
2042 .buf = resource,
2043 .just_one = UACPI_TRUE,
2044 };
2045
2049 return ret;
2050 }
2051
2052 *out_resource = resource;
2053 return ret;
2054}
#define uacpi_kernel_alloc_zeroed
Definition: stdlib.h:127
#define UACPI_TRUE
Definition: types.h:29
@ UACPI_STATUS_OUT_OF_MEMORY
Definition: status.h:13
static uacpi_iteration_decision accumulate_native_buffer_size(void *opaque, uacpi_u8 *data, uacpi_u16 resource_size, const struct uacpi_resource_spec *spec)
Definition: resources.c:1938
static uacpi_iteration_decision do_aml_resource_to_native(void *opaque, uacpi_u8 *data, uacpi_u16 aml_size, const struct uacpi_resource_spec *spec)
Definition: resources.c:1673
uacpi_status uacpi_for_each_aml_resource(uacpi_data_view buffer, uacpi_aml_resource_iteration_callback cb, void *user)
Definition: resources.c:1423
void uacpi_free_resource(uacpi_resource *resource)
Definition: resources.c:2064
#define resource
Definition: kernel32.h:9

◆ uacpi_set_resources()

uacpi_status uacpi_set_resources ( uacpi_namespace_node device,
uacpi_resources resources 
)

Definition at line 2543 of file resources.c.

2546{
2548 uacpi_object *res_template;
2550
2553 return ret;
2554
2555 args.objects = &res_template;
2556 args.count = 1;
2557 ret = uacpi_eval(device, "_SRS", &args, UACPI_NULL);
2558
2559 uacpi_object_unref(res_template);
2560 return ret;
2561}
void uacpi_object_unref(uacpi_object *obj)
Definition: types.c:755
uacpi_status uacpi_native_resources_to_aml(uacpi_resources *resources, uacpi_object **out_template)
Definition: resources.c:2491
#define args
Definition: format.c:66
Definition: match.c:390
uacpi_status uacpi_eval(uacpi_namespace_node *parent, const uacpi_char *path, const uacpi_object_array *args, uacpi_object **ret)
Definition: uacpi.c:699