diff options
Diffstat (limited to 'resource_8h.html')
-rw-r--r-- | resource_8h.html | 795 |
1 files changed, 795 insertions, 0 deletions
diff --git a/resource_8h.html b/resource_8h.html new file mode 100644 index 00000000..86905565 --- /dev/null +++ b/resource_8h.html @@ -0,0 +1,795 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> +<meta http-equiv="X-UA-Compatible" content="IE=9"/> +<meta name="generator" content="Doxygen 1.8.15"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>PipeWire: resource.h File Reference</title> +<link href="tabs.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="jquery.js"></script> +<script type="text/javascript" src="dynsections.js"></script> +<link href="navtree.css" rel="stylesheet" type="text/css"/> +<script type="text/javascript" src="resize.js"></script> +<script type="text/javascript" src="navtreedata.js"></script> +<script type="text/javascript" src="navtree.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ + $(document).ready(initResizable); +/* @license-end */</script> +<link href="doxygen.css" rel="stylesheet" type="text/css" /> +</head> +<body> +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> +<div id="titlearea"> +<table cellspacing="0" cellpadding="0"> + <tbody> + <tr style="height: 56px;"> + <td id="projectalign" style="padding-left: 0.5em;"> + <div id="projectname">PipeWire +  <span id="projectnumber">0.2.9</span> + </div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.8.15 --> +<script type="text/javascript" src="menudata.js"></script> +<script type="text/javascript" src="menu.js"></script> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(function() { + initMenu('',false,false,'search.php','Search'); +}); +/* @license-end */</script> +<div id="main-nav"></div> +</div><!-- top --> +<div id="side-nav" class="ui-resizable side-nav-resizable"> + <div id="nav-tree"> + <div id="nav-tree-contents"> + <div id="nav-sync" class="sync"></div> + </div> + </div> + <div id="splitbar" style="-moz-user-select:none;" + class="ui-resizable-handle"> + </div> +</div> +<script type="text/javascript"> +/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ +$(document).ready(function(){initNavTree('resource_8h.html','');}); +/* @license-end */ +</script> +<div id="doc-content"> +<div class="header"> + <div class="summary"> +<a href="#nested-classes">Data Structures</a> | +<a href="#define-members">Macros</a> | +<a href="#func-members">Functions</a> </div> + <div class="headertitle"> +<div class="title">resource.h File Reference</div> </div> +</div><!--header--> +<div class="contents"> +<div class="textblock"><div class="dynheader"> +Include dependency graph for resource.h:</div> +<div class="dyncontent"> +<div class="center"><img src="resource_8h__incl.png" border="0" usemap="#resource_8h" alt=""/></div> +<map name="resource_8h" id="resource_8h"> +<area shape="rect" title=" " alt="" coords="596,5,687,32"/> +<area shape="rect" title=" " alt="" coords="5,229,131,256"/> +<area shape="rect" href="client_8h.html" title=" " alt="" coords="576,80,707,107"/> +<area shape="rect" href="core_8h.html" title=" " alt="" coords="580,155,703,181"/> +<area shape="rect" href="introspect_8h.html" title=" " alt="" coords="249,229,407,256"/> +<area shape="rect" href="properties_8h.html" title=" " alt="" coords="576,379,736,405"/> +<area shape="rect" href="global_8h.html" title=" " alt="" coords="854,304,989,331"/> +<area shape="rect" href="permission_8h.html" title=" " alt="" coords="382,155,549,181"/> +<area shape="rect" title=" " alt="" coords="387,304,509,331"/> +<area shape="rect" href="loop_8h.html" title=" " alt="" coords="584,229,707,256"/> +<area shape="rect" href="factory_8h.html" title=" " alt="" coords="805,229,944,256"/> +<area shape="rect" title=" " alt="" coords="213,304,363,331"/> +<area shape="rect" title=" " alt="" coords="597,453,715,480"/> +<area shape="rect" title=" " alt="" coords="585,304,727,331"/> +</map> +</div> +</div><div class="textblock"><div class="dynheader"> +This graph shows which files directly or indirectly include this file:</div> +<div class="dyncontent"> +<div class="center"><img src="resource_8h__dep__incl.png" border="0" usemap="#resource_8hdep" alt=""/></div> +<map name="resource_8hdep" id="resource_8hdep"> +<area shape="rect" title=" " alt="" coords="1409,5,1500,32"/> +<area shape="rect" href="client_8h.html" title=" " alt="" coords="1419,80,1490,107"/> +<area shape="rect" href="device_8h.html" title=" " alt="" coords="168,304,245,331"/> +<area shape="rect" href="pipewire_8h.html" title=" " alt="" coords="745,528,836,555"/> +<area shape="rect" href="node_8h.html" title=" " alt="" coords="1581,304,1648,331"/> +<area shape="rect" href="factory_8h.html" title=" " alt="" coords="1367,304,1446,331"/> +<area shape="rect" href="client_8c.html" title=" " alt="" coords="2012,453,2081,480"/> +<area shape="rect" href="resource_8c.html" title=" " alt="" coords="255,453,345,480"/> +<area shape="rect" href="core_8h.html" title=" " alt="" coords="1354,155,1417,181"/> +<area shape="rect" href="global_8h.html" title=" " alt="" coords="1492,229,1567,256"/> +<area shape="rect" href="control_8h.html" title=" " alt="" coords="1855,379,1934,405"/> +<area shape="rect" href="core_8c.html" title=" " alt="" coords="224,603,285,629"/> +<area shape="rect" href="port_8h.html" title=" " alt="" coords="1674,379,1734,405"/> +<area shape="rect" href="link_8h.html" title=" " alt="" coords="1775,453,1833,480"/> +<area shape="rect" href="remote_8h.html" title=" " alt="" coords="671,379,753,405"/> +<area shape="rect" href="proxy_8c.html" title=" " alt="" coords="829,453,897,480"/> +<area shape="rect" href="module_8h.html" title=" " alt="" coords="935,379,1017,405"/> +<area shape="rect" href="protocol_8h.html" title=" " alt="" coords="371,229,458,256"/> +<area shape="rect" href="control_8c.html" title=" " alt="" coords="1858,453,1937,480"/> +<area shape="rect" href="link_8c.html" title=" " alt="" coords="1826,528,1883,555"/> +<area shape="rect" href="device_8c.html" title=" " alt="" coords="423,603,499,629"/> +<area shape="rect" href="introspect_8c.html" title=" " alt="" coords="524,603,623,629"/> +<area shape="rect" href="loop_8c.html" title=" " alt="" coords="751,603,812,629"/> +<area shape="rect" href="pipewire_8c.html" title=" " alt="" coords="837,603,926,629"/> +<area shape="rect" href="port_8c.html" title=" " alt="" coords="1411,603,1469,629"/> +<area shape="rect" href="remote_8c.html" title=" " alt="" coords="951,603,1031,629"/> +<area shape="rect" href="stream_8c.html" title=" " alt="" coords="647,603,726,629"/> +<area shape="rect" href="global_8c.html" title=" " alt="" coords="1333,453,1406,480"/> +<area shape="rect" href="node_8c.html" title=" " alt="" coords="1482,453,1547,480"/> +<area shape="rect" href="stream_8h.html" title=" " alt="" coords="623,453,703,480"/> +<area shape="rect" href="factory_8c.html" title=" " alt="" coords="1231,453,1308,480"/> +<area shape="rect" href="module_8c.html" title=" " alt="" coords="972,453,1055,480"/> +<area shape="rect" href="proxy_8h.html" title=" " alt="" coords="756,304,825,331"/> +<area shape="rect" href="protocol_8c.html" title=" " alt="" coords="371,304,458,331"/> +<area shape="rect" href="interfaces_8h.html" title=" " alt="" coords="1043,379,1141,405"/> +</map> +</div> +</div> +<p><a href="resource_8h_source.html">Go to the source code of this file.</a></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> +Data Structures</h2></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structpw__resource__events.html">pw_resource_events</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Resource events. <a href="structpw__resource__events.html#details">More...</a><br /></td></tr> +<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> +Macros</h2></td></tr> +<tr class="memitem:aadff480a3e38ec195e07567c1e46ab54"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aadff480a3e38ec195e07567c1e46ab54">PW_VERSION_RESOURCE_EVENTS</a>   0</td></tr> +<tr class="separator:aadff480a3e38ec195e07567c1e46ab54"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a400f8bdb7b5779db732e3f224b87e07e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a400f8bdb7b5779db732e3f224b87e07e">pw_resource_notify</a>(r, type, event, version, ...)</td></tr> +<tr class="separator:a400f8bdb7b5779db732e3f224b87e07e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a61e286d92a2f528ebe48cb1436ac4eba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a61e286d92a2f528ebe48cb1436ac4eba">pw_resource_call</a>(r, type, method, version, ...)</td></tr> +<tr class="separator:a61e286d92a2f528ebe48cb1436ac4eba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a11df048744c827fbefc328ec7b9dc135"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a11df048744c827fbefc328ec7b9dc135">pw_resource_call_res</a>(r, type, method, version, ...)</td></tr> +<tr class="separator:a11df048744c827fbefc328ec7b9dc135"><td class="memSeparator" colspan="2"> </td></tr> +</table><table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> +Functions</h2></td></tr> +<tr class="memitem:ae9bc3b4567352269420c480127be7810"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ae9bc3b4567352269420c480127be7810">pw_resource_new</a> (struct <a class="el" href="classpw__client.html">pw_client</a> *client, uint32_t id, uint32_t permissions, uint32_t type, uint32_t version, size_t user_data_size)</td></tr> +<tr class="memdesc:ae9bc3b4567352269420c480127be7810"><td class="mdescLeft"> </td><td class="mdescRight">Make a new resource for client. <a href="#ae9bc3b4567352269420c480127be7810">More...</a><br /></td></tr> +<tr class="separator:ae9bc3b4567352269420c480127be7810"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab9e159d75b7efe39bd53b64055244092"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ab9e159d75b7efe39bd53b64055244092">pw_resource_destroy</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:ab9e159d75b7efe39bd53b64055244092"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a resource. <a href="#ab9e159d75b7efe39bd53b64055244092">More...</a><br /></td></tr> +<tr class="separator:ab9e159d75b7efe39bd53b64055244092"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa7213c5651700a4bc6bef6df6cc952e9"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="classpw__client.html">pw_client</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aa7213c5651700a4bc6bef6df6cc952e9">pw_resource_get_client</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:aa7213c5651700a4bc6bef6df6cc952e9"><td class="mdescLeft"> </td><td class="mdescRight">Get the client owning this resource. <a href="#aa7213c5651700a4bc6bef6df6cc952e9">More...</a><br /></td></tr> +<tr class="separator:aa7213c5651700a4bc6bef6df6cc952e9"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af8fe4859dd6826d5eb6c7e28f5519215"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#af8fe4859dd6826d5eb6c7e28f5519215">pw_resource_get_id</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:af8fe4859dd6826d5eb6c7e28f5519215"><td class="mdescLeft"> </td><td class="mdescRight">Get the unique id of this resource. <a href="#af8fe4859dd6826d5eb6c7e28f5519215">More...</a><br /></td></tr> +<tr class="separator:af8fe4859dd6826d5eb6c7e28f5519215"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a332bee9e00671e80bd1d897551aa065d"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a332bee9e00671e80bd1d897551aa065d">pw_resource_get_permissions</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:a332bee9e00671e80bd1d897551aa065d"><td class="mdescLeft"> </td><td class="mdescRight">Get the permissions of this resource. <a href="#a332bee9e00671e80bd1d897551aa065d">More...</a><br /></td></tr> +<tr class="separator:a332bee9e00671e80bd1d897551aa065d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a7c6de11938397e575506360ba3b8b922"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a7c6de11938397e575506360ba3b8b922">pw_resource_get_type</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:a7c6de11938397e575506360ba3b8b922"><td class="mdescLeft"> </td><td class="mdescRight">Get the type of this resource. <a href="#a7c6de11938397e575506360ba3b8b922">More...</a><br /></td></tr> +<tr class="separator:a7c6de11938397e575506360ba3b8b922"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac7d13ba52bc1796d4baca39ddc4a6f0c"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="classpw__protocol.html">pw_protocol</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ac7d13ba52bc1796d4baca39ddc4a6f0c">pw_resource_get_protocol</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:ac7d13ba52bc1796d4baca39ddc4a6f0c"><td class="mdescLeft"> </td><td class="mdescRight">Get the protocol used for this resource. <a href="#ac7d13ba52bc1796d4baca39ddc4a6f0c">More...</a><br /></td></tr> +<tr class="separator:ac7d13ba52bc1796d4baca39ddc4a6f0c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae022953f35be3767c44de0c43fa572e2"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#ae022953f35be3767c44de0c43fa572e2">pw_resource_get_user_data</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:ae022953f35be3767c44de0c43fa572e2"><td class="mdescLeft"> </td><td class="mdescRight">Get the user data for the resource, the size was given in <a class="el" href="resource_8c.html#a13bc34ff7eecd313331ff6d95e8c95a5">pw_resource_new</a>. <a href="#ae022953f35be3767c44de0c43fa572e2">More...</a><br /></td></tr> +<tr class="separator:ae022953f35be3767c44de0c43fa572e2"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a119a41be865f03ef8736977acba8a323"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a119a41be865f03ef8736977acba8a323">pw_resource_add_listener</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource, struct spa_hook *listener, const struct <a class="el" href="structpw__resource__events.html">pw_resource_events</a> *events, void *<a class="el" href="structdata.html">data</a>)</td></tr> +<tr class="memdesc:a119a41be865f03ef8736977acba8a323"><td class="mdescLeft"> </td><td class="mdescRight">Add an event listener. <a href="#a119a41be865f03ef8736977acba8a323">More...</a><br /></td></tr> +<tr class="separator:a119a41be865f03ef8736977acba8a323"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa2d8c1bd7008acbd8fe30e47e6c08d3f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aa2d8c1bd7008acbd8fe30e47e6c08d3f">pw_resource_add_object_listener</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource, struct spa_hook *listener, const void *funcs, void *<a class="el" href="structdata.html">data</a>)</td></tr> +<tr class="memdesc:aa2d8c1bd7008acbd8fe30e47e6c08d3f"><td class="mdescLeft"> </td><td class="mdescRight">Set the resource implementation. <a href="#aa2d8c1bd7008acbd8fe30e47e6c08d3f">More...</a><br /></td></tr> +<tr class="separator:aa2d8c1bd7008acbd8fe30e47e6c08d3f"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a9edff924e88ea8ae7d0b74065ad7415a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#a9edff924e88ea8ae7d0b74065ad7415a">pw_resource_ping</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource, int seq)</td></tr> +<tr class="memdesc:a9edff924e88ea8ae7d0b74065ad7415a"><td class="mdescLeft"> </td><td class="mdescRight">Generate an ping event for a resource. <a href="#a9edff924e88ea8ae7d0b74065ad7415a">More...</a><br /></td></tr> +<tr class="separator:a9edff924e88ea8ae7d0b74065ad7415a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aacd73782f3790191b8564f0f375daeb6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aacd73782f3790191b8564f0f375daeb6">pw_resource_error</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource, int res, const char *error,...)</td></tr> +<tr class="memdesc:aacd73782f3790191b8564f0f375daeb6"><td class="mdescLeft"> </td><td class="mdescRight">Generate an error for a resource. <a href="#aacd73782f3790191b8564f0f375daeb6">More...</a><br /></td></tr> +<tr class="separator:aacd73782f3790191b8564f0f375daeb6"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aa419217865ab0867b290097d27184d05"><td class="memItemLeft" align="right" valign="top">struct spa_hook_list * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aa419217865ab0867b290097d27184d05">pw_resource_get_object_listeners</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:aa419217865ab0867b290097d27184d05"><td class="mdescLeft"> </td><td class="mdescRight">Get the list of object listeners from a resource. <a href="#aa419217865ab0867b290097d27184d05">More...</a><br /></td></tr> +<tr class="separator:aa419217865ab0867b290097d27184d05"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:aab37d37e596381fec6da22531f78d7bb"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="structpw__protocol__marshal.html">pw_protocol_marshal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="resource_8h.html#aab37d37e596381fec6da22531f78d7bb">pw_resource_get_marshal</a> (struct <a class="el" href="classpw__resource.html">pw_resource</a> *resource)</td></tr> +<tr class="memdesc:aab37d37e596381fec6da22531f78d7bb"><td class="mdescLeft"> </td><td class="mdescRight">Get the marshal functions for the resource. <a href="#aab37d37e596381fec6da22531f78d7bb">More...</a><br /></td></tr> +<tr class="separator:aab37d37e596381fec6da22531f78d7bb"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<h2 class="groupheader">Macro Definition Documentation</h2> +<a id="a61e286d92a2f528ebe48cb1436ac4eba"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a61e286d92a2f528ebe48cb1436ac4eba">◆ </a></span>pw_resource_call</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define pw_resource_call</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">r, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">type, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">method, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">version, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<b>Value:</b><div class="fragment"><div class="line">spa_interface_call((<span class="keyword">struct</span> spa_interface*)r, \</div><div class="line"> type, method, version, ##__VA_ARGS__)</div></div><!-- fragment --> +</div> +</div> +<a id="a11df048744c827fbefc328ec7b9dc135"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a11df048744c827fbefc328ec7b9dc135">◆ </a></span>pw_resource_call_res</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define pw_resource_call_res</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">r, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">type, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">method, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">version, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<b>Value:</b><div class="fragment"><div class="line">({ \</div><div class="line"> int _res = -ENOTSUP; \</div><div class="line"> spa_interface_call_res((<span class="keyword">struct</span> spa_interface*)r, \</div><div class="line"> type, _res, method, version, ##__VA_ARGS__); \</div><div class="line"> _res; \</div><div class="line">})</div></div><!-- fragment --> +</div> +</div> +<a id="a400f8bdb7b5779db732e3f224b87e07e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a400f8bdb7b5779db732e3f224b87e07e">◆ </a></span>pw_resource_notify</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define pw_resource_notify</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">r, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">type, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">event, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">version, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> +<b>Value:</b><div class="fragment"><div class="line">spa_hook_list_call(<a class="code" href="resource_8h.html#aa419217865ab0867b290097d27184d05">pw_resource_get_object_listeners</a>(r), \</div><div class="line"> type, event, version, ## __VA_ARGS__)</div><div class="ttc" id="resource_8h_html_aa419217865ab0867b290097d27184d05"><div class="ttname"><a href="resource_8h.html#aa419217865ab0867b290097d27184d05">pw_resource_get_object_listeners</a></div><div class="ttdeci">struct spa_hook_list * pw_resource_get_object_listeners(struct pw_resource *resource)</div><div class="ttdoc">Get the list of object listeners from a resource.</div><div class="ttdef"><b>Definition:</b> resource.c:165</div></div> +</div><!-- fragment --> +</div> +</div> +<a id="aadff480a3e38ec195e07567c1e46ab54"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aadff480a3e38ec195e07567c1e46ab54">◆ </a></span>PW_VERSION_RESOURCE_EVENTS</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">#define PW_VERSION_RESOURCE_EVENTS   0</td> + </tr> + </table> +</div><div class="memdoc"> + +</div> +</div> +<h2 class="groupheader">Function Documentation</h2> +<a id="a119a41be865f03ef8736977acba8a323"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a119a41be865f03ef8736977acba8a323">◆ </a></span>pw_resource_add_listener()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void pw_resource_add_listener </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct spa_hook * </td> + <td class="paramname"><em>listener</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const struct <a class="el" href="structpw__resource__events.html">pw_resource_events</a> * </td> + <td class="paramname"><em>events</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Add an event listener. </p> + +</div> +</div> +<a id="aa2d8c1bd7008acbd8fe30e47e6c08d3f"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa2d8c1bd7008acbd8fe30e47e6c08d3f">◆ </a></span>pw_resource_add_object_listener()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void pw_resource_add_object_listener </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct spa_hook * </td> + <td class="paramname"><em>listener</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const void * </td> + <td class="paramname"><em>funcs</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">void * </td> + <td class="paramname"><em>data</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Set the resource implementation. </p> + +</div> +</div> +<a id="ab9e159d75b7efe39bd53b64055244092"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab9e159d75b7efe39bd53b64055244092">◆ </a></span>pw_resource_destroy()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void pw_resource_destroy </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Destroy a resource. </p> + +<p class="reference">References <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>, and <a class="el" href="structpw__map.html#a10124711c6ab6ad3c1b9e6cab49dc4e4">pw_map::pw_map_insert_at()</a>.</p> + +<p class="reference">Referenced by <a class="el" href="classpw__core.html#a3fe8a902e97223d11c0e8e4640c16379">pw_core::pw_core_destroy()</a>, <a class="el" href="classpw__global.html#a57e86d7712b658ee7d2e0f73cfcb9db5">pw_global::pw_global_destroy()</a>, and <a class="el" href="global_8c.html#a523224e7089f253c06b3f93d608d0897">pw_global_update_permissions()</a>.</p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dyncontent"> +<div class="center"><img src="resource_8h_ab9e159d75b7efe39bd53b64055244092_icgraph.png" border="0" usemap="#resource_8h_ab9e159d75b7efe39bd53b64055244092_icgraph" alt=""/></div> +<map name="resource_8h_ab9e159d75b7efe39bd53b64055244092_icgraph" id="resource_8h_ab9e159d75b7efe39bd53b64055244092_icgraph"> +<area shape="rect" title="Destroy a resource." alt="" coords="1020,75,1180,101"/> +<area shape="rect" href="classpw__core.html#a3fe8a902e97223d11c0e8e4640c16379" title="Destroy a core object." alt="" coords="232,24,427,51"/> +<area shape="rect" href="classpw__global.html#a57e86d7712b658ee7d2e0f73cfcb9db5" title="Destroy a global." alt="" coords="777,67,940,109"/> +<area shape="rect" href="global_8c.html#a523224e7089f253c06b3f93d608d0897" title=" " alt="" coords="745,163,972,189"/> +<area shape="rect" href="stream_8c.html#a0aa398ef7b09697a0e48719b27112614" title=" " alt="" coords="5,24,184,51"/> +<area shape="rect" href="device_8c.html#a413c1f742b769410a3400e4859d92588" title=" " alt="" coords="513,49,659,76"/> +<area shape="rect" href="factory_8c.html#a3ec95397d9e642db23678f2a52800831" title=" " alt="" coords="511,100,661,127"/> +<area shape="rect" href="classpw__module.html#aeb91aaec73271350e79774d753202045" title="Destroy a module." alt="" coords="496,151,676,193"/> +<area shape="rect" href="client_8c.html#aa4a8794d28485a52146b71c1fad7a479" title="Update the client permissions." alt="" coords="475,217,697,244"/> +</map> +</div> + +</div> +</div> +<a id="aacd73782f3790191b8564f0f375daeb6"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aacd73782f3790191b8564f0f375daeb6">◆ </a></span>pw_resource_error()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void pw_resource_error </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>res</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">const char * </td> + <td class="paramname"><em>error</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname"><em>...</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Generate an error for a resource. </p> + +</div> +</div> +<a id="aa7213c5651700a4bc6bef6df6cc952e9"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa7213c5651700a4bc6bef6df6cc952e9">◆ </a></span>pw_resource_get_client()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="classpw__client.html">pw_client</a>* pw_resource_get_client </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the client owning this resource. </p> + +</div> +</div> +<a id="af8fe4859dd6826d5eb6c7e28f5519215"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af8fe4859dd6826d5eb6c7e28f5519215">◆ </a></span>pw_resource_get_id()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t pw_resource_get_id </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the unique id of this resource. </p> + +</div> +</div> +<a id="aab37d37e596381fec6da22531f78d7bb"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aab37d37e596381fec6da22531f78d7bb">◆ </a></span>pw_resource_get_marshal()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const struct <a class="el" href="structpw__protocol__marshal.html">pw_protocol_marshal</a>* pw_resource_get_marshal </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the marshal functions for the resource. </p> + +</div> +</div> +<a id="aa419217865ab0867b290097d27184d05"></a> +<h2 class="memtitle"><span class="permalink"><a href="#aa419217865ab0867b290097d27184d05">◆ </a></span>pw_resource_get_object_listeners()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct spa_hook_list* pw_resource_get_object_listeners </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the list of object listeners from a resource. </p> + +</div> +</div> +<a id="a332bee9e00671e80bd1d897551aa065d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a332bee9e00671e80bd1d897551aa065d">◆ </a></span>pw_resource_get_permissions()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t pw_resource_get_permissions </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the permissions of this resource. </p> + +</div> +</div> +<a id="ac7d13ba52bc1796d4baca39ddc4a6f0c"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ac7d13ba52bc1796d4baca39ddc4a6f0c">◆ </a></span>pw_resource_get_protocol()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="classpw__protocol.html">pw_protocol</a>* pw_resource_get_protocol </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the protocol used for this resource. </p> + +</div> +</div> +<a id="a7c6de11938397e575506360ba3b8b922"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a7c6de11938397e575506360ba3b8b922">◆ </a></span>pw_resource_get_type()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">uint32_t pw_resource_get_type </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the type of this resource. </p> + +</div> +</div> +<a id="ae022953f35be3767c44de0c43fa572e2"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae022953f35be3767c44de0c43fa572e2">◆ </a></span>pw_resource_get_user_data()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void* pw_resource_get_user_data </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em></td><td>)</td> + <td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Get the user data for the resource, the size was given in <a class="el" href="resource_8c.html#a13bc34ff7eecd313331ff6d95e8c95a5">pw_resource_new</a>. </p> + +</div> +</div> +<a id="ae9bc3b4567352269420c480127be7810"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae9bc3b4567352269420c480127be7810">◆ </a></span>pw_resource_new()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct <a class="el" href="classpw__resource.html">pw_resource</a>* pw_resource_new </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__client.html">pw_client</a> * </td> + <td class="paramname"><em>client</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>id</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>permissions</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint32_t </td> + <td class="paramname"><em>version</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t </td> + <td class="paramname"><em>user_data_size</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Make a new resource for client. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">client</td><td>the client owning the resource </td></tr> + <tr><td class="paramname">id</td><td>the remote per client id </td></tr> + <tr><td class="paramname">permissions</td><td>permissions on this resource </td></tr> + <tr><td class="paramname">type</td><td>interface of the resource </td></tr> + <tr><td class="paramname">version</td><td>requested interface version </td></tr> + <tr><td class="paramname">user_data_size</td><td>extra user data size </td></tr> + </table> + </dd> +</dl> + +<p class="reference">References <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>, <a class="el" href="classpw__log.html#a995a5e0ef414e9246fbf2ad56b0ce281">pw_log::pw_log_error</a>, <a class="el" href="structpw__map.html#a10124711c6ab6ad3c1b9e6cab49dc4e4">pw_map::pw_map_insert_at()</a>, <a class="el" href="protocol_8h.html#a0dac7c46c3ffea078e00f23ba75edf80">pw_protocol_get_marshal()</a>, <a class="el" href="type_8h.html#a3e7088893438300a0ba3defeb6b344a1">pw_type_info()</a>, and <a class="el" href="structimpl.html#a6eaec9ea671abe6434946657ac2f1bae">impl::this</a>.</p> + +</div> +</div> +<a id="a9edff924e88ea8ae7d0b74065ad7415a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a9edff924e88ea8ae7d0b74065ad7415a">◆ </a></span>pw_resource_ping()</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int pw_resource_ping </td> + <td>(</td> + <td class="paramtype">struct <a class="el" href="classpw__resource.html">pw_resource</a> * </td> + <td class="paramname"><em>resource</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"><em>seq</em> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Generate an ping event for a resource. </p> +<p>This will generate a pong event with the same <em>sequence</em> number in the return value. </p> + +<p class="reference">References <a class="el" href="classpw__log.html#a98a49c37f11de525890014e927e34d02">pw_log::pw_log_debug</a>.</p> + +</div> +</div> +</div><!-- contents --> +</div><!-- doc-content --> +<!-- start footer part --> +<div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> + <ul> + <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_7129a66c92fe7beef816c2ac906ef0b3.html">pipewire</a></li><li class="navelem"><a class="el" href="resource_8h.html">resource.h</a></li> + <li class="footer">Generated by + <a href="http://www.doxygen.org/index.html"> + <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> + </ul> +</div> +</body> +</html> |