ReactOS 0.4.16-dev-2200-g789f6c5
types.h File Reference
#include <uacpi/status.h>
#include <uacpi/types.h>
#include <uacpi/internal/shareable.h>
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uacpi_buffer
 
struct  uacpi_package
 
struct  uacpi_buffer_field
 
struct  uacpi_buffer_index
 
struct  uacpi_mutex
 
struct  uacpi_event
 
struct  uacpi_address_space_handler
 
struct  uacpi_address_space_handlers
 
struct  uacpi_device_notify_handler
 
struct  uacpi_handlers
 
struct  uacpi_operation_region
 
struct  uacpi_device
 
struct  uacpi_processor
 
struct  uacpi_thermal_zone
 
struct  uacpi_power_resource
 
struct  uacpi_control_method
 
struct  uacpi_field_unit
 
struct  uacpi_object
 

Macros

#define UACPI_ADDRESS_SPACE_HANDLER_DEFAULT   (1 << 0)
 
#define UACPI_OP_REGION_STATE_REG_EXECUTED   (1 << 0)
 
#define UACPI_OP_REGION_STATE_ATTACHED   (1 << 1)
 

Typedefs

typedef struct uacpi_buffer uacpi_buffer
 
typedef struct uacpi_package uacpi_package
 
typedef struct uacpi_buffer_field uacpi_buffer_field
 
typedef struct uacpi_buffer_index uacpi_buffer_index
 
typedef struct uacpi_mutex uacpi_mutex
 
typedef struct uacpi_event uacpi_event
 
typedef struct uacpi_address_space_handler uacpi_address_space_handler
 
typedef struct uacpi_address_space_handlers uacpi_address_space_handlers
 
typedef struct uacpi_device_notify_handler uacpi_device_notify_handler
 
typedef struct uacpi_handlers uacpi_handlers
 
typedef struct uacpi_operation_region uacpi_operation_region
 
typedef struct uacpi_device uacpi_device
 
typedef struct uacpi_processor uacpi_processor
 
typedef struct uacpi_thermal_zone uacpi_thermal_zone
 
typedef struct uacpi_power_resource uacpi_power_resource
 
typedef uacpi_status(* uacpi_native_call_handler) (uacpi_handle ctx, uacpi_object *retval)
 
typedef struct uacpi_control_method uacpi_control_method
 
typedef enum uacpi_access_type uacpi_access_type
 
typedef enum uacpi_lock_rule uacpi_lock_rule
 
typedef enum uacpi_update_rule uacpi_update_rule
 
typedef enum uacpi_field_unit_kind uacpi_field_unit_kind
 
typedef struct uacpi_field_unit uacpi_field_unit
 
typedef struct uacpi_object uacpi_object
 

Enumerations

enum  uacpi_reference_kind {
  UACPI_REFERENCE_KIND_REFOF = 0 , UACPI_REFERENCE_KIND_LOCAL = 1 , UACPI_REFERENCE_KIND_ARG = 2 , UACPI_REFERENCE_KIND_NAMED = 3 ,
  UACPI_REFERENCE_KIND_PKG_INDEX = 4
}
 
enum  uacpi_string_kind { UACPI_STRING_KIND_NORMAL = 0 , UACPI_STRING_KIND_PATH }
 
enum  uacpi_access_type {
  UACPI_ACCESS_TYPE_ANY = 0 , UACPI_ACCESS_TYPE_BYTE = 1 , UACPI_ACCESS_TYPE_WORD = 2 , UACPI_ACCESS_TYPE_DWORD = 3 ,
  UACPI_ACCESS_TYPE_QWORD = 4 , UACPI_ACCESS_TYPE_BUFFER = 5
}
 
enum  uacpi_lock_rule { UACPI_LOCK_RULE_NO_LOCK = 0 , UACPI_LOCK_RULE_LOCK = 1 }
 
enum  uacpi_update_rule { UACPI_UPDATE_RULE_PRESERVE = 0 , UACPI_UPDATE_RULE_WRITE_AS_ONES = 1 , UACPI_UPDATE_RULE_WRITE_AS_ZEROES = 2 }
 
enum  uacpi_field_unit_kind { UACPI_FIELD_UNIT_KIND_NORMAL = 0 , UACPI_FIELD_UNIT_KIND_INDEX = 1 , UACPI_FIELD_UNIT_KIND_BANK = 2 }
 
enum  uacpi_assign_behavior { UACPI_ASSIGN_BEHAVIOR_DEEP_COPY , UACPI_ASSIGN_BEHAVIOR_SHALLOW_COPY }
 
enum  uacpi_prealloc_objects { UACPI_PREALLOC_OBJECTS_NO , UACPI_PREALLOC_OBJECTS_YES }
 

Functions

uacpi_objectuacpi_create_object (uacpi_object_type type)
 
uacpi_status uacpi_object_assign (uacpi_object *dst, uacpi_object *src, enum uacpi_assign_behavior)
 
void uacpi_object_attach_child (uacpi_object *parent, uacpi_object *child)
 
void uacpi_object_detach_child (uacpi_object *parent)
 
struct uacpi_objectuacpi_create_internal_reference (enum uacpi_reference_kind kind, uacpi_object *child)
 
uacpi_objectuacpi_unwrap_internal_reference (uacpi_object *object)
 
uacpi_bool uacpi_package_fill (uacpi_package *pkg, uacpi_size num_elements, enum uacpi_prealloc_objects prealloc_objects)
 
uacpi_mutexuacpi_create_mutex (void)
 
void uacpi_mutex_unref (uacpi_mutex *)
 
void uacpi_method_unref (uacpi_control_method *)
 
void uacpi_address_space_handler_unref (uacpi_address_space_handler *handler)
 
void uacpi_buffer_to_view (uacpi_buffer *, uacpi_data_view *)
 

Macro Definition Documentation

◆ UACPI_ADDRESS_SPACE_HANDLER_DEFAULT

#define UACPI_ADDRESS_SPACE_HANDLER_DEFAULT   (1 << 0)

Definition at line 73 of file types.h.

◆ UACPI_OP_REGION_STATE_ATTACHED

#define UACPI_OP_REGION_STATE_ATTACHED   (1 << 1)

Definition at line 114 of file types.h.

◆ UACPI_OP_REGION_STATE_REG_EXECUTED

#define UACPI_OP_REGION_STATE_REG_EXECUTED   (1 << 0)

Definition at line 111 of file types.h.

Typedef Documentation

◆ uacpi_access_type

◆ uacpi_address_space_handler

◆ uacpi_address_space_handlers

◆ uacpi_buffer

◆ uacpi_buffer_field

◆ uacpi_buffer_index

◆ uacpi_control_method

◆ uacpi_device

◆ uacpi_device_notify_handler

◆ uacpi_event

◆ uacpi_field_unit

◆ uacpi_field_unit_kind

◆ uacpi_handlers

◆ uacpi_lock_rule

◆ uacpi_mutex

◆ uacpi_native_call_handler

typedef uacpi_status(* uacpi_native_call_handler) (uacpi_handle ctx, uacpi_object *retval)

Definition at line 163 of file types.h.

◆ uacpi_object

◆ uacpi_operation_region

◆ uacpi_package

◆ uacpi_power_resource

◆ uacpi_processor

◆ uacpi_thermal_zone

◆ uacpi_update_rule

Enumeration Type Documentation

◆ uacpi_access_type

Enumerator
UACPI_ACCESS_TYPE_ANY 
UACPI_ACCESS_TYPE_BYTE 
UACPI_ACCESS_TYPE_WORD 
UACPI_ACCESS_TYPE_DWORD 
UACPI_ACCESS_TYPE_QWORD 
UACPI_ACCESS_TYPE_BUFFER 

Definition at line 183 of file types.h.

183 {
uacpi_access_type
Definition: types.h:183
@ UACPI_ACCESS_TYPE_WORD
Definition: types.h:186
@ UACPI_ACCESS_TYPE_ANY
Definition: types.h:184
@ UACPI_ACCESS_TYPE_BUFFER
Definition: types.h:189
@ UACPI_ACCESS_TYPE_DWORD
Definition: types.h:187
@ UACPI_ACCESS_TYPE_BYTE
Definition: types.h:185
@ UACPI_ACCESS_TYPE_QWORD
Definition: types.h:188

◆ uacpi_assign_behavior

Enumerator
UACPI_ASSIGN_BEHAVIOR_DEEP_COPY 
UACPI_ASSIGN_BEHAVIOR_SHALLOW_COPY 

Definition at line 275 of file types.h.

275 {
278};
@ UACPI_ASSIGN_BEHAVIOR_DEEP_COPY
Definition: types.h:276
@ UACPI_ASSIGN_BEHAVIOR_SHALLOW_COPY
Definition: types.h:277

◆ uacpi_field_unit_kind

Enumerator
UACPI_FIELD_UNIT_KIND_NORMAL 
UACPI_FIELD_UNIT_KIND_INDEX 
UACPI_FIELD_UNIT_KIND_BANK 

Definition at line 203 of file types.h.

203 {
uacpi_field_unit_kind
Definition: types.h:203
@ UACPI_FIELD_UNIT_KIND_NORMAL
Definition: types.h:204
@ UACPI_FIELD_UNIT_KIND_BANK
Definition: types.h:206
@ UACPI_FIELD_UNIT_KIND_INDEX
Definition: types.h:205

◆ uacpi_lock_rule

Enumerator
UACPI_LOCK_RULE_NO_LOCK 
UACPI_LOCK_RULE_LOCK 

Definition at line 192 of file types.h.

192 {
uacpi_lock_rule
Definition: types.h:192
@ UACPI_LOCK_RULE_NO_LOCK
Definition: types.h:193
@ UACPI_LOCK_RULE_LOCK
Definition: types.h:194

◆ uacpi_prealloc_objects

Enumerator
UACPI_PREALLOC_OBJECTS_NO 
UACPI_PREALLOC_OBJECTS_YES 

Definition at line 291 of file types.h.

291 {
294};
@ UACPI_PREALLOC_OBJECTS_YES
Definition: types.h:293
@ UACPI_PREALLOC_OBJECTS_NO
Definition: types.h:292

◆ uacpi_reference_kind

Enumerator
UACPI_REFERENCE_KIND_REFOF 
UACPI_REFERENCE_KIND_LOCAL 
UACPI_REFERENCE_KIND_ARG 
UACPI_REFERENCE_KIND_NAMED 
UACPI_REFERENCE_KIND_PKG_INDEX 

Definition at line 10 of file types.h.

10 {
16};
@ UACPI_REFERENCE_KIND_LOCAL
Definition: types.h:12
@ UACPI_REFERENCE_KIND_ARG
Definition: types.h:13
@ UACPI_REFERENCE_KIND_REFOF
Definition: types.h:11
@ UACPI_REFERENCE_KIND_PKG_INDEX
Definition: types.h:15
@ UACPI_REFERENCE_KIND_NAMED
Definition: types.h:14

◆ uacpi_string_kind

Enumerator
UACPI_STRING_KIND_NORMAL 
UACPI_STRING_KIND_PATH 

Definition at line 19 of file types.h.

19 {
22};
@ UACPI_STRING_KIND_PATH
Definition: types.h:21
@ UACPI_STRING_KIND_NORMAL
Definition: types.h:20

◆ uacpi_update_rule

Enumerator
UACPI_UPDATE_RULE_PRESERVE 
UACPI_UPDATE_RULE_WRITE_AS_ONES 
UACPI_UPDATE_RULE_WRITE_AS_ZEROES 

Definition at line 197 of file types.h.

197 {
uacpi_update_rule
Definition: types.h:197
@ UACPI_UPDATE_RULE_PRESERVE
Definition: types.h:198
@ UACPI_UPDATE_RULE_WRITE_AS_ZEROES
Definition: types.h:200
@ UACPI_UPDATE_RULE_WRITE_AS_ONES
Definition: types.h:199

Function Documentation

◆ uacpi_address_space_handler_unref()

void uacpi_address_space_handler_unref ( uacpi_address_space_handler handler)

Definition at line 548 of file types.c.

549{
552 );
553}
UINT(* handler)(MSIPACKAGE *)
Definition: action.c:7512
static void free_address_space_handler(uacpi_handle handle)
Definition: types.c:508
void uacpi_shareable_unref_and_delete_if_last(uacpi_handle, void(*do_free)(uacpi_handle))
Definition: shareable.c:51

Referenced by region_uninstall_handler(), and uacpi_uninstall_address_space_handler().

◆ uacpi_buffer_to_view()

void uacpi_buffer_to_view ( uacpi_buffer buf,
uacpi_data_view out_view 
)

Definition at line 1034 of file types.c.

1035{
1036 out_view->bytes = buf->byte_data;
1037 out_view->length = buf->size;
1038}
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
uacpi_size length
Definition: types.h:99
uacpi_u8 * bytes
Definition: types.h:90

Referenced by extract_native_resources_from_method(), handle_concatenate_res(), and uacpi_object_do_get_string_or_buffer().

◆ uacpi_create_internal_reference()

struct uacpi_object * uacpi_create_internal_reference ( enum uacpi_reference_kind  kind,
uacpi_object child 
)

Definition at line 1453 of file types.c.

1456{
1458
1461 return ret;
1462
1463 ret->flags = kind;
1465 return ret;
1466}
#define uacpi_unlikely(expr)
Definition: compiler.h:58
#define UACPI_NULL
Definition: types.h:33
@ UACPI_OBJECT_REFERENCE
Definition: types.h:122
return ret
Definition: mutex.c:146
uacpi_object * uacpi_create_object(uacpi_object_type type)
Definition: types.c:327
void uacpi_object_attach_child(uacpi_object *parent, uacpi_object *child)
Definition: types.c:943
static HWND child
Definition: cursoricon.c:298

Referenced by create_named_scope(), frame_push_args(), handle_arg_or_local(), handle_create_buffer_field(), handle_create_data_region(), handle_create_field(), handle_create_method(), handle_create_mutex_or_event(), handle_create_named(), handle_create_op_region(), handle_index(), and uacpi_initialize_namespace().

◆ uacpi_create_mutex()

uacpi_mutex * uacpi_create_mutex ( void  )

Definition at line 181 of file types.c.

182{
184
187 return UACPI_NULL;
188
190
192 if (mutex->handle == UACPI_NULL) {
193 uacpi_free(mutex, sizeof(*mutex));
194 return UACPI_NULL;
195 }
196
198 return mutex;
199}
#define UACPI_THREAD_ID_NONE
Definition: arch_helpers.h:35
#define uacpi_kernel_alloc_zeroed
Definition: stdlib.h:127
#define uacpi_free(mem, _)
Definition: stdlib.h:96
uacpi_handle uacpi_kernel_create_mutex(void)
Definition: uacpiosl.c:139
void uacpi_shareable_init(uacpi_handle)
Definition: shareable.c:9
Definition: module.h:456

Referenced by enter_method(), and mutex_alloc().

◆ uacpi_create_object()

uacpi_object * uacpi_create_object ( uacpi_object_type  type)

◆ uacpi_method_unref()

void uacpi_method_unref ( uacpi_control_method method)

Definition at line 648 of file types.c.

649{
651}
method
Definition: dragdrop.c:54
static void free_method(uacpi_handle handle)
Definition: types.c:635

Referenced by call_frame_clear(), free_object_storage(), and uacpi_eval().

◆ uacpi_mutex_unref()

void uacpi_mutex_unref ( uacpi_mutex mutex)

Definition at line 492 of file types.c.

493{
494 if (mutex == UACPI_NULL)
495 return;
496
498}
static void free_mutex(uacpi_handle handle)
Definition: types.c:484

Referenced by free_object_storage(), held_mutexes_array_remove_and_release(), and uacpi_deinitialize_namespace().

◆ uacpi_object_assign()

uacpi_status uacpi_object_assign ( uacpi_object dst,
uacpi_object src,
enum  uacpi_assign_behavior 
)

Definition at line 1360 of file types.c.

1362{
1364
1365 if (src == dst)
1366 return ret;
1367
1368 switch (dst->type) {
1371 break;
1376 case UACPI_OBJECT_MUTEX:
1377 case UACPI_OBJECT_EVENT:
1382 break;
1383 default:
1384 break;
1385 }
1386
1387 switch (src->type) {
1389 case UACPI_OBJECT_DEBUG:
1390 break;
1393 dst->flags = src->flags;
1394 ret = assign_buffer(dst, src, behavior);
1395 break;
1397 dst->buffer_field = src->buffer_field;
1398 uacpi_shareable_ref(dst->buffer_field.backing);
1399 break;
1401 dst->buffer_index = src->buffer_index;
1402 uacpi_shareable_ref(dst->buffer_index.buffer);
1403 break;
1405 dst->integer = src->integer;
1406 break;
1408 dst->method = src->method;
1409 uacpi_shareable_ref(dst->method);
1410 break;
1411 case UACPI_OBJECT_MUTEX:
1412 ret = assign_mutex(dst, src, behavior);
1413 break;
1414 case UACPI_OBJECT_EVENT:
1415 ret = assign_event(dst, src, behavior);
1416 break;
1418 dst->op_region = src->op_region;
1419 uacpi_shareable_ref(dst->op_region);
1420 break;
1422 ret = assign_package(dst, src, behavior);
1423 break;
1425 dst->field_unit = src->field_unit;
1426 uacpi_shareable_ref(dst->field_unit);
1427 break;
1429 uacpi_object_attach_child(dst, src->inner_object);
1430 break;
1432 dst->processor = src->processor;
1433 uacpi_shareable_ref(dst->processor);
1434 break;
1436 dst->device = src->device;
1437 uacpi_shareable_ref(dst->device);
1438 break;
1440 dst->thermal_zone = src->thermal_zone;
1441 uacpi_shareable_ref(dst->thermal_zone);
1442 break;
1443 default:
1445 }
1446
1447 if (ret == UACPI_STATUS_OK)
1448 dst->type = src->type;
1449
1450 return ret;
1451}
uacpi_status
Definition: status.h:10
@ UACPI_STATUS_UNIMPLEMENTED
Definition: status.h:19
@ UACPI_STATUS_OK
Definition: status.h:11
@ UACPI_OBJECT_EVENT
Definition: types.h:112
@ UACPI_OBJECT_METHOD
Definition: types.h:113
@ UACPI_OBJECT_BUFFER
Definition: types.h:108
@ UACPI_OBJECT_STRING
Definition: types.h:107
@ UACPI_OBJECT_PROCESSOR
Definition: types.h:117
@ UACPI_OBJECT_DEVICE
Definition: types.h:111
@ UACPI_OBJECT_PACKAGE
Definition: types.h:109
@ UACPI_OBJECT_UNINITIALIZED
Definition: types.h:105
@ UACPI_OBJECT_MUTEX
Definition: types.h:114
@ UACPI_OBJECT_DEBUG
Definition: types.h:120
@ UACPI_OBJECT_INTEGER
Definition: types.h:106
@ UACPI_OBJECT_BUFFER_FIELD
Definition: types.h:119
@ UACPI_OBJECT_OPERATION_REGION
Definition: types.h:115
@ UACPI_OBJECT_FIELD_UNIT
Definition: types.h:110
@ UACPI_OBJECT_THERMAL_ZONE
Definition: types.h:118
@ UACPI_OBJECT_BUFFER_INDEX
Definition: types.h:123
static uacpi_status assign_event(uacpi_object *dst, uacpi_object *src, enum uacpi_assign_behavior behavior)
Definition: types.c:915
static uacpi_status assign_package(uacpi_object *dst, uacpi_object *src, enum uacpi_assign_behavior behavior)
Definition: types.c:931
void uacpi_object_detach_child(uacpi_object *parent)
Definition: types.c:959
static uacpi_status assign_buffer(uacpi_object *dst, uacpi_object *src, enum uacpi_assign_behavior behavior)
Definition: types.c:791
static uacpi_status assign_mutex(uacpi_object *dst, uacpi_object *src, enum uacpi_assign_behavior behavior)
Definition: types.c:897
static void free_object_storage(uacpi_object *obj)
Definition: types.c:653
GLenum src
Definition: glext.h:6340
GLenum GLenum dst
Definition: glext.h:6340
uacpi_u32 uacpi_shareable_ref(uacpi_handle)
Definition: shareable.c:31

Referenced by copy_object_to_reference(), deep_copy_package_no_recurse(), exec_op(), handle_package(), handle_ref_or_deref_of(), handle_return(), store_to_reference(), uacpi_eval(), uacpi_object_assign_integer(), uacpi_object_assign_package(), uacpi_object_assign_reference(), and uacpi_object_do_assign_buffer().

◆ uacpi_object_attach_child()

void uacpi_object_attach_child ( uacpi_object parent,
uacpi_object child 
)

Definition at line 943 of file types.c.

944{
945 uacpi_u32 refs_to_add;
946
947 parent->inner_object = child;
948
951 return;
952 }
953
954 refs_to_add = uacpi_shareable_refcount(parent);
955 while (refs_to_add--)
957}
uint32_t uacpi_u32
Definition: types.h:21
static void make_chain_bugged(uacpi_object *obj)
Definition: types.c:713
void uacpi_object_ref(uacpi_object *obj)
Definition: types.c:727
r parent
Definition: btrfs.c:3010
uacpi_bool uacpi_bugged_shareable(uacpi_handle)
Definition: shareable.c:15
uacpi_u32 uacpi_shareable_refcount(uacpi_handle)
Definition: shareable.c:65

Referenced by object_replace_child(), uacpi_create_internal_reference(), uacpi_object_assign(), uacpi_object_assign_reference(), and uacpi_object_create_reference().

◆ uacpi_object_detach_child()

void uacpi_object_detach_child ( uacpi_object parent)

Definition at line 959 of file types.c.

960{
961 uacpi_u32 refs_to_remove;
963
964 child = parent->inner_object;
965 parent->inner_object = UACPI_NULL;
966
968 return;
969
970 refs_to_remove = uacpi_shareable_refcount(parent);
971 while (refs_to_remove--)
973}
void uacpi_object_unref(uacpi_object *obj)
Definition: types.c:755

Referenced by object_replace_child(), and uacpi_object_assign().

◆ uacpi_package_fill()

uacpi_bool uacpi_package_fill ( uacpi_package pkg,
uacpi_size  num_elements,
enum uacpi_prealloc_objects  prealloc_objects 
)

Definition at line 124 of file types.c.

128{
130
131 if (uacpi_unlikely(num_elements == 0))
132 return UACPI_TRUE;
133
135 num_elements * sizeof(uacpi_handle)
136 );
137 if (uacpi_unlikely(pkg->objects == UACPI_NULL))
138 return UACPI_FALSE;
139
140 pkg->count = num_elements;
141
142 if (prealloc_objects == UACPI_PREALLOC_OBJECTS_YES) {
143 for (i = 0; i < num_elements; ++i) {
145
146 if (uacpi_unlikely(pkg->objects[i] == UACPI_NULL))
147 return UACPI_FALSE;
148 }
149 }
150
151 return UACPI_TRUE;
152}
size_t uacpi_size
Definition: types.h:37
#define UACPI_FALSE
Definition: types.h:30
#define UACPI_TRUE
Definition: types.h:29
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
uacpi_object ** objects
Definition: types.h:36
uacpi_size count
Definition: types.h:37

Referenced by handle_package(), and package_alloc().

◆ uacpi_unwrap_internal_reference()

uacpi_object * uacpi_unwrap_internal_reference ( uacpi_object object)

Definition at line 1468 of file types.c.

1469{
1470 for (;;) {
1471 if (object->type != UACPI_OBJECT_REFERENCE ||
1474 return object;
1475
1476 object = object->inner_object;
1477 }
1478}

Referenced by copy_object_to_reference(), debug_store(), exec_op(), handle_event_ctl(), handle_mutex_ctl(), handle_package(), method_get_ret_object(), store_to_reference(), store_to_target(), uacpi_namespace_node_get_object(), and uacpi_osi().