<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="./robodoc.css" type="text/css" />
<title>./src/inotify.adb</title>
<!-- Source: ./src/inotify.adb -->
<!-- Generated with ROBODoc Version 4.99.43 (Feb  8 2020) -->
</head>
<body>
<div id="logo">
<a name="robo_top_of_doc">Hunter v1.6 code documentation</a>
</div> <!-- logo -->
<div id="navigation">
<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
<a class="menuitem" href="./sources.html#top">Source files</a>
<a class="menuitem" href="./index.html#top">Index</a>
<a class="menuitem" href="./robo_tasks.html#top">Tasks</a>
<a class="menuitem" href="./robo_constants.html#top">Constants</a>
<a class="menuitem" href="./robo_exceptions.html#top">Exceptions</a>
<a class="menuitem" href="./robo_subprograms.html#top">Subprograms</a>
<a class="menuitem" href="./robo_packages.html#top">Packages</a>
<a class="menuitem" href="./robo_commands.html#top">Commands</a>
<a class="menuitem" href="./robo_records.html#top">Records</a>
<a class="menuitem" href="./robo_types.html#top">Types</a>
<a class="menuitem" href="./robo_variables.html#top">Variables</a>
</div> <!-- navigation -->
<div id="content">
<h3>TABLE OF CONTENTS</h3>
<ul>
<li>1. <a href="#robo57">Inotify/Inotify.Watches_Container</a></li>
<li>2. <a href="#robo76">Inotify/Inotify.Watch_Data</a></li>
<li>3. <a href="#robo80">Inotify/Empty_Watch</a></li>
<li>4. <a href="#robo98">Inotify/Inotify.Instance</a></li>
<li>5. <a href="#robo100">Inotify/Inotify.Watches</a></li>
<li>6. <a href="#robo154">Inotify/Inotify_Error</a></li>
<li>7. <a href="#robo196">Inotify/Inotify.Add_Watch</a></li>
<li>8. <a href="#robo198">Inotify/Inotify.Get_Instance</a></li>
<li>9. <a href="#robo202">Inotify/Inotify.Inotify_Rm_Watch_C</a></li>
<li>10. <a href="#robo204">Inotify/Inotify.Watches_List</a></li>
</ul>
<hr />
<a name="Inotify2fInotify2eWatches5fContainer"></a>
<a name="robo57"></a><h2>Inotify/Inotify.Watches_Container [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used to store information about inotify watches
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">package</span> Watches_Container <span class="keyword">is</span> <span class="keyword">new</span> Vectors
     <span class="sign">(</span>Index_Type <span class="sign">=</span><span class="sign">&gt;</span> Positive<span class="sign">,</span> Element_Type <span class="sign">=</span><span class="sign">&gt;</span> Watch_Data<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eWatch5fData"></a>
<a name="robo76"></a><h2>Inotify/Inotify.Watch_Data [ Records ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_records.html#robo_top_of_doc">Records</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Data structure for inotify watches
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">type</span> Watch_Data <span class="keyword">is</span> <span class="keyword">record</span>
      Id<span class="sign">:</span> int<span class="sign">;</span>
      Path<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
   <span class="keyword">end</span> <span class="keyword">record</span><span class="sign">;</span>
</pre>
<p class="item_name">OPTIONS</p>
<pre> Id   - Id of the inotify watch
 Path - Full path which the inotify watch is watching
</pre>

<hr />
<a name="Inotify2fEmpty5fWatch"></a>
<a name="robo80"></a><h2>Inotify/Empty_Watch [ Constants ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_constants.html#robo_top_of_doc">Constants</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Empty inotify watch data
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <strong>Empty_Watch</strong><span class="sign">:</span> <span class="keyword">constant</span> Watch_Data <span class="sign">:</span><span class="sign">=</span>
     <span class="sign">(</span>Id <span class="sign">=</span><span class="sign">&gt;</span> 0<span class="sign">,</span> Path <span class="sign">=</span><span class="sign">&gt;</span> Null_Unbounded_String<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eInstance"></a>
<a name="robo98"></a><h2>Inotify/Inotify.Instance [ Variables ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_variables.html#robo_top_of_doc">Variables</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> inotify instance to read
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Instance<span class="sign">:</span> File_Descriptor<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eWatches"></a>
<a name="robo100"></a><h2>Inotify/Inotify.Watches [ Variables ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_variables.html#robo_top_of_doc">Variables</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Stores information about all active inotify watches
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Watches<span class="sign">:</span> Watches_Container<span class="sign">.</span>Vector<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify5fError"></a>
<a name="robo154"></a><h2>Inotify/Inotify_Error [ Exceptions ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_exceptions.html#robo_top_of_doc">Exceptions</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Exception raised by problems during manipulating watches list
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <strong>Inotify_Error</strong><span class="sign">:</span> <span class="keyword">exception</span><span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eAdd5fWatch"></a>
<a name="robo196"></a><h2>Inotify/Inotify.Add_Watch [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Add inotify watch to selected path
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Add_Watch<span class="sign">(</span>Path<span class="sign">:</span> String<span class="sign">)</span> <span class="keyword">is</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> Path - Full path to which new inotify watch will be added
</pre>

<hr />
<a name="Inotify2fInotify2eGet5fInstance"></a>
<a name="robo198"></a><h2>Inotify/Inotify.Get_Instance [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Get the current instance of inotify converted to C int type
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Get_Instance <span class="keyword">return</span> int <span class="keyword">is</span>
</pre>
<p class="item_name">RESULT</p>
<pre> The current inotify instance converted to C int type
</pre>

<hr />
<a name="Inotify2fInotify2eInotify5fRm5fWatch5fC"></a>
<a name="robo202"></a><h2>Inotify/Inotify.Inotify_Rm_Watch_C [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Binding to the C function
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Inotify_Rm_Watch_C<span class="sign">(</span>Fd<span class="sign">,</span> Wd<span class="sign">:</span> int<span class="sign">)</span> <span class="keyword">return</span> int <span class="keyword">with</span>
      Import <span class="sign">=</span><span class="sign">&gt;</span> True<span class="sign">,</span>
      Convention <span class="sign">=</span><span class="sign">&gt;</span> C<span class="sign">,</span>
      External_Name <span class="sign">=</span><span class="sign">&gt;</span> <span class="quote">"inotify_rm_watch"</span><span class="sign">;</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> Fd - inotify instance from which selected watch will be removed
 Wd - inotify watch index to remove
</pre>
<p class="item_name">RESULT</p>
<pre> 0 if inotify watch was succesfully removed, -1 when error occurs
</pre>

<hr />
<a name="Inotify2fInotify2eWatches5fList"></a>
<a name="robo204"></a><h2>Inotify/Inotify.Watches_List [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./inotify_ads.html#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Manipulate the list of currently active inotify watches
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">function</span> Watches_List
     <span class="sign">(</span>New_Watch<span class="sign">:</span> Watch_Data <span class="sign">:</span><span class="sign">=</span> <a href="#robo80">Empty_Watch</a><span class="sign">;</span> Clear<span class="sign">:</span> Boolean <span class="sign">:</span><span class="sign">=</span> False<span class="sign">)</span>
      <span class="keyword">return</span> Watches_Container<span class="sign">.</span>Vector <span class="keyword">is</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> New_Watch - A new inotify watch to add to the list. Can be empty.
             Default value is <a href="#robo80">Empty_Watch</a>
 Clear     - If true, clear the list
</pre>
<p class="item_name">RESULT</p>
<pre> The vector with list of current inotify active watches
</pre>

</div> <!-- content -->
<div id="footer">
<p>Generated from ./src/inotify.adb with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.43 on Sun Aug 08 2021 07:39:39
</p>
</div> <!-- footer -->
</body>
</html>

