Lines Matching +full:bool +full:- +full:property
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
8 * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
56 class property;
70 typedef std::shared_ptr<property> property_ptr;
76 * Map from macros to property pointers.
104 * property-coded arrays will appear simply as binary (or possibly
105 * string, if they happen to be nul-terminated and printable), and must
112 * lists become one property value for each string, however
113 * when read from binary we have a single property value
119 * This property contains a single string.
127 /** This contains a short-form address that should be replaced
128 * by a fully-qualified version. This will only appear when
131 * resolved and the property value will be a string containing
138 * will contain a 32-bit integer that should match the phandle
139 * property of the target node.
143 * An empty property value. This will never appear on a real
144 * property value, it is used by checkers to indicate that no
145 * property values should exist for a property.
149 * The type of this property has not yet been determined.
154 * The type of this property.
160 inline bool is_cross_reference() in is_cross_reference()
167 inline bool is_phandle() in is_phandle()
174 inline bool is_string() in is_string()
179 * Returns true if this value is a string list (a nul-separated
182 inline bool is_string_list() in is_string_list()
189 inline bool is_binary() in is_binary()
194 * Returns this property value as a 32-bit integer. Returns 0 if this
195 * property value is not 32 bits long. The bytes in the property value
196 * are assumed to be in big-endian format, but the return value is in
210 * Writes the property value to the standard output. This uses the
213 * - If the value is nul-terminated and only contains printable
215 * - If it is a multiple of 4 bytes long, then it is printed as cells.
216 * - Otherwise, it is printed as a byte buffer.
220 * Tries to merge adjacent property values, returns true if it succeeds and
223 bool try_to_merge(property_value &other);
225 * Returns the size (in bytes) of this property value.
233 inline bool is_type(value_type v) in is_type()
246 * Writes the property value to the specified file as a quoted string.
251 * Writes the property value to the specified file as a sequence of
252 * 32-bit big-endian cells. This is used when generating DTS.
256 * Writes the property value to the specified file as a sequence of
263 * A value encapsulating a single property. This contains a key, optionally a
266 class property class
269 * The name of this property.
277 * The values in this property.
281 * Value indicating that this is a valid property. If a parse error
284 bool valid;
286 * Parses a string property value, i.e. a value enclosed in double quotes.
290 * Parses one or more 32-bit values enclosed in angle brackets.
307 * Parse a predefined macro definition for a property.
311 * Constructs a new property from two input buffers, pointing to the
316 property(input_buffer &structs, input_buffer &strings);
318 * Parses a new property from the input buffer.
320 property(text_input_buffer &input,
323 bool terminated,
327 * Creates an empty property.
329 property(std::string &&k, string_set &&l=string_set()) in property() function in dtc::fdt::property
334 property(property &p) : key(p.key), labels(p.labels), values(p.values), in property() function in dtc::fdt::property
337 * Factory method for constructing a new property. Attempts to parse a
338 * property from the input, and returns it on success. On any parse
344 * Factory method for constructing a new property. Attempts to parse a
345 * property from the input, and returns it on success. On any parse
351 bool semicolonTerminated=true,
354 * Iterator type used for accessing the values of a property.
358 * Returns an iterator referring to the first value in this property.
365 * Returns an iterator referring to the last value in this property.
372 * Adds a new value to an existing property.
379 * Returns the key for this property.
386 * Writes the property to the specified writer. The property name is a
393 * as the indent level and then write the property in the most
398 * Returns the byte offset of the specified property value.
422 bool name_is_path_reference = false;
429 * A flag indicating that this node has been marked /omit-if-no-ref/ and
433 bool omit_if_no_ref = false;
436 * or indirectly, by a node that is not marked /omit-if-no-ref/.
438 bool used = false;
440 * The type for the property vector.
468 * Adaptor to use children in range-based for loops.
479 * Adaptor to use properties in range-based for loops.
509 bool valid;
515 bool &is_property,
542 static inline bool cmp_properties(property_ptr &p1, property_ptr &p2);
545 return p1->get_key() < p2->get_key();
553 static inline bool cmp_children(node_ptr &c1, node_ptr &c2);
575 * Returns a range suitable for use in a range-based for loop describing
597 * Returns a range suitable for use in a range-based for loop describing
605 * Returns an iterator after the last property of this node.
612 * Returns an iterator for the first property of this node.
622 * cursor on the open brace of the property, after the name and so on
635 * cursor on the open brace of the property, after the name and so on
645 * Returns a property corresponding to the specified key, or 0 if this
646 * node does not contain a property of that name.
650 * Adds a new property to this node.
666 inline void delete_children_if(std::function<bool(node_ptr &)> predicate) in delete_children_if()
699 * Class encapsulating the entire parsed FDT. This is the top-level class,
739 bool valid = true;
742 * set to true if a node marked /omit-if-no-ref/ is encountered.
744 bool garbage_collect = false;
746 * Type used for memory reservations. A reservation is two 64-bit
748 * kernel should not use. The high 32 bits are ignored on 32-bit
762 * duplicate names are stored as (node*)-1.
782 * A collection of property values that are references to other nodes.
787 * Labels collected from top-level /delete-node/ directives.
800 * The property containing the reference.
804 * The property value that contains the reference.
809 * A collection of property values that refer to phandles. These will
810 * be replaced by the value of the phandle property in their
841 * nul-terminated strings, which are not owned by this class and so
868 bool is_plugin = false;
877 * Assign a phandle property to a single node. The next parameter
902 * Garbage collects nodes that have been marked /omit-if-no-ref/ and do not
909 bool garbage_collect_marked_nodes();
914 * rather than in the top-level file.
918 bool &read_header);
930 bool write_symbols = false;
932 * Returns the node referenced by the property. If this is a tree that
970 * can circumvent any errors that might normally arise from a non-/ root.
988 inline bool is_valid() in is_valid()
993 * Mark this tree as needing garbage collection, because an /omit-if-no-ref/
1029 root->sort(); in sort()
1034 * nul-terminated string representing the path. The device tree keeps
1067 bool parse_define(const char *def);