summaryrefslogtreecommitdiff
path: root/shared/inotify/doc/man/man3
diff options
context:
space:
mode:
Diffstat (limited to 'shared/inotify/doc/man/man3')
-rw-r--r--shared/inotify/doc/man/man3/Inotify.3376
-rw-r--r--shared/inotify/doc/man/man3/InotifyEvent.3172
-rw-r--r--shared/inotify/doc/man/man3/InotifyException.333
-rw-r--r--shared/inotify/doc/man/man3/InotifyWatch.3134
-rw-r--r--shared/inotify/doc/man/man3/inotify-cxx.cpp.318
-rw-r--r--shared/inotify/doc/man/man3/inotify-cxx.h.316
6 files changed, 454 insertions, 295 deletions
diff --git a/shared/inotify/doc/man/man3/Inotify.3 b/shared/inotify/doc/man/man3/Inotify.3
index 23188784..84579325 100644
--- a/shared/inotify/doc/man/man3/Inotify.3
+++ b/shared/inotify/doc/man/man3/Inotify.3
@@ -1,4 +1,4 @@
-.TH "Inotify" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "Inotify" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -46,11 +46,11 @@ Inotify \- inotify class
.br
.RI "\fIRemoves all watches. \fP"
.ti -1c
-.RI "size_t \fBGetWatchCount\fP () const"
+.RI "size_t \fBGetWatchCount\fP () const "
.br
.RI "\fIReturns the count of watches. \fP"
.ti -1c
-.RI "size_t \fBGetEnabledCount\fP () const"
+.RI "size_t \fBGetEnabledCount\fP () const "
.br
.RI "\fIReturns the count of enabled watches. \fP"
.ti -1c
@@ -86,7 +86,7 @@ Inotify \- inotify class
.br
.RI "\fISearches for a watch by a filesystem path. \fP"
.ti -1c
-.RI "int \fBGetDescriptor\fP () const"
+.RI "int \fBGetDescriptor\fP () const "
.br
.RI "\fIReturns the file descriptor. \fP"
.ti -1c
@@ -134,6 +134,37 @@ Inotify \- inotify class
.br
.RI "\fISets the maximum number of inotify watches per instance. \fP"
.in -1c
+.SS "Static Private Member Functions"
+
+.in +1c
+.ti -1c
+.RI "static std::string \fBGetCapabilityPath\fP (\fBInotifyCapability_t\fP cap) throw (InotifyException)"
+.br
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "int \fBm_fd\fP"
+.br
+.RI "\fIfile descriptor \fP"
+.ti -1c
+.RI "\fBIN_WATCH_MAP\fP \fBm_watches\fP"
+.br
+.RI "\fIwatches (by descriptors) \fP"
+.ti -1c
+.RI "\fBIN_WP_MAP\fP \fBm_paths\fP"
+.br
+.RI "\fIwatches (by paths) \fP"
+.ti -1c
+.RI "unsigned char \fBm_buf\fP [INOTIFY_BUFLEN]"
+.br
+.RI "\fIbuffer for events \fP"
+.ti -1c
+.RI "std::deque< \fBInotifyEvent\fP > \fBm_events\fP"
+.br
+.RI "\fIevent queue \fP"
+.in -1c
.SS "Friends"
.in +1c
@@ -148,7 +179,6 @@ inotify class
It holds information about the inotify device descriptor and manages the event queue.
.PP
If the INOTIFY_THREAD_SAFE is defined this class is thread-safe.
-.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "Inotify::Inotify () throw (\fBInotifyException\fP)"
@@ -170,17 +200,13 @@ Destructor.
Calls \fBClose()\fP due to clean-up.
.SH "Member Function Documentation"
.PP
-.SS "void Inotify::Close ()"
-.PP
-Removes all watches and closes the inotify device.
-.PP
-.SS "void Inotify::Add (\fBInotifyWatch\fP * pWatch) throw (\fBInotifyException\fP)"
+.SS "void Inotify::Add (\fBInotifyWatch\fP & rWatch) throw (\fBInotifyException\fP)\fC [inline]\fP"
.PP
Adds a new watch.
.PP
\fBParameters:\fP
.RS 4
-\fIpWatch\fP inotify watch
+\fIrWatch\fP inotify watch
.RE
.PP
\fBExceptions:\fP
@@ -189,13 +215,13 @@ Adds a new watch.
.RE
.PP
-.SS "void Inotify::Add (\fBInotifyWatch\fP & rWatch) throw (\fBInotifyException\fP)\fC [inline]\fP"
+.SS "void Inotify::Add (\fBInotifyWatch\fP * pWatch) throw (\fBInotifyException\fP)"
.PP
Adds a new watch.
.PP
\fBParameters:\fP
.RS 4
-\fIrWatch\fP inotify watch
+\fIpWatch\fP inotify watch
.RE
.PP
\fBExceptions:\fP
@@ -204,58 +230,85 @@ Adds a new watch.
.RE
.PP
-.SS "void Inotify::Remove (\fBInotifyWatch\fP * pWatch) throw (\fBInotifyException\fP)"
+.SS "void Inotify::Close ()"
.PP
-Removes a watch.
+Removes all watches and closes the inotify device.
.PP
-If the given watch is not present it does nothing.
+.SS "\fBInotifyWatch\fP * Inotify::FindWatch (const std::string & rPath)"
+.PP
+Searches for a watch by a filesystem path.
+.PP
+It tries to find a watch by the given filesystem path.
.PP
\fBParameters:\fP
.RS 4
-\fIpWatch\fP inotify watch
+\fIrPath\fP filesystem path
.RE
.PP
-\fBExceptions:\fP
+\fBReturns:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if removing failed
+pointer to a watch; NULL if no such watch exists
+.RE
+.PP
+\fBAttention:\fP
+.RS 4
+The path must be exactly identical to the one used for the searched watch. Be careful about absolute/relative and case-insensitive paths.
.RE
.PP
-.SS "void Inotify::Remove (\fBInotifyWatch\fP & rWatch) throw (\fBInotifyException\fP)\fC [inline]\fP"
+.SS "\fBInotifyWatch\fP * Inotify::FindWatch (int iDescriptor)"
.PP
-Removes a watch.
+Searches for a watch by a watch descriptor.
.PP
-If the given watch is not present it does nothing.
+It tries to find a watch by the given descriptor.
.PP
\fBParameters:\fP
.RS 4
-\fIrWatch\fP inotify watch
+\fIiDescriptor\fP watch descriptor
.RE
.PP
-\fBExceptions:\fP
+\fBReturns:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if removing failed
+pointer to a watch; NULL if no such watch exists
.RE
.PP
-.SS "void Inotify::RemoveAll ()"
+.SS "uint32_t Inotify::GetCapability (\fBInotifyCapability_t\fP cap) throw (\fBInotifyException\fP)\fC [static]\fP"
.PP
-Removes all watches.
+Acquires a particular inotify capability/limit.
.PP
-.SS "size_t Inotify::GetWatchCount () const\fC [inline]\fP"
+\fBParameters:\fP
+.RS 4
+\fIcap\fP capability/limit identifier
+.RE
.PP
-Returns the count of watches.
+\fBReturns:\fP
+.RS 4
+capability/limit value
+.RE
.PP
-This is the total count of all watches (regardless whether enabled or not).
+\fBExceptions:\fP
+.RS 4
+\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
+.RE
+.PP
+
+.SS "std::string Inotify::GetCapabilityPath (\fBInotifyCapability_t\fP cap) throw (\fBInotifyException\fP)\fC [static, private]\fP"
+.PP
+.SS "int Inotify::GetDescriptor () const\fC [inline]\fP"
+.PP
+Returns the file descriptor.
+.PP
+The descriptor can be used in standard low-level file functions (poll(), select(), fcntl() etc.).
.PP
\fBReturns:\fP
.RS 4
-count of watches
+valid file descriptor or -1 for inactive object
.RE
.PP
\fBSee also:\fP
.RS 4
-\fBGetEnabledCount()\fP
+\fBSetNonBlock()\fP
.RE
.PP
@@ -274,37 +327,20 @@ count of enabled watches
.RE
.PP
-.SS "void Inotify::WaitForEvents (bool fNoIntr = \fCfalse\fP) throw (\fBInotifyException\fP)"
+.SS "bool Inotify::GetEvent (\fBInotifyEvent\fP & rEvt) throw (\fBInotifyException\fP)\fC [inline]\fP"
.PP
-Waits for inotify events.
+Extracts a queued inotify event.
.PP
-It waits until one or more events occur. When called in nonblocking mode it only retrieves occurred events to the internal queue and exits.
+The extracted event is removed from the queue.
.PP
\fBParameters:\fP
.RS 4
-\fIfNoIntr\fP if true it re-calls the system call after a handled signal
+\fIrEvt\fP event object
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if reading events failed
-.RE
-.PP
-\fBSee also:\fP
-.RS 4
-\fBSetNonBlock()\fP
-.RE
-.PP
-
-.SS "size_t Inotify::GetEventCount ()\fC [inline]\fP"
-.PP
-Returns the count of received and queued events.
-.PP
-This number is related to the events in the queue inside this object, not to the events pending in the kernel.
-.PP
-\fBReturns:\fP
-.RS 4
-count of events
+\fI\fBInotifyException\fP\fP thrown only in very anomalous cases
.RE
.PP
@@ -325,181 +361,156 @@ The extracted event is removed from the queue. If the pointer is NULL it does no
.RE
.PP
-.SS "bool Inotify::GetEvent (\fBInotifyEvent\fP & rEvt) throw (\fBInotifyException\fP)\fC [inline]\fP"
-.PP
-Extracts a queued inotify event.
+.SS "size_t Inotify::GetEventCount ()\fC [inline]\fP"
.PP
-The extracted event is removed from the queue.
+Returns the count of received and queued events.
.PP
-\fBParameters:\fP
-.RS 4
-\fIrEvt\fP event object
-.RE
+This number is related to the events in the queue inside this object, not to the events pending in the kernel.
.PP
-\fBExceptions:\fP
+\fBReturns:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown only in very anomalous cases
+count of events
.RE
.PP
-.SS "bool Inotify::PeekEvent (\fBInotifyEvent\fP * pEvt) throw (\fBInotifyException\fP)"
-.PP
-Extracts a queued inotify event (without removing).
+.SS "static uint32_t Inotify::GetMaxEvents () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
.PP
-The extracted event stays in the queue. If the pointer is NULL it does nothing.
+Returns the maximum number of events in the kernel queue.
.PP
-\fBParameters:\fP
+\fBReturns:\fP
.RS 4
-\fIpEvt\fP event object
+maximum number of events in the kernel queue
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the provided pointer is NULL
+\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
.RE
.PP
-.SS "bool Inotify::PeekEvent (\fBInotifyEvent\fP & rEvt) throw (\fBInotifyException\fP)\fC [inline]\fP"
+.SS "static uint32_t Inotify::GetMaxInstances () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
.PP
-Extracts a queued inotify event (without removing).
+Returns the maximum number of inotify instances per process.
.PP
-The extracted event stays in the queue.
+It means the maximum number of open inotify file descriptors per running process.
.PP
-\fBParameters:\fP
+\fBReturns:\fP
.RS 4
-\fIrEvt\fP event object
+maximum number of inotify instances
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown only in very anomalous cases
+\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
.RE
.PP
-.SS "\fBInotifyWatch\fP * Inotify::FindWatch (int iDescriptor)"
+.SS "static uint32_t Inotify::GetMaxWatches () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
.PP
-Searches for a watch by a watch descriptor.
+Returns the maximum number of inotify watches per instance.
.PP
-It tries to find a watch by the given descriptor.
+It means the maximum number of inotify watches per inotify file descriptor.
.PP
-\fBParameters:\fP
+\fBReturns:\fP
.RS 4
-\fIiDescriptor\fP watch descriptor
+maximum number of inotify watches
.RE
.PP
-\fBReturns:\fP
+\fBExceptions:\fP
.RS 4
-pointer to a watch; NULL if no such watch exists
+\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
.RE
.PP
-.SS "\fBInotifyWatch\fP * Inotify::FindWatch (const std::string & rPath)"
-.PP
-Searches for a watch by a filesystem path.
+.SS "size_t Inotify::GetWatchCount () const\fC [inline]\fP"
.PP
-It tries to find a watch by the given filesystem path.
+Returns the count of watches.
.PP
-\fBParameters:\fP
-.RS 4
-\fIrPath\fP filesystem path
-.RE
+This is the total count of all watches (regardless whether enabled or not).
.PP
\fBReturns:\fP
.RS 4
-pointer to a watch; NULL if no such watch exists
+count of watches
.RE
.PP
-\fBAttention:\fP
+\fBSee also:\fP
.RS 4
-The path must be exactly identical to the one used for the searched watch. Be careful about absolute/relative and case-insensitive paths.
+\fBGetEnabledCount()\fP
.RE
.PP
-.SS "int Inotify::GetDescriptor () const\fC [inline]\fP"
+.SS "bool Inotify::PeekEvent (\fBInotifyEvent\fP & rEvt) throw (\fBInotifyException\fP)\fC [inline]\fP"
.PP
-Returns the file descriptor.
+Extracts a queued inotify event (without removing).
.PP
-The descriptor can be used in standard low-level file functions (poll(), select(), fcntl() etc.).
+The extracted event stays in the queue.
.PP
-\fBReturns:\fP
+\fBParameters:\fP
.RS 4
-valid file descriptor or -1 for inactive object
+\fIrEvt\fP event object
.RE
.PP
-\fBSee also:\fP
+\fBExceptions:\fP
.RS 4
-\fBSetNonBlock()\fP
+\fI\fBInotifyException\fP\fP thrown only in very anomalous cases
.RE
.PP
-.SS "void Inotify::SetNonBlock (bool fNonBlock) throw (\fBInotifyException\fP)"
-.PP
-Enables/disables non-blocking mode.
+.SS "bool Inotify::PeekEvent (\fBInotifyEvent\fP * pEvt) throw (\fBInotifyException\fP)"
.PP
-Use this mode if you want to monitor the descriptor (acquired thru \fBGetDescriptor()\fP) in functions such as poll(), select() etc.
+Extracts a queued inotify event (without removing).
.PP
-Non-blocking mode is disabled by default.
+The extracted event stays in the queue. If the pointer is NULL it does nothing.
.PP
\fBParameters:\fP
.RS 4
-\fIfNonBlock\fP enable/disable non-blocking mode
+\fIpEvt\fP event object
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if setting mode failed
-.RE
-.PP
-\fBSee also:\fP
-.RS 4
-\fBGetDescriptor()\fP, \fBSetCloseOnExec()\fP
+\fI\fBInotifyException\fP\fP thrown if the provided pointer is NULL
.RE
.PP
-.SS "void Inotify::SetCloseOnExec (bool fClOnEx) throw (\fBInotifyException\fP)"
-.PP
-Enables/disables closing on exec.
+.SS "void Inotify::Remove (\fBInotifyWatch\fP & rWatch) throw (\fBInotifyException\fP)\fC [inline]\fP"
.PP
-Enable this if you want to close the descriptor when executing another program. Otherwise, the descriptor will be inherited.
+Removes a watch.
.PP
-Closing on exec is disabled by default.
+If the given watch is not present it does nothing.
.PP
\fBParameters:\fP
.RS 4
-\fIfClOnEx\fP enable/disable closing on exec
+\fIrWatch\fP inotify watch
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if setting failed
-.RE
-.PP
-\fBSee also:\fP
-.RS 4
-\fBGetDescriptor()\fP, \fBSetNonBlock()\fP
+\fI\fBInotifyException\fP\fP thrown if removing failed
.RE
.PP
-.SS "uint32_t Inotify::GetCapability (\fBInotifyCapability_t\fP cap) throw (\fBInotifyException\fP)\fC [static]\fP"
+.SS "void Inotify::Remove (\fBInotifyWatch\fP * pWatch) throw (\fBInotifyException\fP)"
.PP
-Acquires a particular inotify capability/limit.
+Removes a watch.
.PP
-\fBParameters:\fP
-.RS 4
-\fIcap\fP capability/limit identifier
-.RE
+If the given watch is not present it does nothing.
.PP
-\fBReturns:\fP
+\fBParameters:\fP
.RS 4
-capability/limit value
+\fIpWatch\fP inotify watch
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
+\fI\fBInotifyException\fP\fP thrown if removing failed
.RE
.PP
+.SS "void Inotify::RemoveAll ()"
+.PP
+Removes all watches.
+.PP
.SS "void Inotify::SetCapability (\fBInotifyCapability_t\fP cap, uint32_t val) throw (\fBInotifyException\fP)\fC [static]\fP"
.PP
Modifies a particular inotify capability/limit.
@@ -522,18 +533,27 @@ Using this function requires root privileges. Beware of setting extensive values
.RE
.PP
-.SS "static uint32_t Inotify::GetMaxEvents () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
+.SS "void Inotify::SetCloseOnExec (bool fClOnEx) throw (\fBInotifyException\fP)"
.PP
-Returns the maximum number of events in the kernel queue.
+Enables/disables closing on exec.
.PP
-\fBReturns:\fP
+Enable this if you want to close the descriptor when executing another program. Otherwise, the descriptor will be inherited.
+.PP
+Closing on exec is disabled by default.
+.PP
+\fBParameters:\fP
.RS 4
-maximum number of events in the kernel queue
+\fIfClOnEx\fP enable/disable closing on exec
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
+\fI\fBInotifyException\fP\fP thrown if setting failed
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBGetDescriptor()\fP, \fBSetNonBlock()\fP
.RE
.PP
@@ -557,26 +577,29 @@ Using this function requires root privileges. Beware of setting extensive values
.RE
.PP
-.SS "static uint32_t Inotify::GetMaxInstances () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
-.PP
-Returns the maximum number of inotify instances per process.
+.SS "static void Inotify::SetMaxInstances (uint32_t val) throw (\fBInotifyException\fP)\fC [inline, static]\fP"
.PP
-It means the maximum number of open inotify file descriptors per running process.
+Sets the maximum number of inotify instances per process.
.PP
-\fBReturns:\fP
+\fBParameters:\fP
.RS 4
-maximum number of inotify instances
+\fIval\fP new value
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
+\fI\fBInotifyException\fP\fP thrown if the given value cannot be set
+.RE
+.PP
+\fBAttention:\fP
+.RS 4
+Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure.
.RE
.PP
-.SS "static void Inotify::SetMaxInstances (uint32_t val) throw (\fBInotifyException\fP)\fC [inline, static]\fP"
+.SS "static void Inotify::SetMaxWatches (uint32_t val) throw (\fBInotifyException\fP)\fC [inline, static]\fP"
.PP
-Sets the maximum number of inotify instances per process.
+Sets the maximum number of inotify watches per instance.
.PP
\fBParameters:\fP
.RS 4
@@ -594,40 +617,49 @@ Using this function requires root privileges. Beware of setting extensive values
.RE
.PP
-.SS "static uint32_t Inotify::GetMaxWatches () throw (\fBInotifyException\fP)\fC [inline, static]\fP"
+.SS "void Inotify::SetNonBlock (bool fNonBlock) throw (\fBInotifyException\fP)"
.PP
-Returns the maximum number of inotify watches per instance.
+Enables/disables non-blocking mode.
.PP
-It means the maximum number of inotify watches per inotify file descriptor.
+Use this mode if you want to monitor the descriptor (acquired thru \fBGetDescriptor()\fP) in functions such as poll(), select() etc.
.PP
-\fBReturns:\fP
+Non-blocking mode is disabled by default.
+.PP
+\fBParameters:\fP
.RS 4
-maximum number of inotify watches
+\fIfNonBlock\fP enable/disable non-blocking mode
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the given value cannot be acquired
+\fI\fBInotifyException\fP\fP thrown if setting mode failed
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBGetDescriptor()\fP, \fBSetCloseOnExec()\fP
.RE
.PP
-.SS "static void Inotify::SetMaxWatches (uint32_t val) throw (\fBInotifyException\fP)\fC [inline, static]\fP"
+.SS "void Inotify::WaitForEvents (bool fNoIntr = \fCfalse\fP) throw (\fBInotifyException\fP)"
.PP
-Sets the maximum number of inotify watches per instance.
+Waits for inotify events.
+.PP
+It waits until one or more events occur. When called in nonblocking mode it only retrieves occurred events to the internal queue and exits.
.PP
\fBParameters:\fP
.RS 4
-\fIval\fP new value
+\fIfNoIntr\fP if true it re-calls the system call after a handled signal
.RE
.PP
\fBExceptions:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if the given value cannot be set
+\fI\fBInotifyException\fP\fP thrown if reading events failed
.RE
.PP
-\fBAttention:\fP
+\fBSee also:\fP
.RS 4
-Using this function requires root privileges. Beware of setting extensive values - the greater value is set here the more physical memory may be used for the inotify infrastructure.
+\fBSetNonBlock()\fP
.RE
.PP
@@ -635,6 +667,28 @@ Using this function requires root privileges. Beware of setting extensive values
.PP
.SS "friend class \fBInotifyWatch\fP\fC [friend]\fP"
.PP
+.SH "Member Data Documentation"
+.PP
+.SS "unsigned char \fBInotify::m_buf\fP[INOTIFY_BUFLEN]\fC [private]\fP"
+.PP
+buffer for events
+.PP
+.SS "std::deque<\fBInotifyEvent\fP> \fBInotify::m_events\fP\fC [private]\fP"
+.PP
+event queue
+.PP
+.SS "int \fBInotify::m_fd\fP\fC [private]\fP"
+.PP
+file descriptor
+.PP
+.SS "\fBIN_WP_MAP\fP \fBInotify::m_paths\fP\fC [private]\fP"
+.PP
+watches (by paths)
+.PP
+.SS "\fBIN_WATCH_MAP\fP \fBInotify::m_watches\fP\fC [private]\fP"
+.PP
+watches (by descriptors)
+.PP
.SH "Author"
diff --git a/shared/inotify/doc/man/man3/InotifyEvent.3 b/shared/inotify/doc/man/man3/InotifyEvent.3
index 51899460..c45eaba9 100644
--- a/shared/inotify/doc/man/man3/InotifyEvent.3
+++ b/shared/inotify/doc/man/man3/InotifyEvent.3
@@ -1,4 +1,4 @@
-.TH "InotifyEvent" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "InotifyEvent" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -26,31 +26,31 @@ InotifyEvent \- inotify event class
.br
.RI "\fIDestructor. \fP"
.ti -1c
-.RI "int32_t \fBGetDescriptor\fP () const"
+.RI "int32_t \fBGetDescriptor\fP () const "
.br
.RI "\fIReturns the event watch descriptor. \fP"
.ti -1c
-.RI "uint32_t \fBGetMask\fP () const"
+.RI "uint32_t \fBGetMask\fP () const "
.br
.RI "\fIReturns the event mask. \fP"
.ti -1c
-.RI "bool \fBIsType\fP (uint32_t uType) const"
+.RI "bool \fBIsType\fP (uint32_t uType) const "
.br
.RI "\fIChecks for the event type. \fP"
.ti -1c
-.RI "uint32_t \fBGetCookie\fP () const"
+.RI "uint32_t \fBGetCookie\fP () const "
.br
.RI "\fIReturns the event cookie. \fP"
.ti -1c
-.RI "uint32_t \fBGetLength\fP () const"
+.RI "uint32_t \fBGetLength\fP () const "
.br
.RI "\fIReturns the event name length. \fP"
.ti -1c
-.RI "const std::string & \fBGetName\fP () const"
+.RI "const std::string & \fBGetName\fP () const "
.br
.RI "\fIReturns the event name. \fP"
.ti -1c
-.RI "void \fBGetName\fP (std::string &rName) const"
+.RI "void \fBGetName\fP (std::string &rName) const "
.br
.RI "\fIExtracts the event name. \fP"
.ti -1c
@@ -58,7 +58,7 @@ InotifyEvent \- inotify event class
.br
.RI "\fIReturns the source watch. \fP"
.ti -1c
-.RI "void \fBDumpTypes\fP (std::string &rStr) const"
+.RI "void \fBDumpTypes\fP (std::string &rStr) const "
.br
.RI "\fIFills the string with all types contained in the event mask. \fP"
.in -1c
@@ -78,6 +78,26 @@ InotifyEvent \- inotify event class
.br
.RI "\fIFills the string with all types contained in an event mask value. \fP"
.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "uint32_t \fBm_uMask\fP"
+.br
+.RI "\fImask \fP"
+.ti -1c
+.RI "uint32_t \fBm_uCookie\fP"
+.br
+.RI "\fIcookie \fP"
+.ti -1c
+.RI "std::string \fBm_name\fP"
+.br
+.RI "\fIname \fP"
+.ti -1c
+.RI "\fBInotifyWatch\fP * \fBm_pWatch\fP"
+.br
+.RI "\fIsource watch \fP"
+.in -1c
.SH "Detailed Description"
.PP
inotify event class
@@ -85,7 +105,6 @@ inotify event class
It holds all information about inotify event and provides access to its particular values.
.PP
This class is not (and is not intended to be) thread-safe and therefore it must not be used concurrently in multiple threads.
-.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "InotifyEvent::InotifyEvent ()\fC [inline]\fP"
@@ -113,95 +132,90 @@ Destructor.
.PP
.SH "Member Function Documentation"
.PP
-.SS "int32_t InotifyEvent::GetDescriptor () const"
-.PP
-Returns the event watch descriptor.
+.SS "void InotifyEvent::DumpTypes (std::string & rStr) const"
.PP
-\fBReturns:\fP
-.RS 4
-watch descriptor
-.RE
+Fills the string with all types contained in the event mask.
.PP
-\fBSee also:\fP
+\fBParameters:\fP
.RS 4
-\fBInotifyWatch::GetDescriptor()\fP
+\fIrStr\fP dumped event types
.RE
.PP
-.SS "uint32_t InotifyEvent::GetMask () const\fC [inline]\fP"
-.PP
-Returns the event mask.
+.SS "void InotifyEvent::DumpTypes (uint32_t uValue, std::string & rStr)\fC [static]\fP"
.PP
-\fBReturns:\fP
-.RS 4
-event mask
-.RE
+Fills the string with all types contained in an event mask value.
.PP
-\fBSee also:\fP
+\fBParameters:\fP
.RS 4
-\fBInotifyWatch::GetMask()\fP
+\fIuValue\fP event mask value
+.br
+\fIrStr\fP dumped event types
.RE
.PP
-.SS "static bool InotifyEvent::IsType (uint32_t uValue, uint32_t uType)\fC [inline, static]\fP"
-.PP
-Checks a value for the event type.
+.SS "uint32_t InotifyEvent::GetCookie () const\fC [inline]\fP"
.PP
-\fBParameters:\fP
-.RS 4
-\fIuValue\fP checked value
-.br
-\fIuType\fP type which is checked for
-.RE
+Returns the event cookie.
.PP
\fBReturns:\fP
.RS 4
-true = the value contains the given type, false = otherwise
+event cookie
.RE
.PP
-.SS "bool InotifyEvent::IsType (uint32_t uType) const\fC [inline]\fP"
+.SS "int32_t InotifyEvent::GetDescriptor () const"
.PP
-Checks for the event type.
+Returns the event watch descriptor.
.PP
-\fBParameters:\fP
+\fBReturns:\fP
.RS 4
-\fIuType\fP type which is checked for
+watch descriptor
.RE
.PP
-\fBReturns:\fP
+\fBSee also:\fP
.RS 4
-true = event mask contains the given type, false = otherwise
+\fBInotifyWatch::GetDescriptor()\fP
.RE
.PP
-.SS "uint32_t InotifyEvent::GetCookie () const\fC [inline]\fP"
+.SS "uint32_t InotifyEvent::GetLength () const\fC [inline]\fP"
.PP
-Returns the event cookie.
+Returns the event name length.
.PP
\fBReturns:\fP
.RS 4
-event cookie
+event name length
.RE
.PP
-.SS "uint32_t InotifyEvent::GetLength () const\fC [inline]\fP"
+.SS "uint32_t InotifyEvent::GetMask () const\fC [inline]\fP"
.PP
-Returns the event name length.
+Returns the event mask.
.PP
\fBReturns:\fP
.RS 4
-event name length
+event mask
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBInotifyWatch::GetMask()\fP
.RE
.PP
-.SS "const std::string& InotifyEvent::GetName () const\fC [inline]\fP"
+.SS "uint32_t InotifyEvent::GetMaskByName (const std::string & rName)\fC [static]\fP"
.PP
-Returns the event name.
+Finds the appropriate mask for a name.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIrName\fP mask name
+.RE
.PP
\fBReturns:\fP
.RS 4
-event name
+mask for name; 0 on failure
.RE
.PP
@@ -215,6 +229,16 @@ Extracts the event name.
.RE
.PP
+.SS "const std::string& InotifyEvent::GetName () const\fC [inline]\fP"
+.PP
+Returns the event name.
+.PP
+\fBReturns:\fP
+.RS 4
+event name
+.RE
+.PP
+
.SS "\fBInotifyWatch\fP* InotifyEvent::GetWatch ()\fC [inline]\fP"
.PP
Returns the source watch.
@@ -225,41 +249,55 @@ source watch
.RE
.PP
-.SS "uint32_t InotifyEvent::GetMaskByName (const std::string & rName)\fC [static]\fP"
+.SS "bool InotifyEvent::IsType (uint32_t uType) const\fC [inline]\fP"
.PP
-Finds the appropriate mask for a name.
+Checks for the event type.
.PP
\fBParameters:\fP
.RS 4
-\fIrName\fP mask name
+\fIuType\fP type which is checked for
.RE
.PP
\fBReturns:\fP
.RS 4
-mask for name; 0 on failure
+true = event mask contains the given type, false = otherwise
.RE
.PP
-.SS "void InotifyEvent::DumpTypes (uint32_t uValue, std::string & rStr)\fC [static]\fP"
+.SS "static bool InotifyEvent::IsType (uint32_t uValue, uint32_t uType)\fC [inline, static]\fP"
.PP
-Fills the string with all types contained in an event mask value.
+Checks a value for the event type.
.PP
\fBParameters:\fP
.RS 4
-\fIuValue\fP event mask value
+\fIuValue\fP checked value
.br
-\fIrStr\fP dumped event types
+\fIuType\fP type which is checked for
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+true = the value contains the given type, false = otherwise
.RE
.PP
-.SS "void InotifyEvent::DumpTypes (std::string & rStr) const"
+.SH "Member Data Documentation"
+.PP
+.SS "std::string \fBInotifyEvent::m_name\fP\fC [private]\fP"
.PP
-Fills the string with all types contained in the event mask.
+name
.PP
-\fBParameters:\fP
-.RS 4
-\fIrStr\fP dumped event types
-.RE
+.SS "\fBInotifyWatch\fP* \fBInotifyEvent::m_pWatch\fP\fC [private]\fP"
+.PP
+source watch
+.PP
+.SS "uint32_t \fBInotifyEvent::m_uCookie\fP\fC [private]\fP"
+.PP
+cookie
+.PP
+.SS "uint32_t \fBInotifyEvent::m_uMask\fP\fC [private]\fP"
+.PP
+mask
.PP
diff --git a/shared/inotify/doc/man/man3/InotifyException.3 b/shared/inotify/doc/man/man3/InotifyException.3
index 90c5990d..57bc1bec 100644
--- a/shared/inotify/doc/man/man3/InotifyException.3
+++ b/shared/inotify/doc/man/man3/InotifyException.3
@@ -1,4 +1,4 @@
-.TH "InotifyException" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "InotifyException" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -18,15 +18,15 @@ InotifyException \- Class for inotify exceptions.
.br
.RI "\fIConstructor. \fP"
.ti -1c
-.RI "const std::string & \fBGetMessage\fP () const"
+.RI "const std::string & \fBGetMessage\fP () const "
.br
.RI "\fIReturns the exception message. \fP"
.ti -1c
-.RI "int \fBGetErrorNumber\fP () const"
+.RI "int \fBGetErrorNumber\fP () const "
.br
.RI "\fIReturns the exception error number. \fP"
.ti -1c
-.RI "void * \fBGetSource\fP () const"
+.RI "void * \fBGetSource\fP () const "
.br
.RI "\fIReturns the exception source. \fP"
.in -1c
@@ -53,7 +53,6 @@ Class for inotify exceptions.
This class allows to acquire information about exceptional events. It makes easier to log or display error messages and to identify problematic code locations.
.PP
Although this class is basically thread-safe it is not intended to be shared between threads.
-.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "InotifyException::InotifyException (const std::string & rMsg = \fC''\fP, int iErr = \fC0\fP, void * pSrc = \fCNULL\fP)\fC [inline]\fP"
@@ -72,25 +71,25 @@ Constructor.
.SH "Member Function Documentation"
.PP
-.SS "const std::string& InotifyException::GetMessage () const\fC [inline]\fP"
+.SS "int InotifyException::GetErrorNumber () const\fC [inline]\fP"
.PP
-Returns the exception message.
+Returns the exception error number.
+.PP
+If not applicable this value is 0 (zero).
.PP
\fBReturns:\fP
.RS 4
-message
+error number (standardized; see errno.h)
.RE
.PP
-.SS "int InotifyException::GetErrorNumber () const\fC [inline]\fP"
-.PP
-Returns the exception error number.
+.SS "const std::string& InotifyException::GetMessage () const\fC [inline]\fP"
.PP
-If not applicable this value is 0 (zero).
+Returns the exception message.
.PP
\fBReturns:\fP
.RS 4
-error number (standardized; see errno.h)
+message
.RE
.PP
@@ -106,14 +105,14 @@ source
.SH "Member Data Documentation"
.PP
-.SS "std::string \fBInotifyException::m_msg\fP\fC [protected]\fP"
-.PP
-message
-.PP
.SS "int \fBInotifyException::m_err\fP\fC [protected]\fP"
.PP
error number
.PP
+.SS "std::string \fBInotifyException::m_msg\fP\fC [protected]\fP"
+.PP
+message
+.PP
.SS "void* \fBInotifyException::m_pSrc\fP\fC [mutable, protected]\fP"
.PP
source
diff --git a/shared/inotify/doc/man/man3/InotifyWatch.3 b/shared/inotify/doc/man/man3/InotifyWatch.3
index ea352997..cac74012 100644
--- a/shared/inotify/doc/man/man3/InotifyWatch.3
+++ b/shared/inotify/doc/man/man3/InotifyWatch.3
@@ -1,4 +1,4 @@
-.TH "InotifyWatch" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "InotifyWatch" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -22,15 +22,15 @@ InotifyWatch \- inotify watch class
.br
.RI "\fIDestructor. \fP"
.ti -1c
-.RI "int32_t \fBGetDescriptor\fP () const"
+.RI "int32_t \fBGetDescriptor\fP () const "
.br
.RI "\fIReturns the watch descriptor. \fP"
.ti -1c
-.RI "const std::string & \fBGetPath\fP () const"
+.RI "const std::string & \fBGetPath\fP () const "
.br
.RI "\fIReturns the watched file path. \fP"
.ti -1c
-.RI "uint32_t \fBGetMask\fP () const"
+.RI "uint32_t \fBGetMask\fP () const "
.br
.RI "\fIReturns the watch event mask. \fP"
.ti -1c
@@ -46,14 +46,46 @@ InotifyWatch \- inotify watch class
.br
.RI "\fIEnables/disables the watch. \fP"
.ti -1c
-.RI "bool \fBIsEnabled\fP () const"
+.RI "bool \fBIsEnabled\fP () const "
.br
.RI "\fIChecks whether the watch is enabled. \fP"
.ti -1c
-.RI "bool \fBIsRecursive\fP () const"
+.RI "bool \fBIsRecursive\fP () const "
.br
.RI "\fIChecks whether the watch is recursive. \fP"
.in -1c
+.SS "Private Member Functions"
+
+.in +1c
+.ti -1c
+.RI "IN_LOCK_DECL void \fB__Disable\fP ()"
+.br
+.RI "\fIDisables the watch (due to removing by the kernel). \fP"
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "std::string \fBm_path\fP"
+.br
+.RI "\fIwatched file path \fP"
+.ti -1c
+.RI "uint32_t \fBm_uMask\fP"
+.br
+.RI "\fIevent mask \fP"
+.ti -1c
+.RI "int32_t \fBm_wd\fP"
+.br
+.RI "\fIwatch descriptor \fP"
+.ti -1c
+.RI "\fBInotify\fP * \fBm_pInotify\fP"
+.br
+.RI "\fIinotify object \fP"
+.ti -1c
+.RI "bool \fBm_fEnabled\fP"
+.br
+.RI "\fIevents enabled yes/no \fP"
+.in -1c
.SS "Friends"
.in +1c
@@ -68,7 +100,6 @@ inotify watch class
It holds information about the inotify watch on a particular inode.
.PP
If the INOTIFY_THREAD_SAFE is defined this class is thread-safe.
-.PP
.SH "Constructor & Destructor Documentation"
.PP
.SS "InotifyWatch::InotifyWatch (const std::string & rPath, int32_t uMask, bool fEnabled = \fCtrue\fP)\fC [inline]\fP"
@@ -93,6 +124,11 @@ Destructor.
.PP
.SH "Member Function Documentation"
.PP
+.SS "void InotifyWatch::__Disable ()\fC [private]\fP"
+.PP
+Disables the watch (due to removing by the kernel).
+.PP
+This method must be called after receiving an event. It ensures the watch object is consistent with the kernel data.
.SS "int32_t InotifyWatch::GetDescriptor () const\fC [inline]\fP"
.PP
Returns the watch descriptor.
@@ -103,13 +139,13 @@ watch descriptor; -1 for inactive watch
.RE
.PP
-.SS "const std::string& InotifyWatch::GetPath () const\fC [inline]\fP"
+.SS "\fBInotify\fP* InotifyWatch::GetInotify ()\fC [inline]\fP"
.PP
-Returns the watched file path.
+Returns the appropriate inotify class instance.
.PP
\fBReturns:\fP
.RS 4
-file path
+inotify instance
.RE
.PP
@@ -123,30 +159,40 @@ event mask
.RE
.PP
-.SS "void InotifyWatch::SetMask (uint32_t uMask) throw (\fBInotifyException\fP)"
-.PP
-Sets the watch event mask.
+.SS "const std::string& InotifyWatch::GetPath () const\fC [inline]\fP"
.PP
-If the watch is active (added to an instance of \fBInotify\fP) this method may fail due to unsuccessful re-setting the watch in the kernel.
+Returns the watched file path.
.PP
-\fBParameters:\fP
+\fBReturns:\fP
.RS 4
-\fIuMask\fP event mask
+file path
.RE
.PP
-\fBExceptions:\fP
+
+.SS "bool InotifyWatch::IsEnabled () const\fC [inline]\fP"
+.PP
+Checks whether the watch is enabled.
+.PP
+\fBReturns:\fP
.RS 4
-\fI\fBInotifyException\fP\fP thrown if changing fails
+true = enables, false = disabled
.RE
.PP
-.SS "\fBInotify\fP* InotifyWatch::GetInotify ()\fC [inline]\fP"
+.SS "bool InotifyWatch::IsRecursive () const\fC [inline]\fP"
.PP
-Returns the appropriate inotify class instance.
+Checks whether the watch is recursive.
+.PP
+A recursive watch monitors a directory itself and all its subdirectories. This watch is a logical object which may have many underlying kernel watches.
.PP
\fBReturns:\fP
.RS 4
-inotify instance
+currently always false (recursive watches not yet supported)
+.RE
+.PP
+\fBAttention:\fP
+.RS 4
+Recursive watches are currently NOT supported. They are planned for future versions.
.RE
.PP
@@ -169,30 +215,20 @@ Re-setting the current state has no effect.
.RE
.PP
-.SS "bool InotifyWatch::IsEnabled () const\fC [inline]\fP"
-.PP
-Checks whether the watch is enabled.
-.PP
-\fBReturns:\fP
-.RS 4
-true = enables, false = disabled
-.RE
-.PP
-
-.SS "bool InotifyWatch::IsRecursive () const\fC [inline]\fP"
+.SS "void InotifyWatch::SetMask (uint32_t uMask) throw (\fBInotifyException\fP)"
.PP
-Checks whether the watch is recursive.
+Sets the watch event mask.
.PP
-A recursive watch monitors a directory itself and all its subdirectories. This watch is a logical object which may have many underlying kernel watches.
+If the watch is active (added to an instance of \fBInotify\fP) this method may fail due to unsuccessful re-setting the watch in the kernel.
.PP
-\fBReturns:\fP
+\fBParameters:\fP
.RS 4
-currently always false (recursive watches not yet supported)
+\fIuMask\fP event mask
.RE
.PP
-\fBAttention:\fP
+\fBExceptions:\fP
.RS 4
-Recursive watches are currently NOT supported. They are planned for future versions.
+\fI\fBInotifyException\fP\fP thrown if changing fails
.RE
.PP
@@ -200,6 +236,28 @@ Recursive watches are currently NOT supported. They are planned for future versi
.PP
.SS "friend class \fBInotify\fP\fC [friend]\fP"
.PP
+.SH "Member Data Documentation"
+.PP
+.SS "bool \fBInotifyWatch::m_fEnabled\fP\fC [private]\fP"
+.PP
+events enabled yes/no
+.PP
+.SS "std::string \fBInotifyWatch::m_path\fP\fC [private]\fP"
+.PP
+watched file path
+.PP
+.SS "\fBInotify\fP* \fBInotifyWatch::m_pInotify\fP\fC [private]\fP"
+.PP
+inotify object
+.PP
+.SS "uint32_t \fBInotifyWatch::m_uMask\fP\fC [private]\fP"
+.PP
+event mask
+.PP
+.SS "int32_t \fBInotifyWatch::m_wd\fP\fC [private]\fP"
+.PP
+watch descriptor
+.PP
.SH "Author"
diff --git a/shared/inotify/doc/man/man3/inotify-cxx.cpp.3 b/shared/inotify/doc/man/man3/inotify-cxx.cpp.3
index dd326b47..aed8e808 100644
--- a/shared/inotify/doc/man/man3/inotify-cxx.cpp.3
+++ b/shared/inotify/doc/man/man3/inotify-cxx.cpp.3
@@ -1,8 +1,10 @@
-.TH "inotify-cxx.cpp" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "inotify-cxx.cpp" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-inotify-cxx.cpp \- inotify C++ interface implementation
+inotify-cxx.cpp \- inotify C++ interface implementation
+
+.PP
.SH SYNOPSIS
.br
.PP
@@ -12,6 +14,12 @@ inotify-cxx.cpp \- inotify C++ interface implementation
.br
\fC#include <fcntl.h>\fP
.br
+\fC#include <fstream>\fP
+.br
+\fC#include <sys/syscall.h>\fP
+.br
+\fC#include <sys/inotify-syscalls.h>\fP
+.br
\fC#include 'inotify-cxx.h'\fP
.br
@@ -33,7 +41,7 @@ inotify C++ interface implementation
inotify C++ interface
.PP
-Copyright (C) 2006, 2007 Lukas Jelinek <lukas@aiken.cz>
+Copyright (C) 2006, 2007, 2009 Lukas Jelinek <lukas@aiken.cz>
.PP
This program is free software; you can redistribute it and/or modify it under the terms of one of the following licenses:
.PP
@@ -45,7 +53,9 @@ This program is free software; you can redistribute it and/or modify it under th
.IP "\(bu" 2
3. GNU General Public License, version 2 (see LICENSE-GPL)
.PP
-If you want to help with choosing the best license for you, please visit http://www.gnu.org/licenses/license-list.html.
+If you want to help with choosing the best license for you, please visit http://www.gnu.org/licenses/license-list.html.
+.PP
+Credits: Mike Frysinger (cleanup of includes)
.SH "Define Documentation"
.PP
.SS "#define DUMP_SEP"
diff --git a/shared/inotify/doc/man/man3/inotify-cxx.h.3 b/shared/inotify/doc/man/man3/inotify-cxx.h.3
index 4e0ec8b3..8c729b37 100644
--- a/shared/inotify/doc/man/man3/inotify-cxx.h.3
+++ b/shared/inotify/doc/man/man3/inotify-cxx.h.3
@@ -1,8 +1,10 @@
-.TH "inotify-cxx.h" 3 "18 Apr 2007" "Version 0.7.2" "inotify-cxx" \" -*- nroff -*-
+.TH "inotify-cxx.h" 3 "9 Dec 2009" "Version 0.7.3" "inotify-cxx" \" -*- nroff -*-
.ad l
.nh
.SH NAME
-inotify-cxx.h \- inotify C++ interface header
+inotify-cxx.h \- inotify C++ interface header
+
+.PP
.SH SYNOPSIS
.br
.PP
@@ -14,12 +16,8 @@ inotify-cxx.h \- inotify C++ interface header
.br
\fC#include <map>\fP
.br
-\fC#include <sys/syscall.h>\fP
-.br
\fC#include <sys/inotify.h>\fP
.br
-\fC#include <sys/inotify-syscalls.h>\fP
-.br
.SS "Classes"
@@ -111,7 +109,7 @@ inotify C++ interface header
inotify C++ interface
.PP
-Copyright (C) 2006, 2007 Lukas Jelinek, <lukas@aiken.cz>
+Copyright (C) 2006, 2007, 2009 Lukas Jelinek, <lukas@aiken.cz>
.PP
This program is free software; you can redistribute it and/or modify it under the terms of one of the following licenses:
.PP
@@ -123,7 +121,9 @@ This program is free software; you can redistribute it and/or modify it under th
.IP "\(bu" 2
3. GNU General Public License, version 2 (see LICENSE-GPL)
.PP
-If you want to help with choosing the best license for you, please visit http://www.gnu.org/licenses/license-list.html.
+If you want to help with choosing the best license for you, please visit http://www.gnu.org/licenses/license-list.html.
+.PP
+Credits: Mike Frysinger (cleanup of includes)
.SH "Define Documentation"
.PP
.SS "#define IN_EXC_MSG(msg) (std::string(__PRETTY_FUNCTION__) + ': ' + msg)"
bgstack15