Lines Matching +full:interface +full:- +full:node

24 #include "libqos-malloc.h"
42 typedef void *(*QOSGetDriver) (void *object, const char *interface);
57 * *after* the node command line, the
62 * *before* the node command line, usually
63 * other non-node represented commands,
64 * like "-fdsev synt"
68 * command line that depend on current node.
71 * devices with same node name
89 * @arg: if @before is non-NULL, pass @arg there.
111 * @get_device: Once a machine-to-test path has been
116 * previous node, the framework will call
119 * node to be taken and getting from them the corresponding
120 * pointer to the actual structure of the next node to
126 * @destructor: Opposite to the node constructor, destroys the object.
128 * performs a complete cleanup of each node allocated field.
155 * qos_node_destroy(): removes and frees a node from the
157 * @key: Name of the node
164 * @key: Name of the node
169 * qos_add_test(): adds a test node @name to the nodes hash table.
171 * @interface: Name of the interface node it consumes
175 * The test will consume a @interface node, and once the
180 * For tests, opts->edge.arg and size_arg represent the arg to pass
183 void qos_add_test(const char *name, const char *interface,
189 * adds it to the node hash table.
193 * This node will be of type QNODE_MACHINE and have @function
200 * but with the possibility to add an optional ", @opts" after -M machine
212 * adds it to the node hash table.
216 * This node will be of type QNODE_DRIVER and have @function
223 * extension of allowing to specify a different node name vs. associated QEMU
225 * @name: Custom, unique name of the node to be created
226 * @qemu_name: Actual (official) QEMU driver name the node shall be
232 * node name, however the chosen node name must always be unique.
241 * @container: Source node that "contains"
242 * @contained: Destination node that "is contained"
248 * If @opts is non-NULL, the arguments after @contained represent a
249 * NULL-terminated list of %QOSGraphEdgeOptions structs, and an
253 * with the same node name contained in a machine/other node
255 * For example, if ``arm/raspi2b`` contains 2 ``generic-sdhci``
261 * qos_node_create_driver("generic-sdhci", constructor);
265 * qos_node_contains("arm/raspi2b", "generic-sdhci", &op1, &op2, NULL);
280 * @producer: Source node that "produces"
281 * @interface: Interface node that "is produced"
283 * This edge will have @producer as source and @interface as destination.
285 void qos_node_produces(const char *producer, const char *interface);
289 * adds it to the edge list mapped to @interface in the
291 * @consumer: Node that "consumes"
292 * @interface: Interface node that "is consumed by"
295 * This edge will have @interface as source and @consumer as destination.
299 void qos_node_consumes(const char *consumer, const char *interface,
349 * qos_machine_new(): instantiate a new machine node
350 * @node: Machine node to be instantiated
355 QOSGraphObject *qos_machine_new(QOSGraphNode *node, QTestState *qts);
358 * qos_driver_new(): instantiate a new driver node
359 * @node: A driver node to be instantiated
360 * @parent: A #QOSGraphObject to be consumed by the new driver node
361 * @alloc: An allocator to be used by the new driver node.
362 * @arg: The argument for the consumed-by edge to @node.
366 QOSGraphObject *qos_driver_new(QOSGraphNode *node, QOSGraphObject *parent,
381 * mind: only tests with a path down from the actual test case node (leaf) up
382 * to the graph's root node are actually executed by the qtest framework. And