pub enum NamedObject<'a> {
Show 19 variants
BankField {
region_name: NameString,
bank_name: NameString,
bank_value: TermArg<'a>,
flags: FieldFlags,
elements: Vec<FieldElement<'a>>,
},
CreateBitField {
source_buffer: TermArg<'a>,
bit_index: TermArg<'a>,
name: NameString,
},
CreateByteField {
source_buffer: TermArg<'a>,
byte_index: TermArg<'a>,
name: NameString,
},
CreateDWordField {
source_buffer: TermArg<'a>,
byte_index: TermArg<'a>,
name: NameString,
},
CreateField {
source_buffer: TermArg<'a>,
bit_index: TermArg<'a>,
num_bits: TermArg<'a>,
name: NameString,
},
CreateQWordField {
source_buffer: TermArg<'a>,
byte_index: TermArg<'a>,
name: NameString,
},
CreateWordField {
source_buffer: TermArg<'a>,
byte_index: TermArg<'a>,
name: NameString,
},
DataTableRegion {
name: NameString,
signature: TermArg<'a>,
oem_id: TermArg<'a>,
oem_table_id: TermArg<'a>,
},
Device {
name: NameString,
body: Vec<TermObject<'a>>,
},
Event(NameString),
External {
name: NameString,
object_type: ObjectType,
argument_count: u8,
},
Field {
region_name: NameString,
flags: FieldFlags,
elements: Vec<FieldElement<'a>>,
},
IndexField {
index_name: NameString,
data_name: NameString,
flags: FieldFlags,
elements: Vec<FieldElement<'a>>,
},
Method {
name: NameString,
flags: MethodFlags,
body: Vec<TermObject<'a>>,
},
Mutex {
name: NameString,
sync_level: u8,
},
OperationRegion {
name: NameString,
region_space: RegionSpace,
offset: TermArg<'a>,
length: TermArg<'a>,
},
PowerResource {
name: NameString,
system_level: u8,
resource_order: u16,
body: Vec<TermObject<'a>>,
},
Processor {
name: NameString,
id: u8,
register_block_addr: u32,
register_block_length: u8,
body: Vec<TermObject<'a>>,
},
ThermalZone {
name: NameString,
body: Vec<TermObject<'a>>,
},
}
Expand description
Term that defines an object with a name.
Variants§
BankField
Declare fields that can only be accessed after writing to a bank selector
Fields
region_name: NameString
bank_name: NameString
flags: FieldFlags
elements: Vec<FieldElement<'a>>
CreateBitField
Declare a single-bit field within a buffer
CreateByteField
Create a one-byte-wide field within a buffer
CreateDWordField
Declare a four-byte-wide field within a buffer
CreateField
Declare an arbitrary-width field within a buffer
CreateQWordField
Declare an eight-byte-wide field within a buffer
CreateWordField
Declare a two-byte-wide field within a buffer
DataTableRegion
Allow an ACPI table indexed in the XSDT to be used as a set of fields
Device
Declare a device and its associated fields, methods, and sub-devices
Event(NameString)
Declare a waitable synchronization object
External
Declare an object that is defined in another ACPI table
Field
Declare a group of fields
IndexField
Declare a group of field that must be accessed by writing to an index register and then reading/writing from a data register.
Fields
index_name: NameString
data_name: NameString
flags: FieldFlags
elements: Vec<FieldElement<'a>>
Method
Declare a control method
Mutex
Declare an acquirable mutex
OperationRegion
Declare an address space that can be used by fields
PowerResource
Declare a power resource object
Processor
Declare a processor and associated register block
ThermalZone
Declare a thermal zone namespace
Trait Implementations§
Source§impl<'a> Clone for NamedObject<'a>
impl<'a> Clone for NamedObject<'a>
Source§fn clone(&self) -> NamedObject<'a>
fn clone(&self) -> NamedObject<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'a> Debug for NamedObject<'a>
impl<'a> Debug for NamedObject<'a>
Source§impl<'a> From<NamedObject<'a>> for TermObject<'a>
impl<'a> From<NamedObject<'a>> for TermObject<'a>
Source§fn from(n: NamedObject<'a>) -> TermObject<'a>
fn from(n: NamedObject<'a>) -> TermObject<'a>
Source§impl<'a> Parse<'a> for NamedObject<'a>
Grammar:
impl<'a> Parse<'a> for NamedObject<'a>
Grammar:
NamedObj := DefBankField | DefCreateBitField | DefCreateByteField |
DefCreateDWordField | DefCreateField | DefCreateQWordField |
DefCreateWordField | DefDataRegion | DefExternal | DefOpRegion | DefPowerRes |
DefProcessor | DefThermalZone
NOTE: The AML grammar does not list the following alternatives as part of
NamedObj
, but they are defined in the same place as the others. They are also
valid alternatives for the NamedObject
production in the ASL grammar, so it is
reasonable to assume they were omitted by mistake:
DefDevice
DefEvent
DefField
DefIndexField
DefMethod
DefMutex