Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 5a48463e56bd4803e99af0ff1341e8fe > files > 41

ecore-devel-0.9.9.49898-1.fc14.i686.rpm

<html>
<head>
    <title>Ecore: Ecore.h File Reference</title>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
    <meta name="author" content="Andres Blanc" >
    
    <link rel="icon" href="img/favicon.png" type="image/x-icon">
    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
    <link rel="icon" href="img/favicon.png" type="image/ico">
    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">

    <link rel="stylesheet" type="text/css" href="e.css">
    <link rel="stylesheet" type="text/css" href="edoxy.css">
</head>

<body>

<div id="container">

<div id="header">
<div class="layout">
    
    <h1><span>Enlightenment</span></h1>
    <h2><span>Beauty at your fingertips</span></h2>

    <table cellspacing="0" cellpadding="0" width="100%"><tr>
      <td id="header_logo">
        <a href="http://www.enlightenment.org"></a>
      </td>
      <td id="header_menu">
        <table cellspacing="0" cellpadding="0" align="right"><tr>
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=home">Home</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=news">News</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=about">About</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=download">Download</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=support">Support</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=contact">Contact</a></td> 
          <td class="nav_passive"><a class="nav_passive" href="http://trac.enlightenment.org/e">Tracker</a></td>
          <td class="nav_passive"><a class="nav_passive" href="http://www.enlightenment.org/p.php?p=docs">Docs</a></td> 
        </tr></table>          
      </td>
      <td id="header_last"></td>
    </tr></table>

    <div class="doxytitle">
        Ecore Documentation <small>at 2 Jul 2010</small>
    </div>

    <div class="menu-container">
        <div class="submenu">
            <ul class="current">
                <li><a href="files.html">Files</a></li>
                <li><a href="annotated.html">Data Structures</a></li>
                <li><a href="globals.html">Globals</a></li>
                <li><a href="modules.html">Modules</a></li>
                <li><a href="pages.html">Related Pages</a></li>
	        <li class="current"><a  href="index.html">Main Page</a></li>
            </ul>
        </div>
    </div>


    <div class="clear"></div>
</div>
</div>

<div id="content">
<div class="layout">
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="contents">
<h1>Ecore.h File Reference</h1>
<p>The file that provides the program utility, main loop and timer functions.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event.  <a href="struct__Ecore__Event__Signal__User.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event.  <a href="struct__Ecore__Event__Signal__Hup.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit request event.  <a href="struct__Ecore__Event__Signal__Exit.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power event.  <a href="struct__Ecore__Event__Signal__Power.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime event.  <a href="struct__Ecore__Event__Signal__Realtime.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process add event.  <a href="struct__Ecore__Exe__Event__Add.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Process exit event.  <a href="struct__Ecore__Exe__Event__Del.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; Lines from a child process  <a href="struct__Ecore__Exe__Event__Data__Line.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process event.  <a href="struct__Ecore__Exe__Event__Data.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0c653baad8836232c0dc27f91f875d6"></a><!-- doxytag: member="Ecore.h::ECORE_CALLBACK_CANCEL" ref="ae0c653baad8836232c0dc27f91f875d6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ae0c653baad8836232c0dc27f91f875d6">ECORE_CALLBACK_CANCEL</a>&nbsp;&nbsp;&nbsp;EINA_FALSE</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value to remove a callback. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ee9db07f9a46a8b20fb83e1c6dbed09"></a><!-- doxytag: member="Ecore.h::ECORE_CALLBACK_RENEW" ref="a1ee9db07f9a46a8b20fb83e1c6dbed09" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a1ee9db07f9a46a8b20fb83e1c6dbed09">ECORE_CALLBACK_RENEW</a>&nbsp;&nbsp;&nbsp;EINA_TRUE</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value to keep a callback. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a2922b8aa10c60f27c8ab49d84d75f2"></a><!-- doxytag: member="Ecore.h::ECORE_CALLBACK_PASS_ON" ref="a6a2922b8aa10c60f27c8ab49d84d75f2" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a6a2922b8aa10c60f27c8ab49d84d75f2">ECORE_CALLBACK_PASS_ON</a>&nbsp;&nbsp;&nbsp;EINA_TRUE</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value to pass event to next handler. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a780091d7d49a4bb6cb753f12e1a3b19d"></a><!-- doxytag: member="Ecore.h::ECORE_CALLBACK_DONE" ref="a780091d7d49a4bb6cb753f12e1a3b19d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a780091d7d49a4bb6cb753f12e1a3b19d">ECORE_CALLBACK_DONE</a>&nbsp;&nbsp;&nbsp;EINA_FALSE</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return value to stop event handling. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1c2ecd8bba5f957ce06f06fc7e7743d"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_USER" ref="ab1c2ecd8bba5f957ce06f06fc7e7743d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ab1c2ecd8bba5f957ce06f06fc7e7743d">ECORE_EVENT_SIGNAL_USER</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d04f0c2c30998957d968120659dc69f"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_HUP" ref="a3d04f0c2c30998957d968120659dc69f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3d04f0c2c30998957d968120659dc69f">ECORE_EVENT_SIGNAL_HUP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0dd1e36930ae8fa8decc97564d57f310"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_EXIT" ref="a0dd1e36930ae8fa8decc97564d57f310" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a0dd1e36930ae8fa8decc97564d57f310">ECORE_EVENT_SIGNAL_EXIT</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a574bf58511179b54078843611c008811"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_POWER" ref="a574bf58511179b54078843611c008811" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a574bf58511179b54078843611c008811">ECORE_EVENT_SIGNAL_POWER</a>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4ce1d886fba149d60d3df1d8de05853"></a><!-- doxytag: member="Ecore.h::ECORE_EVENT_SIGNAL_REALTIME" ref="ae4ce1d886fba149d60d3df1d8de05853" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ae4ce1d886fba149d60d3df1d8de05853">ECORE_EVENT_SIGNAL_REALTIME</a>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime signal event. <br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16f4610064ba77bb0e3ff20485a6362a"></a><!-- doxytag: member="Ecore.h::Ecore_Exe" ref="a16f4610064ba77bb0e3ff20485a6362a" args="" -->
typedef struct _Ecore_Exe&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for spawned processes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3663e895743d49c90122725fb1ceaebc"></a><!-- doxytag: member="Ecore.h::Ecore_Timer" ref="a3663e895743d49c90122725fb1ceaebc" args="" -->
typedef struct _Ecore_Timer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for timers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa631f9b2ed1c20c44e8fc32fcaa2492"></a><!-- doxytag: member="Ecore.h::Ecore_Idler" ref="afa631f9b2ed1c20c44e8fc32fcaa2492" args="" -->
typedef struct _Ecore_Idler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#afa631f9b2ed1c20c44e8fc32fcaa2492">Ecore_Idler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idlers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e47441188c0658f929e83696ec1ab78"></a><!-- doxytag: member="Ecore.h::Ecore_Idle_Enterer" ref="a3e47441188c0658f929e83696ec1ab78" args="" -->
typedef struct _Ecore_Idle_Enterer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3e47441188c0658f929e83696ec1ab78">Ecore_Idle_Enterer</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idle enterers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc1923e21a85882731a2c3be7ba3cb94"></a><!-- doxytag: member="Ecore.h::Ecore_Idle_Exiter" ref="abc1923e21a85882731a2c3be7ba3cb94" args="" -->
typedef struct _Ecore_Idle_Exiter&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#abc1923e21a85882731a2c3be7ba3cb94">Ecore_Idle_Exiter</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for idle exiters. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a225121ed2123da4b52b76aa08d78c220"></a><!-- doxytag: member="Ecore.h::Ecore_Fd_Handler" ref="a225121ed2123da4b52b76aa08d78c220" args="" -->
typedef struct _Ecore_Fd_Handler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for Fd handlers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b36f54d74bcfb8dc622844d959c9b64"></a><!-- doxytag: member="Ecore.h::Ecore_Win32_Handler" ref="a0b36f54d74bcfb8dc622844d959c9b64" args="" -->
typedef struct _Ecore_Win32_Handler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a0b36f54d74bcfb8dc622844d959c9b64">Ecore_Win32_Handler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for HANDLE handlers on Windows. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a252a2566c9c7c9094964ab8e157f0521"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Handler" ref="a252a2566c9c7c9094964ab8e157f0521" args="" -->
typedef struct _Ecore_Event_Handler&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a252a2566c9c7c9094964ab8e157f0521">Ecore_Event_Handler</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event handler. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7f572080436ad68d75e8eb4b7cbab45"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Filter" ref="ab7f572080436ad68d75e8eb4b7cbab45" args="" -->
typedef struct _Ecore_Event_Filter&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ab7f572080436ad68d75e8eb4b7cbab45">Ecore_Event_Filter</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event filter. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3df1c1b99f44f47e791c89556e925b9d"></a><!-- doxytag: member="Ecore.h::Ecore_Event" ref="a3df1c1b99f44f47e791c89556e925b9d" args="" -->
typedef struct _Ecore_Event&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3df1c1b99f44f47e791c89556e925b9d">Ecore_Event</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for an event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52fada8588561ce171a2d679df7f0c02"></a><!-- doxytag: member="Ecore.h::Ecore_Animator" ref="a52fada8588561ce171a2d679df7f0c02" args="" -->
typedef struct _Ecore_Animator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for animators. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0092a6b764881362d1a051d7af215b3f"></a><!-- doxytag: member="Ecore.h::Ecore_Pipe" ref="a0092a6b764881362d1a051d7af215b3f" args="" -->
typedef struct _Ecore_Pipe&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for pipes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e967ed90714bea99df9ac0337b414bb"></a><!-- doxytag: member="Ecore.h::Ecore_Poller" ref="a0e967ed90714bea99df9ac0337b414bb" args="" -->
typedef struct _Ecore_Poller&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A handle for pollers. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02bd65bebca736e324b11d61f4adef45"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_User" ref="a02bd65bebca736e324b11d61f4adef45" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Event__Signal__User.html">_Ecore_Event_Signal_User</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a02bd65bebca736e324b11d61f4adef45">Ecore_Event_Signal_User</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3eaa720e4890961b2cf519ee5cd253d"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Hup" ref="af3eaa720e4890961b2cf519ee5cd253d" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Event__Signal__Hup.html">_Ecore_Event_Signal_Hup</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#af3eaa720e4890961b2cf519ee5cd253d">Ecore_Event_Signal_Hup</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hup signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a654cd9d55a25e2c858007967085cd2aa"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Exit" ref="a654cd9d55a25e2c858007967085cd2aa" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Event__Signal__Exit.html">_Ecore_Event_Signal_Exit</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a654cd9d55a25e2c858007967085cd2aa">Ecore_Event_Signal_Exit</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exit signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99878553b16a3f0c61eef2c4d291d7aa"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Power" ref="a99878553b16a3f0c61eef2c4d291d7aa" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Event__Signal__Power.html">_Ecore_Event_Signal_Power</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a99878553b16a3f0c61eef2c4d291d7aa">Ecore_Event_Signal_Power</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Power signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4f3d2a3d3f6e525453bccf0d415c49f"></a><!-- doxytag: member="Ecore.h::Ecore_Event_Signal_Realtime" ref="af4f3d2a3d3f6e525453bccf0d415c49f" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Event__Signal__Realtime.html">_Ecore_Event_Signal_Realtime</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#af4f3d2a3d3f6e525453bccf0d415c49f">Ecore_Event_Signal_Realtime</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Realtime signal event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af37c080c298e92468a3f6972f57dd415"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Add" ref="af37c080c298e92468a3f6972f57dd415" args="" -->
typedef struct <a class="el" href="struct__Ecore__Exe__Event__Add.html">_Ecore_Exe_Event_Add</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#af37c080c298e92468a3f6972f57dd415">Ecore_Exe_Event_Add</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawned Exe add event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ce66424ac56c676b996ea162482a8e9"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Del" ref="a5ce66424ac56c676b996ea162482a8e9" args="" -->
typedef struct <a class="el" href="struct__Ecore__Exe__Event__Del.html">_Ecore_Exe_Event_Del</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a5ce66424ac56c676b996ea162482a8e9">Ecore_Exe_Event_Del</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawned Exe exit event. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09b894017e3b396266df6ed3dc3e7e81"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Data_Line" ref="a09b894017e3b396266df6ed3dc3e7e81" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Exe__Event__Data__Line.html">_Ecore_Exe_Event_Data_Line</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a09b894017e3b396266df6ed3dc3e7e81">Ecore_Exe_Event_Data_Line</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lines from a child process. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a799793cb0c71d5ab0b6fae33ce71b2ba"></a><!-- doxytag: member="Ecore.h::Ecore_Exe_Event_Data" ref="a799793cb0c71d5ab0b6fae33ce71b2ba" args="" -->
typedef struct <br class="typebreak"/>
<a class="el" href="struct__Ecore__Exe__Event__Data.html">_Ecore_Exe_Event_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a799793cb0c71d5ab0b6fae33ce71b2ba">Ecore_Exe_Event_Data</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51a4bfa938b1205aead7d0dd2dae83db"></a><!-- doxytag: member="Ecore.h::Ecore_Job" ref="a51a4bfa938b1205aead7d0dd2dae83db" args="" -->
typedef struct _Ecore_Job&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a51a4bfa938b1205aead7d0dd2dae83db">Ecore_Job</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A job handle. <br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ab5644f471dfa3bd182619601d9b60608">_Ecore_Fd_Handler_Flags</a> { <br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#ab5644f471dfa3bd182619601d9b60608a1699f804eccf88e7e169a4a20f1d44e7">ECORE_FD_READ</a> =  1, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#ab5644f471dfa3bd182619601d9b60608a654f7e6af4875742c5349c2cc55d1bab">ECORE_FD_WRITE</a> =  2, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#ab5644f471dfa3bd182619601d9b60608a829d91235e3ca5eba61330c96a8074de">ECORE_FD_ERROR</a> =  4
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599">_Ecore_Exe_Flags</a> { <br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599a76bc9e447a456727dc2d686b4682b512">ECORE_EXE_PIPE_READ</a> =  1, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599a83dcb150caa9f5f4ce548eaa4a92c6af">ECORE_EXE_PIPE_WRITE</a> =  2, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599ad3f4759d4ba470d6f5504621c903011a">ECORE_EXE_PIPE_ERROR</a> =  4, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599ae97566413d58b792e92369966ffeece5">ECORE_EXE_PIPE_READ_LINE_BUFFERED</a> =  8, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599aa8d2dc2d658ba80c75c4fce0c2045583">ECORE_EXE_PIPE_ERROR_LINE_BUFFERED</a> =  16, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599a6abaaef6ac55c2317bdd23cf71167062">ECORE_EXE_PIPE_AUTO</a> =  32, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599a302fabf13b4f24007eba55b9e6041132">ECORE_EXE_RESPAWN</a> =  64, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599a9ddffda12f29c003ebf2c34506779637">ECORE_EXE_USE_SH</a> =  128, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599aaabb08cf4feb543f62e47c9baeac224e">ECORE_EXE_NOT_LEADER</a> =  256
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23f">_Ecore_Exe_Win32_Priority</a> { <br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa09f6aedb549a47677c3810995128304b">ECORE_EXE_WIN32_PRIORITY_IDLE</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa9402a8afb6fbccde2f4b8ea7c8330de6">ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa9683498607dc0bec65c4252b7e91708e">ECORE_EXE_WIN32_PRIORITY_NORMAL</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa0be06f30e0e5ff0a616ec31859dc83b5">ECORE_EXE_WIN32_PRIORITY_ABOVE_NORMAL</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa430693ca4ff578d64c39aa72edc1a7a6">ECORE_EXE_WIN32_PRIORITY_HIGH</a>, 
<br/>
&nbsp;&nbsp;<a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23fa0b4330d21ae5dc02b8de2e92133e604b">ECORE_EXE_WIN32_PRIORITY_REALTIME</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a50dcd2652ba68fe4aac51c70c3fa1e2c">_Ecore_Poller_Type</a> { <a class="el" href="Ecore_8h.html#a50dcd2652ba68fe4aac51c70c3fa1e2ca022dfec751388e380cf01621bd0f797f">ECORE_POLLER_CORE</a> =  0
 }</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a8af98881ecd1d24072b4fabf216754c4">ecore_init</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up connections, signal handlers, sockets etc.  <a href="#a8af98881ecd1d24072b4fabf216754c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ac64ef382d78a50e07af9e8c67800a57c">ecore_shutdown</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut down connections, signal handlers sockets etc.  <a href="#ac64ef382d78a50e07af9e8c67800a57c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#aeb02de014af9bfbe960c9f70b085e229">ecore_app_args_set</a> (int argc, const char **argv)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set up the programs command-line arguments.  <a href="#aeb02de014af9bfbe960c9f70b085e229"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#aa74019a7622d9c4521e54580f50bd4cd">ecore_app_args_get</a> (int *argc, char ***argv)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the programs stored command-line arguments.  <a href="#aa74019a7622d9c4521e54580f50bd4cd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#aaf096e6a822314947a189c40a5b52a3e">ecore_app_restart</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restart the program executable with the command-line arguments stored.  <a href="#aaf096e6a822314947a189c40a5b52a3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a252a2566c9c7c9094964ab8e157f0521">Ecore_Event_Handler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a2f2a52b06e720932685c1d408db0a17d">ecore_event_handler_add</a> (int type, Eina_Bool(*func)(void *data, int type, void *event), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an event handler.  <a href="#a2f2a52b06e720932685c1d408db0a17d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3e3a748d36d1c5c60bce2a8940f4e2ff">ecore_event_handler_del</a> (<a class="el" href="Ecore_8h.html#a252a2566c9c7c9094964ab8e157f0521">Ecore_Event_Handler</a> *event_handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event handler.  <a href="#a3e3a748d36d1c5c60bce2a8940f4e2ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a3df1c1b99f44f47e791c89556e925b9d">Ecore_Event</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ac999f93a7d2a84546fec6db2b54ecc4a">ecore_event_add</a> (int type, void *ev, void(*func_free)(void *data, void *ev), void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an event to the event queue.  <a href="#ac999f93a7d2a84546fec6db2b54ecc4a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a1cf708f8772a4f315060a5b56ded5f2a">ecore_event_del</a> (<a class="el" href="Ecore_8h.html#a3df1c1b99f44f47e791c89556e925b9d">Ecore_Event</a> *event)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event from the queue.  <a href="#a1cf708f8772a4f315060a5b56ded5f2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a2eecd9a96b831f5dca328048d12904c6">ecore_event_type_new</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a new event type id sensibly and return the new id.  <a href="#a2eecd9a96b831f5dca328048d12904c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#ab7f572080436ad68d75e8eb4b7cbab45">Ecore_Event_Filter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3b9706e648c6b77911cf5c2cb49cffa2">ecore_event_filter_add</a> (void *(*func_start)(void *data), Eina_Bool(*func_filter)(void *data, void *loop_data, int type, void *event), void(*func_end)(void *data, void *loop_data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a filter the current event queue.  <a href="#a3b9706e648c6b77911cf5c2cb49cffa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a9d6fad05740824f26ba4901d448f0429">ecore_event_filter_del</a> (<a class="el" href="Ecore_8h.html#ab7f572080436ad68d75e8eb4b7cbab45">Ecore_Event_Filter</a> *ef)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an event filter.  <a href="#a9d6fad05740824f26ba4901d448f0429"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a51773f3086610117744716fe2d3b5e5d">ecore_event_current_type_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current event type being handled.  <a href="#a51773f3086610117744716fe2d3b5e5d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ae8d052b97c036d82d2b44f8ea7cbeb64">ecore_event_current_event_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current event type pointer handled.  <a href="#ae8d052b97c036d82d2b44f8ea7cbeb64"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga52c4ee99d493595fef39026dd2402704">ecore_exe_run_priority_set</a> (int pri)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the priority at which to launch processes.  <a href="group__Ecore__Exe__Basic__Group.html#ga52c4ee99d493595fef39026dd2402704"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga572bed12ff3418b8c9f9f0c94793c12c">ecore_exe_run_priority_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the priority at which to launch processes.  <a href="group__Ecore__Exe__Basic__Group.html#ga572bed12ff3418b8c9f9f0c94793c12c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga7ee5b2a9c3b1458395ff60287d368faa">ecore_exe_run</a> (const char *exe_cmd, const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process.  <a href="group__Ecore__Exe__Basic__Group.html#ga7ee5b2a9c3b1458395ff60287d368faa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga769740ce38413683fb40ddf725ac54b7">ecore_exe_pipe_run</a> (const char *exe_cmd, Ecore_Exe_Flags flags, const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spawns a child process with its stdin/out available for communication.  <a href="group__Ecore__Exe__Basic__Group.html#ga769740ce38413683fb40ddf725ac54b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a2a9781bd92527e7150d5cff1832dbc6c">ecore_exe_callback_pre_free_set</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, void(*func)(void *data, const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines a function to be called before really freeing the handle data.  <a href="#a2a9781bd92527e7150d5cff1832dbc6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga52206a534dd6170bb609481093357047">ecore_exe_send</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, const void *data, int size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends data to the given child process which it recieves on stdin.  <a href="group__Ecore__Exe__Basic__Group.html#ga52206a534dd6170bb609481093357047"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gaf5b870a7a134744ecbe9accb57bb8730">ecore_exe_close_stdin</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The stdin of the given child process will close when the write buffer is empty.  <a href="group__Ecore__Exe__Basic__Group.html#gaf5b870a7a134744ecbe9accb57bb8730"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga2ab04470c77bedbaad1ff8e23277e375">ecore_exe_auto_limits_set</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, int start_bytes, int end_bytes, int start_lines, int end_lines)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the auto pipe limits for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga2ab04470c77bedbaad1ff8e23277e375"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#gace51fedd2709f26c6c82cd0135aa6dbe">ecore_exe_event_data_get</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, Ecore_Exe_Flags flags)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the auto pipe data for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#gace51fedd2709f26c6c82cd0135aa6dbe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga5a0737cb4881d4c4374697335e62336b">ecore_exe_event_data_free</a> (<a class="el" href="struct__Ecore__Exe__Event__Data.html">Ecore_Exe_Event_Data</a> *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given event data.  <a href="group__Ecore__Exe__Basic__Group.html#ga5a0737cb4881d4c4374697335e62336b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga07ef2b7bd313988a0d1691d7e3edcddb">ecore_exe_free</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga07ef2b7bd313988a0d1691d7e3edcddb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI pid_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga6c9cdac282d5a086a54fdee74ebebdbc">ecore_exe_pid_get</a> (const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the process ID of the given spawned process.  <a href="group__Ecore__Exe__Basic__Group.html#ga6c9cdac282d5a086a54fdee74ebebdbc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga68245a929e914cbe4fb64c287ef3f5ae">ecore_exe_tag_set</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, const char *tag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the string tag for the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga68245a929e914cbe4fb64c287ef3f5ae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga14e23f1d003d3bdd2431176cec009857">ecore_exe_tag_get</a> (const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the tag attached to the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga14e23f1d003d3bdd2431176cec009857"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga77906a4fdf7b47c66cddb534f776d011">ecore_exe_cmd_get</a> (const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the command of the given spawned process.  <a href="group__Ecore__Exe__Basic__Group.html#ga77906a4fdf7b47c66cddb534f776d011"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga9ec7a0d09ee02a3e0afefb894ef1fd11">ecore_exe_data_get</a> (const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the data attached to the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga9ec7a0d09ee02a3e0afefb894ef1fd11"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Ecore_Exe_Flags&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Basic__Group.html#ga743a4f75c4cde2a8f2ec798cd1ce3a91">ecore_exe_flags_get</a> (const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the flags attached to the given process handle.  <a href="group__Ecore__Exe__Basic__Group.html#ga743a4f75c4cde2a8f2ec798cd1ce3a91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga390ff3fbd834c483cb3b52701061b224">ecore_exe_pause</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pauses the given process by sending it a <code>SIGSTOP</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#ga390ff3fbd834c483cb3b52701061b224"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gab2a1c0e6b97362a08b043a53bb2167e9">ecore_exe_continue</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Continues the given paused process by sending it a <code>SIGCONT</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#gab2a1c0e6b97362a08b043a53bb2167e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga186bd34da6c379d244f46d93bab5f0a2">ecore_exe_interrupt</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given spawned process a interrupt (<code>SIGINT</code>) signal.  <a href="group__Ecore__Exe__Signal__Group.html#ga186bd34da6c379d244f46d93bab5f0a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gaad77b796681b8ca024294f4c7128d3f6">ecore_exe_quit</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given spawned process a quit (<code>SIGQUIT</code>) signal.  <a href="group__Ecore__Exe__Signal__Group.html#gaad77b796681b8ca024294f4c7128d3f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga181cf5546257df38243b82164317450d">ecore_exe_terminate</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends the given spawned process a terminate (<code>SIGTERM</code>) signal.  <a href="group__Ecore__Exe__Signal__Group.html#ga181cf5546257df38243b82164317450d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gaa1f87cd678eacacd8742a49703f94128">ecore_exe_kill</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kills the given spawned process by sending it a <code>SIGKILL</code> signal.  <a href="group__Ecore__Exe__Signal__Group.html#gaa1f87cd678eacacd8742a49703f94128"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#ga293b5baa7703e113e7444f21855f7b95">ecore_exe_signal</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe, int num)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGUSR</code> signal to the given spawned process.  <a href="group__Ecore__Exe__Signal__Group.html#ga293b5baa7703e113e7444f21855f7b95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Exe__Signal__Group.html#gae50008a47cf6d717a8d2266b8b7fae57">ecore_exe_hup</a> (<a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a <code>SIGHUP</code> signal to the given spawned process.  <a href="group__Ecore__Exe__Signal__Group.html#gae50008a47cf6d717a8d2266b8b7fae57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#afa631f9b2ed1c20c44e8fc32fcaa2492">Ecore_Idler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#ga44727d1ba1ea8a656b8ba51f3ac7c588">ecore_idler_add</a> (Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idler handler.  <a href="group__Idle__Group.html#ga44727d1ba1ea8a656b8ba51f3ac7c588"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#ga280c1e88b0af4e829b4c543d51d14d7b">ecore_idler_del</a> (<a class="el" href="Ecore_8h.html#afa631f9b2ed1c20c44e8fc32fcaa2492">Ecore_Idler</a> *idler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idler callback from the list to be executed.  <a href="group__Idle__Group.html#ga280c1e88b0af4e829b4c543d51d14d7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a3e47441188c0658f929e83696ec1ab78">Ecore_Idle_Enterer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gaa890c94e129ef330b4cd814f3a800225">ecore_idle_enterer_add</a> (Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle enterer handler.  <a href="group__Idle__Group.html#gaa890c94e129ef330b4cd814f3a800225"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a3e47441188c0658f929e83696ec1ab78">Ecore_Idle_Enterer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gae346c666804c3d63e523eb44c7a6f1ad">ecore_idle_enterer_before_add</a> (Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle enterer handler at the start of the list so it gets called earlier than others.  <a href="group__Idle__Group.html#gae346c666804c3d63e523eb44c7a6f1ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#ga27c437b6e8838785aff5df4861ae7649">ecore_idle_enterer_del</a> (<a class="el" href="Ecore_8h.html#a3e47441188c0658f929e83696ec1ab78">Ecore_Idle_Enterer</a> *idle_enterer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle enterer callback.  <a href="group__Idle__Group.html#ga27c437b6e8838785aff5df4861ae7649"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#abc1923e21a85882731a2c3be7ba3cb94">Ecore_Idle_Exiter</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gaf54a4f6f1e71ed43b5b0d1b6c57d6fdd">ecore_idle_exiter_add</a> (Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an idle exiter handler.  <a href="group__Idle__Group.html#gaf54a4f6f1e71ed43b5b0d1b6c57d6fdd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Idle__Group.html#gaee428c5d4cfe03779cb19e44acb11823">ecore_idle_exiter_del</a> (<a class="el" href="Ecore_8h.html#abc1923e21a85882731a2c3be7ba3cb94">Ecore_Idle_Exiter</a> *idle_exiter)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete an idle exiter handler from the list to be run on exiting idle state.  <a href="group__Idle__Group.html#gaee428c5d4cfe03779cb19e44acb11823"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7f5463c1d4f3f020968ed06d6e5816cb"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_iterate" ref="ga7f5463c1d4f3f020968ed06d6e5816cb" args="(void)" -->
EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#ga7f5463c1d4f3f020968ed06d6e5816cb">ecore_main_loop_iterate</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs a single iteration of the main loop to process everything on the queue. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#ga8a27adb0909fd019003ec33097594572">ecore_main_loop_select_func_set</a> (int(*func)(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function to use when monitoring multiple file descriptors, and waiting until one of more of the file descriptors before ready for some class of I/O operation.  <a href="group__Ecore__Main__Loop__Group.html#ga8a27adb0909fd019003ec33097594572"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaff6bdf721e9679e2b5a6cb77bcc754c3"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_select_func_get" ref="gaff6bdf721e9679e2b5a6cb77bcc754c3" args="(void)" -->
EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#gaff6bdf721e9679e2b5a6cb77bcc754c3">ecore_main_loop_select_func_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the select function set by ecore_select_func_set(), or the native select function if none was set. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#aa2a8df1297e14326ba7191a35b918ffa">ecore_main_loop_glib_integrate</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request ecore to integrate GLib's main loop.  <a href="#aa2a8df1297e14326ba7191a35b918ffa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a09f7d8a9e9dae42282afe03b5e555284">ecore_main_loop_glib_always_integrate_disable</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable always integrating glib.  <a href="#a09f7d8a9e9dae42282afe03b5e555284"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#ga04daa7648a9d027bed25d27c150fdda7">ecore_main_loop_begin</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the application main loop.  <a href="group__Ecore__Main__Loop__Group.html#ga04daa7648a9d027bed25d27c150fdda7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga329898ea4b32333c12c34cfde48326fd"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_quit" ref="ga329898ea4b32333c12c34cfde48326fd" args="(void)" -->
EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Main__Loop__Group.html#ga329898ea4b32333c12c34cfde48326fd">ecore_main_loop_quit</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Quits the main loop once all the events currently on the queue have been processed. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#ga6ad1f91d6afecd71c3719aef8f4ca8c6">ecore_main_fd_handler_add</a> (int fd, Ecore_Fd_Handler_Flags flags, Eina_Bool(*func)(void *data, <a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler), const void *data, Eina_Bool(*buf_func)(void *buf_data, <a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler), const void *buf_data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a callback for activity on the given file descriptor.  <a href="group__Ecore__FD__Handler__Group.html#ga6ad1f91d6afecd71c3719aef8f4ca8c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gad3f12bb7aa3b4240f001dcb27319eec2">ecore_main_fd_handler_del</a> (<a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given FD handler.  <a href="group__Ecore__FD__Handler__Group.html#gad3f12bb7aa3b4240f001dcb27319eec2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#gabc14e9f2f670e1b1334949e142f858b6">ecore_main_fd_handler_fd_get</a> (<a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the file descriptor that the given handler is handling.  <a href="group__Ecore__FD__Handler__Group.html#gabc14e9f2f670e1b1334949e142f858b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#ga23b775f4dd6d59c83b1066139ddaeb57">ecore_main_fd_handler_active_get</a> (<a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if read, write or error, or a combination thereof, is active on the file descriptor of the given FD handler.  <a href="group__Ecore__FD__Handler__Group.html#ga23b775f4dd6d59c83b1066139ddaeb57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__FD__Handler__Group.html#ga8e1cecdf75529a274b28df1544e9aec0">ecore_main_fd_handler_active_set</a> (<a class="el" href="Ecore_8h.html#a225121ed2123da4b52b76aa08d78c220">Ecore_Fd_Handler</a> *fd_handler, Ecore_Fd_Handler_Flags flags)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set what active streams the given FD handler should be monitoring.  <a href="group__Ecore__FD__Handler__Group.html#ga8e1cecdf75529a274b28df1544e9aec0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Pipe__Group.html#ga1bdc1b79ad0bb81300925b5c16c5bdc4">ecore_pipe_add</a> (void(*handler)(void *data, void *buffer, unsigned int nbyte), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create two file descriptors (sockets on Windows).  <a href="group__Ecore__Pipe__Group.html#ga1bdc1b79ad0bb81300925b5c16c5bdc4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Pipe__Group.html#ga7ed8506da336526498b2012d198b2e93">ecore_pipe_del</a> (<a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a> *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Ecore_Pipe object created with <a class="el" href="group__Ecore__Pipe__Group.html#ga1bdc1b79ad0bb81300925b5c16c5bdc4" title="Create two file descriptors (sockets on Windows).">ecore_pipe_add()</a>.  <a href="group__Ecore__Pipe__Group.html#ga7ed8506da336526498b2012d198b2e93"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Pipe__Group.html#ga6e298e0198ce5bd04ab4cf12a14a1bb4">ecore_pipe_write</a> (<a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a> *p, const void *buffer, unsigned int nbytes)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write on the file descriptor the data passed as parameter.  <a href="group__Ecore__Pipe__Group.html#ga6e298e0198ce5bd04ab4cf12a14a1bb4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Pipe__Group.html#gafbb2f542925ce30b5dd0a16838d79ca6">ecore_pipe_write_close</a> (<a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a> *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the write end of an Ecore_Pipe object created with <a class="el" href="group__Ecore__Pipe__Group.html#ga1bdc1b79ad0bb81300925b5c16c5bdc4" title="Create two file descriptors (sockets on Windows).">ecore_pipe_add()</a>.  <a href="group__Ecore__Pipe__Group.html#gafbb2f542925ce30b5dd0a16838d79ca6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Pipe__Group.html#ga2107286b5a0f6b45a6b6abb696e48848">ecore_pipe_read_close</a> (<a class="el" href="Ecore_8h.html#a0092a6b764881362d1a051d7af215b3f">Ecore_Pipe</a> *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the read end of an Ecore_Pipe object created with <a class="el" href="group__Ecore__Pipe__Group.html#ga1bdc1b79ad0bb81300925b5c16c5bdc4" title="Create two file descriptors (sockets on Windows).">ecore_pipe_add()</a>.  <a href="group__Ecore__Pipe__Group.html#ga2107286b5a0f6b45a6b6abb696e48848"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#ga43846b079394bb4d098abf5c16dfc544">ecore_time_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current system time as a floating point value in seconds.  <a href="group__Ecore__Time__Group.html#ga43846b079394bb4d098abf5c16dfc544"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gadcbdc1aa699fbe4acd1b5427befd04d1">ecore_loop_time_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the time at which the last loop stopped waiting for timeouts or events.  <a href="group__Ecore__Time__Group.html#gadcbdc1aa699fbe4acd1b5427befd04d1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gaa3ed1b744e32f1131bee2fc52afd73de">ecore_timer_add</a> (double in, Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a timer to call the given function in the given period of time.  <a href="group__Ecore__Time__Group.html#gaa3ed1b744e32f1131bee2fc52afd73de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gaa29b4b0194a35918e6b16704062ef96c">ecore_timer_loop_add</a> (double in, Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a timer to call the given function in the given period of time.  <a href="group__Ecore__Time__Group.html#gaa29b4b0194a35918e6b16704062ef96c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gab182e4c0e65b5b7241f7249de1b1039c">ecore_timer_del</a> (<a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified timer from the timer list.  <a href="group__Ecore__Time__Group.html#gab182e4c0e65b5b7241f7249de1b1039c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#ga7e3453623b90b1e182df46976c11d1e3">ecore_timer_interval_set</a> (<a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *timer, double in)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the interval the timer ticks of.  <a href="group__Ecore__Time__Group.html#ga7e3453623b90b1e182df46976c11d1e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#gabdafff8f6c65af377a9551749e9bb29b">ecore_timer_interval_get</a> (<a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the interval the timer ticks on.  <a href="group__Ecore__Time__Group.html#gabdafff8f6c65af377a9551749e9bb29b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#ga053fee99284674cb0204888e78003a3f">ecore_timer_delay</a> (<a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *timer, double add)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add some delay for the next occurence of a timer.  <a href="group__Ecore__Time__Group.html#ga053fee99284674cb0204888e78003a3f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Time__Group.html#ga52fb7357893289800354eec20c1aa148">ecore_timer_pending_get</a> (<a class="el" href="Ecore_8h.html#a3663e895743d49c90122725fb1ceaebc">Ecore_Timer</a> *timer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the pending time regarding a timer.  <a href="group__Ecore__Time__Group.html#ga52fb7357893289800354eec20c1aa148"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a9c999fb87833cd31d27707f5c5bc8022">ecore_timer_precision_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current precision used by timer infrastructure.  <a href="#a9c999fb87833cd31d27707f5c5bc8022"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#af2020d0ffd3718823f77715a4cc02259">ecore_timer_precision_set</a> (double precision)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the precision to be used by timer infrastructure.  <a href="#af2020d0ffd3718823f77715a4cc02259"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ab30a028208395dfc16338c2eb9e5cc38">ecore_animator_add</a> (Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a animator to tick off at every animaton tick during main loop execution.  <a href="#ab30a028208395dfc16338c2eb9e5cc38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#abe305ca44ea97aa64cb8eb9d4411a18e">ecore_animator_del</a> (<a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *animator)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified animator from the animator list.  <a href="#abe305ca44ea97aa64cb8eb9d4411a18e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a188fc2acc136ec18d16cfdeb98ae90ac">ecore_animator_freeze</a> (<a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *animator)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Suspend the specified animator.  <a href="#a188fc2acc136ec18d16cfdeb98ae90ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a16695ad6b22ba4f061a7b3e2f3563fe3">ecore_animator_thaw</a> (<a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *animator)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Restore execution of the specified animator.  <a href="#a16695ad6b22ba4f061a7b3e2f3563fe3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a991995e7fe58c88992f6620e98304ec0">ecore_animator_frametime_set</a> (double frametime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the animator call interval in seconds.  <a href="#a991995e7fe58c88992f6620e98304ec0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a8175a8a4f4299bc48059e4884a0c2aab">ecore_animator_frametime_get</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the animator call interval in seconds.  <a href="#a8175a8a4f4299bc48059e4884a0c2aab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a43f8b1ec0a368174a3809498de26f514">ecore_poller_poll_interval_set</a> (Ecore_Poller_Type type, double poll_time)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the time between ticks (in seconds) for the given ticker clock.  <a href="#a43f8b1ec0a368174a3809498de26f514"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a08740b533d1155975646e503479c3317">ecore_poller_poll_interval_get</a> (Ecore_Poller_Type type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the time between ticks (in seconds) for the given ticker clock.  <a href="#a08740b533d1155975646e503479c3317"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a798694c1fec1ee18caed62bd1541fc10">ecore_poller_poller_interval_set</a> (<a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *poller, int interval)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the polling interval rate of <code>poller</code>.  <a href="#a798694c1fec1ee18caed62bd1541fc10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a3557087869773a2f85371256719523aa">ecore_poller_poller_interval_get</a> (<a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *poller)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the polling interval rate of <code>poller</code>.  <a href="#a3557087869773a2f85371256719523aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a97f384620d2d84b2ce84a4106811bdb8">ecore_poller_add</a> (Ecore_Poller_Type type, int interval, Eina_Bool(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a poller to call the given function at a particular tick interval.  <a href="#a97f384620d2d84b2ce84a4106811bdb8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a1ead511a352718d80b392e0edab2058a">ecore_poller_del</a> (<a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *poller)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the specified poller from the timer list.  <a href="#a1ead511a352718d80b392e0edab2058a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Ecore_8h.html#a51a4bfa938b1205aead7d0dd2dae83db">Ecore_Job</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#ga9bb4655e3e4c06d78cd07aa0ac055956">ecore_job_add</a> (void(*func)(void *data), const void *data)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a job to the event queue.  <a href="group__Ecore__Job__Group.html#ga9bb4655e3e4c06d78cd07aa0ac055956"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Ecore__Job__Group.html#gae64c687b8d34b255cf9ab62175e62859">ecore_job_del</a> (<a class="el" href="Ecore_8h.html#a51a4bfa938b1205aead7d0dd2dae83db">Ecore_Job</a> *job)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a queued job that has not yet been executed.  <a href="group__Ecore__Job__Group.html#gae64c687b8d34b255cf9ab62175e62859"></a><br/></td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d5f764613eda9fd965c8c772381c09f"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_ADD" ref="a1d5f764613eda9fd965c8c772381c09f" args="" -->
EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a1d5f764613eda9fd965c8c772381c09f">ECORE_EXE_EVENT_ADD</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child process has been added. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a95be6a579ad942b068b064ac6896e92f">ECORE_EXE_EVENT_DEL</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A child process has been deleted (it exited, naming consistant with the rest of ecore).  <a href="#a95be6a579ad942b068b064ac6896e92f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#a5c071e00f68fca5cbb414d2faad9acb7">ECORE_EXE_EVENT_DATA</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Data from a child process.  <a href="#a5c071e00f68fca5cbb414d2faad9acb7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Ecore_8h.html#ae52cdfa67c6d91f67266762dff8b5e22">ECORE_EXE_EVENT_ERROR</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Errors from a child process.  <a href="#ae52cdfa67c6d91f67266762dff8b5e22"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>The file that provides the program utility, main loop and timer functions. </p>
<p>This header provides the Ecore event handling loop. For more details, see <a class="el" href="group__Ecore__Main__Loop__Group.html">Main Loop Functions</a>.</p>
<p>For the main loop to be of any use, you need to be able to add events and event handlers. Events for file descriptor events are covered in <a class="el" href="group__Ecore__FD__Handler__Group.html">File Event Handling Functions</a>.</p>
<p>Time functions are covered in <a class="el" href="group__Ecore__Time__Group.html">Ecore Time Functions</a>.</p>
<p>There is also provision for callbacks for when the loop enters or exits an idle state. See <a class="el" href="group__Idle__Group.html">Idle Handlers</a> for more information.</p>
<p>Functions are also provided for spawning child processes using fork. See <a class="el" href="group__Ecore__Exe__Basic__Group.html">Process Spawning Functions</a> and <a class="el" href="group__Ecore__Exe__Signal__Group.html">Spawned Process Signal Functions</a> for more details. </p>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599"></a><!-- doxytag: member="Ecore.h::_Ecore_Exe_Flags" ref="a6fb12d2a7c21ff1340c0f69447f91599" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="Ecore_8h.html#a6fb12d2a7c21ff1340c0f69447f91599">_Ecore_Exe_Flags</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599a76bc9e447a456727dc2d686b4682b512"></a><!-- doxytag: member="ECORE_EXE_PIPE_READ" ref="a6fb12d2a7c21ff1340c0f69447f91599a76bc9e447a456727dc2d686b4682b512" args="" -->ECORE_EXE_PIPE_READ</em>&nbsp;</td><td>
<p>Exe Pipe Read mask. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599a83dcb150caa9f5f4ce548eaa4a92c6af"></a><!-- doxytag: member="ECORE_EXE_PIPE_WRITE" ref="a6fb12d2a7c21ff1340c0f69447f91599a83dcb150caa9f5f4ce548eaa4a92c6af" args="" -->ECORE_EXE_PIPE_WRITE</em>&nbsp;</td><td>
<p>Exe Pipe Write mask. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599ad3f4759d4ba470d6f5504621c903011a"></a><!-- doxytag: member="ECORE_EXE_PIPE_ERROR" ref="a6fb12d2a7c21ff1340c0f69447f91599ad3f4759d4ba470d6f5504621c903011a" args="" -->ECORE_EXE_PIPE_ERROR</em>&nbsp;</td><td>
<p>Exe Pipe error mask. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599ae97566413d58b792e92369966ffeece5"></a><!-- doxytag: member="ECORE_EXE_PIPE_READ_LINE_BUFFERED" ref="a6fb12d2a7c21ff1340c0f69447f91599ae97566413d58b792e92369966ffeece5" args="" -->ECORE_EXE_PIPE_READ_LINE_BUFFERED</em>&nbsp;</td><td>
<p>Reads are buffered until a newline and delivered 1 event per line. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599aa8d2dc2d658ba80c75c4fce0c2045583"></a><!-- doxytag: member="ECORE_EXE_PIPE_ERROR_LINE_BUFFERED" ref="a6fb12d2a7c21ff1340c0f69447f91599aa8d2dc2d658ba80c75c4fce0c2045583" args="" -->ECORE_EXE_PIPE_ERROR_LINE_BUFFERED</em>&nbsp;</td><td>
<p>Errors are buffered until a newline and delivered 1 event per line. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599a6abaaef6ac55c2317bdd23cf71167062"></a><!-- doxytag: member="ECORE_EXE_PIPE_AUTO" ref="a6fb12d2a7c21ff1340c0f69447f91599a6abaaef6ac55c2317bdd23cf71167062" args="" -->ECORE_EXE_PIPE_AUTO</em>&nbsp;</td><td>
<p>stdout and stderr are buffered automatically </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599a302fabf13b4f24007eba55b9e6041132"></a><!-- doxytag: member="ECORE_EXE_RESPAWN" ref="a6fb12d2a7c21ff1340c0f69447f91599a302fabf13b4f24007eba55b9e6041132" args="" -->ECORE_EXE_RESPAWN</em>&nbsp;</td><td>
<p>FIXME: Exe is restarted if it dies. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599a9ddffda12f29c003ebf2c34506779637"></a><!-- doxytag: member="ECORE_EXE_USE_SH" ref="a6fb12d2a7c21ff1340c0f69447f91599a9ddffda12f29c003ebf2c34506779637" args="" -->ECORE_EXE_USE_SH</em>&nbsp;</td><td>
<p>Use /bin/sh to run the command. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a6fb12d2a7c21ff1340c0f69447f91599aaabb08cf4feb543f62e47c9baeac224e"></a><!-- doxytag: member="ECORE_EXE_NOT_LEADER" ref="a6fb12d2a7c21ff1340c0f69447f91599aaabb08cf4feb543f62e47c9baeac224e" args="" -->ECORE_EXE_NOT_LEADER</em>&nbsp;</td><td>
<p>Do not use setsid() to have the executed process be its own session leader. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23f"></a><!-- doxytag: member="Ecore.h::_Ecore_Exe_Win32_Priority" ref="a938d59de6a9385e7d98c4b45f809d23f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="Ecore_8h.html#a938d59de6a9385e7d98c4b45f809d23f">_Ecore_Exe_Win32_Priority</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa09f6aedb549a47677c3810995128304b"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_IDLE" ref="a938d59de6a9385e7d98c4b45f809d23fa09f6aedb549a47677c3810995128304b" args="" -->ECORE_EXE_WIN32_PRIORITY_IDLE</em>&nbsp;</td><td>
<p>Idle priority, for monitoring the system. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa9402a8afb6fbccde2f4b8ea7c8330de6"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL" ref="a938d59de6a9385e7d98c4b45f809d23fa9402a8afb6fbccde2f4b8ea7c8330de6" args="" -->ECORE_EXE_WIN32_PRIORITY_BELOW_NORMAL</em>&nbsp;</td><td>
<p>Below default priority. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa9683498607dc0bec65c4252b7e91708e"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_NORMAL" ref="a938d59de6a9385e7d98c4b45f809d23fa9683498607dc0bec65c4252b7e91708e" args="" -->ECORE_EXE_WIN32_PRIORITY_NORMAL</em>&nbsp;</td><td>
<p>Default priority. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa0be06f30e0e5ff0a616ec31859dc83b5"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_ABOVE_NORMAL" ref="a938d59de6a9385e7d98c4b45f809d23fa0be06f30e0e5ff0a616ec31859dc83b5" args="" -->ECORE_EXE_WIN32_PRIORITY_ABOVE_NORMAL</em>&nbsp;</td><td>
<p>Above default priority. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa430693ca4ff578d64c39aa72edc1a7a6"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_HIGH" ref="a938d59de6a9385e7d98c4b45f809d23fa430693ca4ff578d64c39aa72edc1a7a6" args="" -->ECORE_EXE_WIN32_PRIORITY_HIGH</em>&nbsp;</td><td>
<p>High priority, use with care as other threads in the system will not get processor time. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a938d59de6a9385e7d98c4b45f809d23fa0b4330d21ae5dc02b8de2e92133e604b"></a><!-- doxytag: member="ECORE_EXE_WIN32_PRIORITY_REALTIME" ref="a938d59de6a9385e7d98c4b45f809d23fa0b4330d21ae5dc02b8de2e92133e604b" args="" -->ECORE_EXE_WIN32_PRIORITY_REALTIME</em>&nbsp;</td><td>
<p>Realtime priority, should be almost never used as it can interrupt system threads that manage mouse input, keyboard input, and background disk flushing. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ab5644f471dfa3bd182619601d9b60608"></a><!-- doxytag: member="Ecore.h::_Ecore_Fd_Handler_Flags" ref="ab5644f471dfa3bd182619601d9b60608" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="Ecore_8h.html#ab5644f471dfa3bd182619601d9b60608">_Ecore_Fd_Handler_Flags</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ab5644f471dfa3bd182619601d9b60608a1699f804eccf88e7e169a4a20f1d44e7"></a><!-- doxytag: member="ECORE_FD_READ" ref="ab5644f471dfa3bd182619601d9b60608a1699f804eccf88e7e169a4a20f1d44e7" args="" -->ECORE_FD_READ</em>&nbsp;</td><td>
<p>Fd Read mask. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab5644f471dfa3bd182619601d9b60608a654f7e6af4875742c5349c2cc55d1bab"></a><!-- doxytag: member="ECORE_FD_WRITE" ref="ab5644f471dfa3bd182619601d9b60608a654f7e6af4875742c5349c2cc55d1bab" args="" -->ECORE_FD_WRITE</em>&nbsp;</td><td>
<p>Fd Write mask. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab5644f471dfa3bd182619601d9b60608a829d91235e3ca5eba61330c96a8074de"></a><!-- doxytag: member="ECORE_FD_ERROR" ref="ab5644f471dfa3bd182619601d9b60608a829d91235e3ca5eba61330c96a8074de" args="" -->ECORE_FD_ERROR</em>&nbsp;</td><td>
<p>Fd Error mask. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="a50dcd2652ba68fe4aac51c70c3fa1e2c"></a><!-- doxytag: member="Ecore.h::_Ecore_Poller_Type" ref="a50dcd2652ba68fe4aac51c70c3fa1e2c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="Ecore_8h.html#a50dcd2652ba68fe4aac51c70c3fa1e2c">_Ecore_Poller_Type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a50dcd2652ba68fe4aac51c70c3fa1e2ca022dfec751388e380cf01621bd0f797f"></a><!-- doxytag: member="ECORE_POLLER_CORE" ref="a50dcd2652ba68fe4aac51c70c3fa1e2ca022dfec751388e380cf01621bd0f797f" args="" -->ECORE_POLLER_CORE</em>&nbsp;</td><td>
<p>The core poller interval. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab30a028208395dfc16338c2eb9e5cc38"></a><!-- doxytag: member="Ecore.h::ecore_animator_add" ref="ab30a028208395dfc16338c2eb9e5cc38" args="(Eina_Bool(*func)(void *data), const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a>* ecore_animator_add </td>
          <td>(</td>
          <td class="paramtype">Eina_Bool(*)(void *data)&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a animator to tick off at every animaton tick during main loop execution. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when it ticks off </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to pass to the function </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A handle to the new animator</dd></dl>
<p>This function adds a animator and returns its handle on success and NULL on failure. The function <code>func</code> will be called every N seconds where N is the frametime interval set by <a class="el" href="Ecore_8h.html#a991995e7fe58c88992f6620e98304ec0" title="Set the animator call interval in seconds.">ecore_animator_frametime_set()</a>. The function will be passed the <code>data</code> pointer as its parameter.</p>
<p>When the animator <code>func</code> is called, it must return a value of either 1 or 0. If it returns 1 (or ECORE_CALLBACK_RENEW), it will be called again at the next tick, or if it returns 0 (or ECORE_CALLBACK_CANCEL) it will be deleted automatically making any references/handles for it invalid. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00054">ecore_animator_add()</a>, <a class="el" href="ecore__time_8c_source.html#l00069">ecore_loop_time_get()</a>, <a class="el" href="ecore__timer_8c_source.html#l00248">ecore_timer_delay()</a>, and <a class="el" href="ecore__timer_8c_source.html#l00145">ecore_timer_loop_add()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00054">ecore_animator_add()</a>, and <a class="el" href="ecore_8c_source.html#l00091">ecore_init()</a>.</p>

</div>
</div>
<a class="anchor" id="abe305ca44ea97aa64cb8eb9d4411a18e"></a><!-- doxytag: member="Ecore.h::ecore_animator_del" ref="abe305ca44ea97aa64cb8eb9d4411a18e" args="(Ecore_Animator *animator)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_animator_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *&nbsp;</td>
          <td class="paramname"> <em>animator</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete the specified animator from the animator list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>animator</em>&nbsp;</td><td>The animator to delete </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer set for the animator</dd></dl>
<p>Delete the specified <code>aqnimator</code> from the set of animators that are executed during main loop execution. This function returns the data parameter that was being passed to the callback on success, or NULL on failure. After this call returns the specified animator object <code>animator</code> is invalid and should not be used again. It will not get called again after deletion. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00090">ecore_animator_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00090">ecore_animator_del()</a>.</p>

</div>
</div>
<a class="anchor" id="a8175a8a4f4299bc48059e4884a0c2aab"></a><!-- doxytag: member="Ecore.h::ecore_animator_frametime_get" ref="a8175a8a4f4299bc48059e4884a0c2aab" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI double ecore_animator_frametime_get </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the animator call interval in seconds. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The time in second in between animator ticks.</dd></dl>
<p>this function retrieves the time inbetween animator ticks, in seconds. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00132">ecore_animator_frametime_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00132">ecore_animator_frametime_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a991995e7fe58c88992f6620e98304ec0"></a><!-- doxytag: member="Ecore.h::ecore_animator_frametime_set" ref="a991995e7fe58c88992f6620e98304ec0" args="(double frametime)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_animator_frametime_set </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>frametime</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the animator call interval in seconds. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>frametime</em>&nbsp;</td><td>The time in seconds in between animator ticks.</td></tr>
  </table>
  </dd>
</dl>
<p>This function sets the time interval (in seconds) inbetween animator ticks. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00111">ecore_animator_frametime_set()</a>, <a class="el" href="ecore__timer_8c_source.html#l00116">ecore_timer_add()</a>, and <a class="el" href="ecore__timer_8c_source.html#l00171">ecore_timer_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00111">ecore_animator_frametime_set()</a>.</p>

</div>
</div>
<a class="anchor" id="a188fc2acc136ec18d16cfdeb98ae90ac"></a><!-- doxytag: member="Ecore.h::ecore_animator_freeze" ref="a188fc2acc136ec18d16cfdeb98ae90ac" args="(Ecore_Animator *animator)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_animator_freeze </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *&nbsp;</td>
          <td class="paramname"> <em>animator</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Suspend the specified animator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>animator</em>&nbsp;</td><td>The animator to delete</td></tr>
  </table>
  </dd>
</dl>
<p>The specified <code>animator</code> will be temporarly removed from the set of animators that are executed during main loop execution. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00146">ecore_animator_freeze()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00146">ecore_animator_freeze()</a>.</p>

</div>
</div>
<a class="anchor" id="a16695ad6b22ba4f061a7b3e2f3563fe3"></a><!-- doxytag: member="Ecore.h::ecore_animator_thaw" ref="a16695ad6b22ba4f061a7b3e2f3563fe3" args="(Ecore_Animator *animator)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_animator_thaw </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a52fada8588561ce171a2d679df7f0c02">Ecore_Animator</a> *&nbsp;</td>
          <td class="paramname"> <em>animator</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restore execution of the specified animator. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>animator</em>&nbsp;</td><td>The animator to delete</td></tr>
  </table>
  </dd>
</dl>
<p>The specified <code>animator</code> will be put back in the set of animators that are executed during main loop execution. </p>

<p>References <a class="el" href="ecore__anim_8c_source.html#l00167">ecore_animator_thaw()</a>.</p>

<p>Referenced by <a class="el" href="ecore__anim_8c_source.html#l00167">ecore_animator_thaw()</a>.</p>

</div>
</div>
<a class="anchor" id="aa74019a7622d9c4521e54580f50bd4cd"></a><!-- doxytag: member="Ecore.h::ecore_app_args_get" ref="aa74019a7622d9c4521e54580f50bd4cd" args="(int *argc, char ***argv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_app_args_get </td>
          <td>(</td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&nbsp;</td>
          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the programs stored command-line arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>A pointer to the return value to hold argc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>A pointer to the return value to hold argv</td></tr>
  </table>
  </dd>
</dl>
<p>When called, this funciton returns the arguments for the program stored by <a class="el" href="Ecore_8h.html#aeb02de014af9bfbe960c9f70b085e229" title="Set up the programs command-line arguments.">ecore_app_args_set()</a>. The integer pointed to by <code>argc</code> will be filled, if the pointer is not NULL, and the string array pointer <code>argv</code> will be filled also if the pointer is not NULL. The values they are filled with will be the same set by <a class="el" href="Ecore_8h.html#aeb02de014af9bfbe960c9f70b085e229" title="Set up the programs command-line arguments.">ecore_app_args_set()</a>. </p>

<p>References <a class="el" href="ecore__app_8c_source.html#l00056">ecore_app_args_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__app_8c_source.html#l00056">ecore_app_args_get()</a>, <a class="el" href="ecore__config__extra_8c_source.html#l00637">ecore_config_args_parse()</a>, <a class="el" href="ecore__getopt_8c_source.html#l00616">ecore_getopt_help()</a>, <a class="el" href="ecore__getopt_8c_source.html#l01618">ecore_getopt_parse()</a>, and <a class="el" href="ecore__xcb__window_8c_source.html#l00597">ecore_x_window_defaults_set()</a>.</p>

</div>
</div>
<a class="anchor" id="aeb02de014af9bfbe960c9f70b085e229"></a><!-- doxytag: member="Ecore.h::ecore_app_args_set" ref="aeb02de014af9bfbe960c9f70b085e229" args="(int argc, const char **argv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_app_args_set </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set up the programs command-line arguments. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>The same as passed as argc to the programs main() function </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>The same as passed as argv to the programs main() function</td></tr>
  </table>
  </dd>
</dl>
<p>A call to this function will store the programs command-line arguments for later use by <a class="el" href="Ecore_8h.html#aaf096e6a822314947a189c40a5b52a3e" title="Restart the program executable with the command-line arguments stored.">ecore_app_restart()</a> or <a class="el" href="Ecore_8h.html#aa74019a7622d9c4521e54580f50bd4cd" title="Return the programs stored command-line arguments.">ecore_app_args_get()</a>. </p>

<p>References <a class="el" href="ecore__app_8c_source.html#l00036">ecore_app_args_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore__app_8c_source.html#l00036">ecore_app_args_set()</a>.</p>

</div>
</div>
<a class="anchor" id="aaf096e6a822314947a189c40a5b52a3e"></a><!-- doxytag: member="Ecore.h::ecore_app_restart" ref="aaf096e6a822314947a189c40a5b52a3e" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_app_restart </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restart the program executable with the command-line arguments stored. </p>
<p>This function will restart &amp; re-execute this program in place of itself using the command-line arguments stored by <a class="el" href="Ecore_8h.html#aeb02de014af9bfbe960c9f70b085e229" title="Set up the programs command-line arguments.">ecore_app_args_set()</a>. This is an easy way for a program to restart itself for cleanup purposes, configuration reasons or in the event of a crash. </p>

<p>References <a class="el" href="ecore__app_8c_source.html#l00071">ecore_app_restart()</a>.</p>

<p>Referenced by <a class="el" href="ecore__app_8c_source.html#l00071">ecore_app_restart()</a>.</p>

</div>
</div>
<a class="anchor" id="ac999f93a7d2a84546fec6db2b54ecc4a"></a><!-- doxytag: member="Ecore.h::ecore_event_add" ref="ac999f93a7d2a84546fec6db2b54ecc4a" args="(int type, void *ev, void(*func_free)(void *data, void *ev), void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#a3df1c1b99f44f47e791c89556e925b9d">Ecore_Event</a>* ecore_event_add </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *data, void *ev)&nbsp;</td>
          <td class="paramname"> <em>func_free</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an event to the event queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The event type to add to the end of the event queue </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ev</em>&nbsp;</td><td>The private data structure for this event type </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func_free</em>&nbsp;</td><td>The function to be called to free this private structure </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the free function </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A Handle for that event</dd></dl>
<p>On success this function returns a handle to an event on the event queue, or NULL if it fails. If it succeeds, an event of type <code>type</code> will be added to the queue for processing by event handlers added by <a class="el" href="Ecore_8h.html#a2f2a52b06e720932685c1d408db0a17d" title="Add an event handler.">ecore_event_handler_add()</a>. The <code>ev</code> parameter will be a pointer to the event private data that is specific to that event type. When the event is no longer needed, <code>func_free</code> will be called and passed the private structure pointer for cleaning up. If <code>func_free</code> is NULL, free() will be called with the private structure pointer. func_free is passed <code>data</code> as its data parameter. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00189">ecore_event_add()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00189">ecore_event_add()</a>, <a class="el" href="ecore__exe_8c_source.html#l00424">ecore_exe_pipe_run()</a>, <a class="el" href="ecore__imf__context_8c_source.html#l00756">ecore_imf_context_commit_event_add()</a>, <a class="el" href="ecore__imf__context_8c_source.html#l00790">ecore_imf_context_delete_surrounding_event_add()</a>, <a class="el" href="ecore__imf__context_8c_source.html#l00721">ecore_imf_context_preedit_changed_event_add()</a>, <a class="el" href="ecore__imf__context_8c_source.html#l00697">ecore_imf_context_preedit_end_event_add()</a>, <a class="el" href="ecore__imf__context_8c_source.html#l00673">ecore_imf_context_preedit_start_event_add()</a>, and <a class="el" href="ecore__job_8c_source.html#l00053">ecore_job_add()</a>.</p>

</div>
</div>
<a class="anchor" id="ae8d052b97c036d82d2b44f8ea7cbeb64"></a><!-- doxytag: member="Ecore.h::ecore_event_current_event_get" ref="ae8d052b97c036d82d2b44f8ea7cbeb64" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_event_current_event_get </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the current event type pointer handled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current event pointer being handled if inside a handler callback</dd></dl>
<p>If the program is currently inside an Ecore event handler callback this will return the pointer of the current event being processed. If Ecore is not inside an event handler, NULL will be returned.</p>
<p>This is useful when certain Ecore modules such as Ecore_Evas "swallow" events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program access the event data if the type of the event is handled by the program. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00332">ecore_event_current_event_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00332">ecore_event_current_event_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a51773f3086610117744716fe2d3b5e5d"></a><!-- doxytag: member="Ecore.h::ecore_event_current_type_get" ref="a51773f3086610117744716fe2d3b5e5d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int ecore_event_current_type_get </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the current event type being handled. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The current event type being handled if inside a handler callback</dd></dl>
<p>If the program is currently inside an Ecore event handler callback this will return the type of the current event being processed. If Ecore is not inside an event handler, ECORE_EVENT_NONE is returned.</p>
<p>This is useful when certain Ecore modules such as Ecore_Evas "swallow" events and not all the original information is passed on. In special cases this extra information may be useful or needed and using this call can let the program know if the event type being handled is one it wants to get more information about. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00312">ecore_event_current_type_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00312">ecore_event_current_type_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a1cf708f8772a4f315060a5b56ded5f2a"></a><!-- doxytag: member="Ecore.h::ecore_event_del" ref="a1cf708f8772a4f315060a5b56ded5f2a" args="(Ecore_Event *event)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_event_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a3df1c1b99f44f47e791c89556e925b9d">Ecore_Event</a> *&nbsp;</td>
          <td class="paramname"> <em>event</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete an event from the queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event handle to delete </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer originally set for the event free function</dd></dl>
<p>This deletes the event <code>event</code> from the event queue, and returns the <code>data</code> parameer originally set when adding it with <a class="el" href="Ecore_8h.html#ac999f93a7d2a84546fec6db2b54ecc4a" title="Add an event to the event queue.">ecore_event_add()</a>. This does not immediately call the free function, and it may be called later on cleanup, and so if the free function depends on the data pointer to work, you should defer cleaning of this till the free function is called later. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00210">ecore_event_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00210">ecore_event_del()</a>, and <a class="el" href="ecore__job_8c_source.html#l00080">ecore_job_del()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b9706e648c6b77911cf5c2cb49cffa2"></a><!-- doxytag: member="Ecore.h::ecore_event_filter_add" ref="a3b9706e648c6b77911cf5c2cb49cffa2" args="(void *(*func_start)(void *data), Eina_Bool(*func_filter)(void *data, void *loop_data, int type, void *event), void(*func_end)(void *data, void *loop_data), const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#ab7f572080436ad68d75e8eb4b7cbab45">Ecore_Event_Filter</a>* ecore_event_filter_add </td>
          <td>(</td>
          <td class="paramtype">void *(*)(void *data)&nbsp;</td>
          <td class="paramname"> <em>func_start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool(*)(void *data, void *loop_data, int type, void *event)&nbsp;</td>
          <td class="paramname"> <em>func_filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *data, void *loop_data)&nbsp;</td>
          <td class="paramname"> <em>func_end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a filter the current event queue. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>func_start</em>&nbsp;</td><td>Function to call just before filtering and return data </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func_filter</em>&nbsp;</td><td>Function to call on each event </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func_end</em>&nbsp;</td><td>Function to call after the queu has been filtered </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to pass to the filter functions </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A filter handle</dd></dl>
<p>This adds a filter to call callbacks to loop through the event queue and filter events out of the queue. On failure NULL is returned. On success a Filter handle is returned. Filters are called on the queue just before Event handler processing to try and remove redundant events. Just as processing starts <code>func_start</code> is called and passed the <code>data</code> pointer. This function returns a pointer that is used as loop_data that is now passed to <code>func_filter</code> as loop_data. <code>func_filter</code> is also passed <code>data</code> and the event type and private event structure. If this callback returns 0, the event is removed from the queue. If it returns 1, the event is kept. When processing is finished <code>func_end</code> is called and is passed the loop_data and <code>data</code> pointer to clean up. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00259">ecore_event_filter_add()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00259">ecore_event_filter_add()</a>, and <a class="el" href="ecore__xcb_8c_source.html#l00156">ecore_x_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d6fad05740824f26ba4901d448f0429"></a><!-- doxytag: member="Ecore.h::ecore_event_filter_del" ref="a9d6fad05740824f26ba4901d448f0429" args="(Ecore_Event_Filter *ef)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_event_filter_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#ab7f572080436ad68d75e8eb4b7cbab45">Ecore_Event_Filter</a> *&nbsp;</td>
          <td class="paramname"> <em>ef</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete an event filter. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ef</em>&nbsp;</td><td>The event filter handle </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data set for the filter</dd></dl>
<p>Delete a filter that has been added by its <code>ef</code> handle. On success this will return the data pointer set when this filter was added. On failure NULL is returned. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00285">ecore_event_filter_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00285">ecore_event_filter_del()</a>.</p>

</div>
</div>
<a class="anchor" id="a2f2a52b06e720932685c1d408db0a17d"></a><!-- doxytag: member="Ecore.h::ecore_event_handler_add" ref="a2f2a52b06e720932685c1d408db0a17d" args="(int type, Eina_Bool(*func)(void *data, int type, void *event), const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#a252a2566c9c7c9094964ab8e157f0521">Ecore_Event_Handler</a>* ecore_event_handler_add </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool(*)(void *data, int type, void *event)&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an event handler. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of the event this handler will get called for </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call when the event is found in the queue </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A data pointer to pass to the called function <code>func</code> </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new Event handler, or NULL on failure</dd></dl>
<p>Add an event handler to the list of handlers. This will, on success, return a handle to the event handler object that was created, that can be used later to remove the handler using <a class="el" href="Ecore_8h.html#a3e3a748d36d1c5c60bce2a8940f4e2ff" title="Delete an event handler.">ecore_event_handler_del()</a>. The <code>type</code> parameter is the integer of the event type that will trigger this callback to be called. The callback <code>func</code> is called when this event is processed and will be passed the event type, a pointer to the private event structure that is specific to that event type, and a data pointer that is provided in this call as the <code>data</code> parameter.</p>
<p>When the callback <code>func</code> is called, it must return 1 or 0. If it returns 1 (or ECORE_CALLBACK_RENEW), It will keep being called as per normal, for each handler set up for that event type. If it returns 0 (or ECORE_CALLBACK_CANCEL), it will cease processing handlers for that particular event, so all handler set to handle that event type that have not already been called, will not be. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00101">ecore_event_handler_add()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00101">ecore_event_handler_add()</a>, and <a class="el" href="ecore__ipc_8c_source.html#l00265">ecore_ipc_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a3e3a748d36d1c5c60bce2a8940f4e2ff"></a><!-- doxytag: member="Ecore.h::ecore_event_handler_del" ref="a3e3a748d36d1c5c60bce2a8940f4e2ff" args="(Ecore_Event_Handler *event_handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_event_handler_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a252a2566c9c7c9094964ab8e157f0521">Ecore_Event_Handler</a> *&nbsp;</td>
          <td class="paramname"> <em>event_handler</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete an event handler. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>event_handler</em>&nbsp;</td><td>Event handler handle to delete </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Data passed to handler</dd></dl>
<p>Delete a specified event handler from the handler list. On success this will delete the event handler and return the pointer passed as <code>data</code> when the handler was added by <a class="el" href="Ecore_8h.html#a2f2a52b06e720932685c1d408db0a17d" title="Add an event handler.">ecore_event_handler_add()</a>. On failure NULL will be returned. Once a handler is deleted it will no longer be called. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00151">ecore_event_handler_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__events_8c_source.html#l00151">ecore_event_handler_del()</a>, and <a class="el" href="ecore__ipc_8c_source.html#l00309">ecore_ipc_shutdown()</a>.</p>

</div>
</div>
<a class="anchor" id="a2eecd9a96b831f5dca328048d12904c6"></a><!-- doxytag: member="Ecore.h::ecore_event_type_new" ref="a2eecd9a96b831f5dca328048d12904c6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int ecore_event_type_new </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allocate a new event type id sensibly and return the new id. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A new event type id.</dd></dl>
<p>This function allocates a new event type id and returns it. Once an event type has been allocated it can never be de-allocated during the life of the program. There is no guarantee of the contents of this event ID, or how it is calculated, except that the ID will be unique to the current instance of the process. </p>

<p>References <a class="el" href="ecore__events_8c_source.html#l00232">ecore_event_type_new()</a>.</p>

<p>Referenced by <a class="el" href="ecore__con_8c_source.html#l00099">ecore_con_init()</a>, <a class="el" href="ecore__con__url_8c_source.html#l00136">ecore_con_url_init()</a>, <a class="el" href="ecore__events_8c_source.html#l00232">ecore_event_type_new()</a>, <a class="el" href="ecore__fb_8c_source.html#l00042">ecore_fb_init()</a>, <a class="el" href="ecore__imf_8c_source.html#l00038">ecore_imf_init()</a>, <a class="el" href="ecore__ipc_8c_source.html#l00265">ecore_ipc_init()</a>, and <a class="el" href="ecore__x_8c_source.html#l00215">ecore_x_init()</a>.</p>

</div>
</div>
<a class="anchor" id="a2a9781bd92527e7150d5cff1832dbc6c"></a><!-- doxytag: member="Ecore.h::ecore_exe_callback_pre_free_set" ref="a2a9781bd92527e7150d5cff1832dbc6c" args="(Ecore_Exe *exe, void(*func)(void *data, const Ecore_Exe *exe))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_exe_callback_pre_free_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *&nbsp;</td>
          <td class="paramname"> <em>exe</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *data, const <a class="el" href="Ecore_8h.html#a16f4610064ba77bb0e3ff20485a6362a">Ecore_Exe</a> *exe)&nbsp;</td>
          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Defines a function to be called before really freeing the handle data. </p>
<p>This might be useful for language bindings such as Python and Perl that need to deallocate wrappers associated with this handle.</p>
<p>This handle should never be modified by this call. It should be considered informative only. All getters are valid when the given function is called back.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>exe</em>&nbsp;</td><td>The child process to attach the pre_free function. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to call before <em>exe</em> is freed. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="ecore__exe_8c_source.html#l00715">ecore_exe_callback_pre_free_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore__exe_8c_source.html#l00715">ecore_exe_callback_pre_free_set()</a>.</p>

</div>
</div>
<a class="anchor" id="a8af98881ecd1d24072b4fabf216754c4"></a><!-- doxytag: member="Ecore.h::ecore_init" ref="a8af98881ecd1d24072b4fabf216754c4" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int ecore_init </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set up connections, signal handlers, sockets etc. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 or greater on success, 0 otherwise</dd></dl>
<p>This function sets up all singal handlers and the basic event loop. If it succeeds, 1 will be returned, otherwise 0 will be returned.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="Ecore_8h.html" title="The file that provides the program utility, main loop and timer functions.">Ecore.h</a>&gt;</span>

 <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)
 {
   <span class="keywordflow">if</span> (!ecore_init())
   {
     printf(<span class="stringliteral">&quot;ERROR: Cannot init Ecore!\n&quot;</span>);
     <span class="keywordflow">return</span> -1;
   }
   <a class="code" href="group__Ecore__Main__Loop__Group.html#ga04daa7648a9d027bed25d27c150fdda7" title="Runs the application main loop.">ecore_main_loop_begin</a>();
   ecore_shutdown();
 }
</pre></div> 
<p>References <a class="el" href="ecore__anim_8c_source.html#l00054">ecore_animator_add()</a>, <a class="el" href="ecore__glib_8c_source.html#l00257">ecore_main_loop_glib_integrate()</a>, and <a class="el" href="ecore__time_8c_source.html#l00035">ecore_time_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a09f7d8a9e9dae42282afe03b5e555284"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_glib_always_integrate_disable" ref="a09f7d8a9e9dae42282afe03b5e555284" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_main_loop_glib_always_integrate_disable </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disable always integrating glib. </p>
<p>If ecore is compiled with --enable-glib-integration-always (to always call <a class="el" href="Ecore_8h.html#aa2a8df1297e14326ba7191a35b918ffa" title="Request ecore to integrate GLib&#39;s main loop.">ecore_main_loop_glib_integrate()</a> when <a class="el" href="Ecore_8h.html#a8af98881ecd1d24072b4fabf216754c4" title="Set up connections, signal handlers, sockets etc.">ecore_init()</a> is called), then calling this before calling <a class="el" href="Ecore_8h.html#a8af98881ecd1d24072b4fabf216754c4" title="Set up connections, signal handlers, sockets etc.">ecore_init()</a> will disable the integration. This is for apps that explicitly do not want this to happen for whatever reasons they may have. </p>

<p>References <a class="el" href="ecore__glib_8c_source.html#l00287">ecore_main_loop_glib_always_integrate_disable()</a>.</p>

<p>Referenced by <a class="el" href="ecore__glib_8c_source.html#l00287">ecore_main_loop_glib_always_integrate_disable()</a>.</p>

</div>
</div>
<a class="anchor" id="aa2a8df1297e14326ba7191a35b918ffa"></a><!-- doxytag: member="Ecore.h::ecore_main_loop_glib_integrate" ref="aa2a8df1297e14326ba7191a35b918ffa" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool ecore_main_loop_glib_integrate </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Request ecore to integrate GLib's main loop. </p>
<p>This will add a small overhead during every main loop interaction by checking glib's default main context (used by its main loop). If it have events to be checked (timers, file descriptors or idlers), then these will be polled alongside with Ecore's own events, then dispatched before Ecore's. This is done by calling <a class="el" href="group__Ecore__Main__Loop__Group.html#ga8a27adb0909fd019003ec33097594572" title="Sets the function to use when monitoring multiple file descriptors, and waiting until...">ecore_main_loop_select_func_set()</a>.</p>
<p>This will cooperate with previously set <a class="el" href="group__Ecore__Main__Loop__Group.html#ga8a27adb0909fd019003ec33097594572" title="Sets the function to use when monitoring multiple file descriptors, and waiting until...">ecore_main_loop_select_func_set()</a> by calling the old function. Similarly, if you want to override <a class="el" href="group__Ecore__Main__Loop__Group.html#ga8a27adb0909fd019003ec33097594572" title="Sets the function to use when monitoring multiple file descriptors, and waiting until...">ecore_main_loop_select_func_set()</a> after main loop is integrated, call the new select function set by this call (get it by calling <a class="el" href="group__Ecore__Main__Loop__Group.html#gaff6bdf721e9679e2b5a6cb77bcc754c3" title="Gets the select function set by ecore_select_func_set(), or the native select function...">ecore_main_loop_select_func_get()</a> right after <a class="el" href="Ecore_8h.html#aa2a8df1297e14326ba7191a35b918ffa" title="Request ecore to integrate GLib&#39;s main loop.">ecore_main_loop_glib_integrate()</a>).</p>
<p>This is useful to use GMainLoop libraries, like GTK, GUPnP, LibSoup, GConf and more. Adobe Flash plugin and other plugins systems depend on this as well.</p>
<p>Once initialized/integrated, it will be valid until Ecore is completely shut down.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>this is only available if Ecore was compiled with GLib support.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> on success of <code>EINA_FALSE</code> if it failed, likely no GLib support in Ecore. </dd></dl>

<p>References <a class="el" href="ecore__glib_8c_source.html#l00257">ecore_main_loop_glib_integrate()</a>, <a class="el" href="ecore__main_8c_source.html#l00208">ecore_main_loop_select_func_get()</a>, and <a class="el" href="ecore__main_8c_source.html#l00196">ecore_main_loop_select_func_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore_8c_source.html#l00091">ecore_init()</a>, and <a class="el" href="ecore__glib_8c_source.html#l00257">ecore_main_loop_glib_integrate()</a>.</p>

</div>
</div>
<a class="anchor" id="a97f384620d2d84b2ce84a4106811bdb8"></a><!-- doxytag: member="Ecore.h::ecore_poller_add" ref="a97f384620d2d84b2ce84a4106811bdb8" args="(Ecore_Poller_Type type, int interval, Eina_Bool(*func)(void *data), const void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI <a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a>* ecore_poller_add </td>
          <td>(</td>
          <td class="paramtype">Ecore_Poller_Type type&nbsp;</td>
          <td class="paramname"> <em>__UNUSED__</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>interval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Eina_Bool(*)(void *data)&nbsp;</td>
          <td class="paramname"> <em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a poller to call the given function at a particular tick interval. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The ticker type to attach the poller to </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>interval</em>&nbsp;</td><td>The poll interval </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function. If <code>func</code> returns 1, the poller is rescheduled for the next tick interval. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data to pass to <code>func</code> when it is called. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A poller object on success. <code>NULL</code> on failure.</dd></dl>
<p>This function adds a poller callback that is to be called regularly along with all other poller callbacks so the pollers are synchronized with all other pollers running off the same poller type and at the same tick interval. This should be used for polling things when polling is desired or required, and you do not have specific requirements on the exact times to poll and want to avoid extra process wakeups for polling. This will save power as the CPU has more of a chance to go into a low power state the longer it is asleep for, so this should be used if you are at all power conscious.</p>
<p>The <code>type</code> parameter defines the poller tick type (there is a virtual clock ticking all the time - though ecore avoids making it tick when there will not be any work to do at that tick point). There is only one ticker at the moment - that is ECORE_POLLER_CORE. This is here for future expansion if multiple clocks with different frequencies are really required. The default time between ticks for the ECORE_POLLER_CORE ticker is 0.125 seconds.</p>
<p>The <code>interval</code> is the number of ticker ticks that will pass by in between invocations of the <code>func</code> callback. This must be between 1 and 32768 inclusive, and must be a power of 2 (i.e. 1, 2, 4, 8, 16, ... 16384, 32768). If it is 1, then the function will be called every tick. if it is 2, then it will be called every 2nd tick, if it is 8, then every 8th tick etc. Exactly which tick is undefined, as only the interval between calls can be defined. Ecore will endeavour to keep pollers synchronised and to call as many in 1 wakeup event as possible.</p>
<p>This function adds a poller and returns its handle on success and NULL on failure. The function <code>func</code> will be called at tick intervals described above. The function will be passed the <code>data</code> pointer as its parameter.</p>
<p>When the poller <code>func</code> is called, it must return a value of either 1 (or ECORE_CALLBACK_RENEW) or 0 (or ECORE_CALLBACK_CANCEL). If it returns 1, it will be called again at the next tick, or if it returns 0 it will be deleted automatically making any references/handles for it invalid. </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00285">ecore_poller_add()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00285">ecore_poller_add()</a>.</p>

</div>
</div>
<a class="anchor" id="a1ead511a352718d80b392e0edab2058a"></a><!-- doxytag: member="Ecore.h::ecore_poller_del" ref="a1ead511a352718d80b392e0edab2058a" args="(Ecore_Poller *poller)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void* ecore_poller_del </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *&nbsp;</td>
          <td class="paramname"> <em>poller</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete the specified poller from the timer list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>poller</em>&nbsp;</td><td>The poller to delete. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer set for the timer when <a class="el" href="Ecore_8h.html#a97f384620d2d84b2ce84a4106811bdb8">ecore_poller_add</a> was called. <code>NULL</code> is returned if the function is unsuccessful.</dd></dl>
<p>Note: <code>poller</code> must be a valid handle. If the poller function has already returned 0, the handle is no longer valid (and does not need to be delete). </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00405">ecore_poller_del()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00405">ecore_poller_del()</a>.</p>

</div>
</div>
<a class="anchor" id="a08740b533d1155975646e503479c3317"></a><!-- doxytag: member="Ecore.h::ecore_poller_poll_interval_get" ref="a08740b533d1155975646e503479c3317" args="(Ecore_Poller_Type type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI double ecore_poller_poll_interval_get </td>
          <td>(</td>
          <td class="paramtype">Ecore_Poller_Type type&nbsp;</td>
          <td class="paramname"> <em>__UNUSED__</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the time between ticks (in seconds) for the given ticker clock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The ticker type to query </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The time in seconds between ticks of the ticker clock</dd></dl>
<p>This will get the time between ticks of the specifider ticker clock. </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00232">ecore_poller_poll_interval_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00232">ecore_poller_poll_interval_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a43f8b1ec0a368174a3809498de26f514"></a><!-- doxytag: member="Ecore.h::ecore_poller_poll_interval_set" ref="a43f8b1ec0a368174a3809498de26f514" args="(Ecore_Poller_Type type, double poll_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_poller_poll_interval_set </td>
          <td>(</td>
          <td class="paramtype">Ecore_Poller_Type type&nbsp;</td>
          <td class="paramname"> <em>__UNUSED__</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>poll_time</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the time between ticks (in seconds) for the given ticker clock. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The ticker type to adjust </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>poll_time</em>&nbsp;</td><td>The time (in seconds) between ticks of the clock</td></tr>
  </table>
  </dd>
</dl>
<p>This will adjust the time between ticks of the given ticker type defined by <code>type</code> to the time period defined by <code>poll_time</code>. </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00217">ecore_poller_poll_interval_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00217">ecore_poller_poll_interval_set()</a>.</p>

</div>
</div>
<a class="anchor" id="a3557087869773a2f85371256719523aa"></a><!-- doxytag: member="Ecore.h::ecore_poller_poller_interval_get" ref="a3557087869773a2f85371256719523aa" args="(Ecore_Poller *poller)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int ecore_poller_poller_interval_get </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *&nbsp;</td>
          <td class="paramname"> <em>poller</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets the polling interval rate of <code>poller</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>poller</em>&nbsp;</td><td>The Ecore_Poller to change the interval of </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the interval, in ticks, that <code>poller</code> polls at</dd></dl>
<p>This returns a poller's polling interval, or 0 on error. </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00374">ecore_poller_poller_interval_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00374">ecore_poller_poller_interval_get()</a>.</p>

</div>
</div>
<a class="anchor" id="a798694c1fec1ee18caed62bd1541fc10"></a><!-- doxytag: member="Ecore.h::ecore_poller_poller_interval_set" ref="a798694c1fec1ee18caed62bd1541fc10" args="(Ecore_Poller *poller, int interval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI Eina_Bool ecore_poller_poller_interval_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Ecore_8h.html#a0e967ed90714bea99df9ac0337b414bb">Ecore_Poller</a> *&nbsp;</td>
          <td class="paramname"> <em>poller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>interval</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Changes the polling interval rate of <code>poller</code>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>poller</em>&nbsp;</td><td>The Ecore_Poller to change the interval of </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>interval</em>&nbsp;</td><td>The tick interval to set; must be a power of 2 but &lt;= 32768 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true on success, false on failure</dd></dl>
<p>This allows the changing of a poller's polling interval. It is useful when you want to alter a poll rate without deleting and re-creating a poller. </p>

<p>References <a class="el" href="ecore__poll_8c_source.html#l00330">ecore_poller_poller_interval_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore__poll_8c_source.html#l00330">ecore_poller_poller_interval_set()</a>.</p>

</div>
</div>
<a class="anchor" id="ac64ef382d78a50e07af9e8c67800a57c"></a><!-- doxytag: member="Ecore.h::ecore_shutdown" ref="ac64ef382d78a50e07af9e8c67800a57c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int ecore_shutdown </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Shut down connections, signal handlers sockets etc. </p>
<p>This function shuts down all things set up in <a class="el" href="Ecore_8h.html#a8af98881ecd1d24072b4fabf216754c4" title="Set up connections, signal handlers, sockets etc.">ecore_init()</a> and cleans up all event queues, handlers, filters, timers, idlers, idle enterers/exiters etc. set up after <a class="el" href="Ecore_8h.html#a8af98881ecd1d24072b4fabf216754c4" title="Set up connections, signal handlers, sockets etc.">ecore_init()</a> was called.</p>
<p>Do not call this function from any callback that may be called from the main loop, as the main loop will then fall over and not function properly. </p>

</div>
</div>
<a class="anchor" id="a9c999fb87833cd31d27707f5c5bc8022"></a><!-- doxytag: member="Ecore.h::ecore_timer_precision_get" ref="a9c999fb87833cd31d27707f5c5bc8022" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI double ecore_timer_precision_get </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieves the current precision used by timer infrastructure. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Ecore_8h.html#af2020d0ffd3718823f77715a4cc02259" title="Sets the precision to be used by timer infrastructure.">ecore_timer_precision_set()</a> </dd></dl>

<p>References <a class="el" href="ecore__timer_8c_source.html#l00056">ecore_timer_precision_get()</a>.</p>

<p>Referenced by <a class="el" href="ecore__timer_8c_source.html#l00056">ecore_timer_precision_get()</a>.</p>

</div>
</div>
<a class="anchor" id="af2020d0ffd3718823f77715a4cc02259"></a><!-- doxytag: member="Ecore.h::ecore_timer_precision_set" ref="af2020d0ffd3718823f77715a4cc02259" args="(double precision)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI void ecore_timer_precision_set </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the precision to be used by timer infrastructure. </p>
<p>When system calculates time to expire the next timer we'll be able to delay the timer by the given amount so more timers will fit in the same dispatch, waking up the system less often and thus being able to save power.</p>
<p>Be aware that kernel may delay delivery even further, these delays are always possible due other tasks having higher priorities or other scheduler policies.</p>
<p>Example: We have 2 timers, one that expires in a 2.0s and another that expires in 2.1s, if precision is 0.1s, then the Ecore will request for the next expire to happen in 2.1s and not 2.0s and another one of 0.1 as it would before.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Ecore is smart enough to see if there are timers in the precision range, if it does not, in our example if no second timer in (T + precision) existed, then it would use the minimum timeout.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>allowed introduced timeout delay, in seconds. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="ecore__timer_8c_source.html#l00086">ecore_timer_precision_set()</a>.</p>

<p>Referenced by <a class="el" href="ecore__timer_8c_source.html#l00086">ecore_timer_precision_set()</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a5c071e00f68fca5cbb414d2faad9acb7"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_DATA" ref="a5c071e00f68fca5cbb414d2faad9acb7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int <a class="el" href="Ecore_8h.html#a5c071e00f68fca5cbb414d2faad9acb7">ECORE_EXE_EVENT_DATA</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Data from a child process. </p>

</div>
</div>
<a class="anchor" id="a95be6a579ad942b068b064ac6896e92f"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_DEL" ref="a95be6a579ad942b068b064ac6896e92f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int <a class="el" href="Ecore_8h.html#a95be6a579ad942b068b064ac6896e92f">ECORE_EXE_EVENT_DEL</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A child process has been deleted (it exited, naming consistant with the rest of ecore). </p>

</div>
</div>
<a class="anchor" id="ae52cdfa67c6d91f67266762dff8b5e22"></a><!-- doxytag: member="Ecore.h::ECORE_EXE_EVENT_ERROR" ref="ae52cdfa67c6d91f67266762dff8b5e22" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EAPI int <a class="el" href="Ecore_8h.html#ae52cdfa67c6d91f67266762dff8b5e22">ECORE_EXE_EVENT_ERROR</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Errors from a child process. </p>

</div>
</div>
</div>
 
 <div id="push"></div>
 </div> <!-- #content -->
  </div> <!-- .layout -->
 
 </div> <!-- #container -->
 
 
  <div id="footer">
    <table><tr>
      <td class="copyright">Copyright &copy;2010 Enlightenment</td>
      <td class="generated">Docs generated Fri Jul 2 12:11:49 2010</td>
    </tr></table>
  </div>


</body>
</html>