introspect.h File Reference
Include dependency graph for introspect.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | pw_core_info
| The core information. More...
struct | pw_module_info
| The module information. More...
struct | pw_client_info
| The client information. More...
struct | pw_node_info
| The node information. More...
struct | pw_port_info
struct | pw_factory_info
| The factory information. More...
struct | pw_link_info
| The link information. More...

## Macros

#define | PW_CORE_CHANGE_MASK_USER_NAME (1 << 0)
#define | PW_CORE_CHANGE_MASK_HOST_NAME (1 << 1)
#define | PW_CORE_CHANGE_MASK_VERSION (1 << 2)
#define | PW_CORE_CHANGE_MASK_NAME (1 << 3)
#define | PW_CORE_CHANGE_MASK_COOKIE (1 << 4)
#define | PW_CORE_CHANGE_MASK_PROPS (1 << 5)
#define | PW_CORE_CHANGE_MASK_ALL (~0)
#define | PW_MODULE_CHANGE_MASK_NAME (1 << 0)
#define | PW_MODULE_CHANGE_MASK_FILENAME (1 << 1)
#define | PW_MODULE_CHANGE_MASK_ARGS (1 << 2)
#define | PW_MODULE_CHANGE_MASK_PROPS (1 << 3)
#define | PW_CLIENT_CHANGE_MASK_PROPS (1 << 0)
#define | PW_NODE_CHANGE_MASK_NAME (1 << 0)
#define | PW_NODE_CHANGE_MASK_INPUT_PORTS (1 << 1)
#define | PW_NODE_CHANGE_MASK_OUTPUT_PORTS (1 << 2)
#define | PW_NODE_CHANGE_MASK_STATE (1 << 3)
#define | PW_NODE_CHANGE_MASK_PROPS (1 << 4)
#define | PW_NODE_CHANGE_MASK_ENUM_PARAMS (1 << 5)
#define | PW_PORT_CHANGE_MASK_NAME (1 << 0)
#define | PW_PORT_CHANGE_MASK_PROPS (1 << 1)
#define | PW_PORT_CHANGE_MASK_ENUM_PARAMS (1 << 2)
#define | PW_FACTORY_CHANGE_MASK_PROPS (1 << 0)
#define | PW_LINK_CHANGE_MASK_OUTPUT (1 << 0)
#define | PW_LINK_CHANGE_MASK_INPUT (1 << 1)
#define | PW_LINK_CHANGE_MASK_FORMAT (1 << 2)
#define | PW_LINK_CHANGE_MASK_PROPS (1 << 3)

## Enumerations

enum | pw_node_state { PW_NODE_STATE_ERROR = -1, PW_NODE_STATE_CREATING = 0, PW_NODE_STATE_SUSPENDED = 1, PW_NODE_STATE_IDLE = 2, PW_NODE_STATE_RUNNING = 3 }
| The different node states. More...
enum | pw_direction { PW_DIRECTION_INPUT = SPA_DIRECTION_INPUT, PW_DIRECTION_OUTPUT = SPA_DIRECTION_OUTPUT }
| The direction of a port. More...
enum | pw_link_state { PW_LINK_STATE_ERROR = -2, PW_LINK_STATE_UNLINKED = -1, PW_LINK_STATE_INIT = 0, PW_LINK_STATE_NEGOTIATING = 1, PW_LINK_STATE_ALLOCATING = 2, PW_LINK_STATE_PAUSED = 3, PW_LINK_STATE_RUNNING = 4 }
| The different link states. More...

## Functions

struct pw_node_info * | pw_node_info_update (struct pw_node_info *info, const struct pw_node_info *update)
void | pw_node_info_free (struct pw_node_info *info)
struct pw_port_info * | pw_port_info_update (struct pw_port_info *info, const struct pw_port_info *update)
void | pw_port_info_free (struct pw_port_info *info)
struct pw_factory_info * | pw_factory_info_update (struct pw_factory_info *info, const struct pw_factory_info *update)
void | pw_factory_info_free (struct pw_factory_info *info)
struct pw_link_info * | pw_link_info_update (struct pw_link_info *info, const struct pw_link_info *update)
void | pw_link_info_free (struct pw_link_info *info)

## Macro Definition Documentation

## PW_CLIENT_CHANGE_MASK_PROPS

#define PW_CLIENT_CHANGE_MASK_PROPS (1 << 0)

Referenced by pw_client_info_update(), and pw_client::pw_client_update_properties().

## PW_CORE_CHANGE_MASK_ALL

#define PW_CORE_CHANGE_MASK_ALL (~0)

## PW_CORE_CHANGE_MASK_COOKIE

#define PW_CORE_CHANGE_MASK_COOKIE (1 << 4)

Referenced by pw_core_info_update().

## PW_CORE_CHANGE_MASK_HOST_NAME

#define PW_CORE_CHANGE_MASK_HOST_NAME (1 << 1)

Referenced by pw_core_info_update().

## PW_CORE_CHANGE_MASK_NAME

#define PW_CORE_CHANGE_MASK_NAME (1 << 3)

Referenced by pw_core_info_update().

## PW_CORE_CHANGE_MASK_PROPS

#define PW_CORE_CHANGE_MASK_PROPS (1 << 5)

Referenced by pw_core_info_update(), and pw_core::pw_core_update_properties().

## PW_CORE_CHANGE_MASK_USER_NAME

#define PW_CORE_CHANGE_MASK_USER_NAME (1 << 0)

Referenced by pw_core_info_update().

## PW_CORE_CHANGE_MASK_VERSION

#define PW_CORE_CHANGE_MASK_VERSION (1 << 2)

Referenced by pw_core_info_update().

## PW_FACTORY_CHANGE_MASK_PROPS

#define PW_FACTORY_CHANGE_MASK_PROPS (1 << 0)

Referenced by pw_factory_info_update().

## PW_LINK_CHANGE_MASK_FORMAT

#define PW_LINK_CHANGE_MASK_FORMAT (1 << 2)

Referenced by pw_link_info_update().

## PW_LINK_CHANGE_MASK_INPUT

#define PW_LINK_CHANGE_MASK_INPUT (1 << 1)

Referenced by pw_link_info_update().

## PW_LINK_CHANGE_MASK_OUTPUT

#define PW_LINK_CHANGE_MASK_OUTPUT (1 << 0)

Referenced by pw_link_info_update().

## PW_LINK_CHANGE_MASK_PROPS

#define PW_LINK_CHANGE_MASK_PROPS (1 << 3)

## PW_MODULE_CHANGE_MASK_ARGS

#define PW_MODULE_CHANGE_MASK_ARGS (1 << 2)

Referenced by pw_module_info_update().

## PW_MODULE_CHANGE_MASK_FILENAME

#define PW_MODULE_CHANGE_MASK_FILENAME (1 << 1)

Referenced by pw_module_info_update().

## PW_MODULE_CHANGE_MASK_NAME

#define PW_MODULE_CHANGE_MASK_NAME (1 << 0)

Referenced by pw_module_info_update().

## PW_MODULE_CHANGE_MASK_PROPS

#define PW_MODULE_CHANGE_MASK_PROPS (1 << 3)

Referenced by pw_module_info_update().

## PW_NODE_CHANGE_MASK_ENUM_PARAMS

#define PW_NODE_CHANGE_MASK_ENUM_PARAMS (1 << 5)

## PW_NODE_CHANGE_MASK_INPUT_PORTS

#define PW_NODE_CHANGE_MASK_INPUT_PORTS (1 << 1)

Referenced by pw_node_info_update(), pw_node_update_ports(), and pw_port_add().

## PW_NODE_CHANGE_MASK_NAME

#define PW_NODE_CHANGE_MASK_NAME (1 << 0)

Referenced by pw_node_info_update().

## PW_NODE_CHANGE_MASK_OUTPUT_PORTS

#define PW_NODE_CHANGE_MASK_OUTPUT_PORTS (1 << 2)

Referenced by pw_node_info_update(), pw_node_update_ports(), and pw_port_add().

## PW_NODE_CHANGE_MASK_PROPS

#define PW_NODE_CHANGE_MASK_PROPS (1 << 4)

Referenced by pw_node_info_update().

## PW_NODE_CHANGE_MASK_STATE

#define PW_NODE_CHANGE_MASK_STATE (1 << 3)

Referenced by pw_node_info_update().

## PW_PORT_CHANGE_MASK_ENUM_PARAMS

#define PW_PORT_CHANGE_MASK_ENUM_PARAMS (1 << 2)

## PW_PORT_CHANGE_MASK_NAME

#define PW_PORT_CHANGE_MASK_NAME (1 << 0)

Referenced by pw_port_info_update().

## PW_PORT_CHANGE_MASK_PROPS

#define PW_PORT_CHANGE_MASK_PROPS (1 << 1)

Referenced by pw_port_info_update(), and pw_port_update_properties().

## Enumeration Type Documentation

## pw_direction

enum pw_direction

The direction of a port.

Enumerator
PW_DIRECTION_INPUT | an input port direction
PW_DIRECTION_OUTPUT | an output port direction

## pw_link_state

enum pw_link_state

The different link states.

Enumerator
PW_LINK_STATE_ERROR | the link is in error
PW_LINK_STATE_UNLINKED | the link is unlinked
PW_LINK_STATE_INIT | the link is initialized
PW_LINK_STATE_NEGOTIATING | the link is negotiating formats
PW_LINK_STATE_ALLOCATING | the link is allocating buffers
PW_LINK_STATE_PAUSED | the link is paused
PW_LINK_STATE_RUNNING | the link is running

## pw_node_state

enum pw_node_state

The different node states.

Enumerator
PW_NODE_STATE_ERROR | error state
PW_NODE_STATE_CREATING | the node is being created
PW_NODE_STATE_SUSPENDED | the node is suspended, the device might be closed
PW_NODE_STATE_IDLE | the node is running but there is no active port
PW_NODE_STATE_RUNNING | the node is running

## Function Documentation

## pw_factory_info_free()

void pw_factory_info_free | ( | struct pw_factory_info * | info | ) |

References pw_factory_info::name, and pw_factory_info::props.

## pw_factory_info_update()

struct pw_factory_info* pw_factory_info_update | ( | struct pw_factory_info * | info,
|  | const struct pw_factory_info * | update
| ) |  |

References pw_factory_info::change_mask, pw_factory_info::id, pw_factory_info::name, pw_factory_info::props, PW_FACTORY_CHANGE_MASK_PROPS, pw_factory_info::type, and pw_factory_info::version.

## pw_link_info_free()

void pw_link_info_free | ( | struct pw_link_info * | info | ) |

References pw_link_info::format.

## pw_link_info_update()

struct pw_link_info* pw_link_info_update | ( | struct pw_link_info * | info,
|  | const struct pw_link_info * | update
| ) |  |

References pw_link_info::change_mask, pw_link_info::format, pw_link_info::id, pw_link_info::input_node_id, pw_link_info::input_port_id, pw_link_info::output_node_id, pw_link_info::output_port_id, PW_LINK_CHANGE_MASK_FORMAT, PW_LINK_CHANGE_MASK_INPUT, PW_LINK_CHANGE_MASK_OUTPUT, and pw_utils::pw_spa_pod_copy().

## pw_node_info_free()

void pw_node_info_free | ( | struct pw_node_info * | info | ) |

References pw_node_info::error, pw_node_info::name, and pw_node_info::props.

## pw_node_info_update()

struct pw_node_info* pw_node_info_update | ( | struct pw_node_info * | info,
|  | const struct pw_node_info * | update
| ) |  |

References pw_node_info::change_mask, pw_node_info::error, pw_node_info::id, pw_node_info::max_input_ports, pw_node_info::max_output_ports, pw_node_info::n_input_ports, pw_node_info::n_output_ports, pw_node_info::name, pw_node_info::props, PW_NODE_CHANGE_MASK_INPUT_PORTS, PW_NODE_CHANGE_MASK_NAME, PW_NODE_CHANGE_MASK_OUTPUT_PORTS, PW_NODE_CHANGE_MASK_PROPS, PW_NODE_CHANGE_MASK_STATE, and pw_node_info::state.

## pw_port_info_free()

void pw_port_info_free | ( | struct pw_port_info * | info | ) |

References pw_port_info::name, and pw_port_info::props.

## pw_port_info_update()

struct pw_port_info* pw_port_info_update | ( | struct pw_port_info * | info,
|  | const struct pw_port_info * | update
| ) |  |

References pw_port_info::change_mask, pw_port_info::id, pw_port_info::name, pw_port_info::props, PW_PORT_CHANGE_MASK_NAME, and PW_PORT_CHANGE_MASK_PROPS.