Lines Matching +full:int +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;
62 typedef void (device_tree::* tree_write_fn_ptr)(int);
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.
179 * Returns true if this value is a string list (a nul-separated
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
225 * Returns the size (in bytes) of this property value.
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
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.
292 void parse_cells(text_input_buffer &input, int cell_size);
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,
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
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
396 void write_dts(FILE *file, int indent);
398 * Returns the byte offset of the specified property value.
429 * A flag indicating that this node has been marked /omit-if-no-ref/ and
436 * or indirectly, by a node that is not marked /omit-if-no-ref/.
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.
545 return p1->get_key() < p2->get_key();
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.
687 void write_dts(FILE *file, int indent);
699 * Class encapsulating the entire parsed FDT. This is the top-level class,
742 * set to true if a node marked /omit-if-no-ref/ is encountered.
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
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
914 * rather than in the top-level file.
924 void write(int fd);
932 * Returns the node referenced by the property. If this is a tree that
940 void write_binary(int fd);
946 void write_asm(int fd);
950 void write_dts(int fd);
966 node_ptr create_fragment_wrapper(node_ptr &node, int &fragnum);
970 * can circumvent any errors that might normally arise from a non-/ root.
974 node_ptr generate_root(node_ptr &node, int &fragnum);
979 void reassign_fragment_numbers(node_ptr &node, int &delta);
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