diff --git a/docs/user/Doxyfile b/docs/user/Doxyfile
index b296b609da..a8f5f0d740 100644
--- a/docs/user/Doxyfile
+++ b/docs/user/Doxyfile
@@ -23,7 +23,7 @@ PROJECT_NAME = "The Haiku Book"
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = R1
+PROJECT_NUMBER = pre-R1
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -307,7 +307,7 @@ HIDE_SCOPE_NAMES = NO
# will put a list of the files that are included by a file in the documentation
# of that file.
-SHOW_INCLUDE_FILES = YES
+SHOW_INCLUDE_FILES = NO
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
@@ -326,7 +326,7 @@ SORT_MEMBER_DOCS = YES
# by member name. If set to NO (the default) the members will appear in
# declaration order.
-SORT_BRIEF_DOCS = NO
+SORT_BRIEF_DOCS = YES
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
# sorted by fully-qualified names, including namespaces. If set to
@@ -464,8 +464,8 @@ INPUT = . \
midi2 \
support \
../../headers/os/midi2 \
- ../../headers/os/support/parsedate.h \
- ../../headers/posix/syslog.h
+ ../../headers/os/support \
+ ../../headers/posix/syslog.h
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
diff --git a/docs/user/support/stopwatch.dox b/docs/user/support/stopwatch.dox
new file mode 100644
index 0000000000..32e9b72a0b
--- /dev/null
+++ b/docs/user/support/stopwatch.dox
@@ -0,0 +1,84 @@
+/*!
+\file StopWatch.h
+\ingroup support
+\ingroup libbe
+\brief Provides the BStopWatch class.
+*/
+
+/*!
+\class BStopWatch
+\ingroup support
+\ingroup libbe
+\brief A timer class.
+
+This class provides method to time events. The interface is designed to behave like a physical stopwatch. It is especially useful for debugging certain parts of your code, since it can behave like a 'cheap' profiler.
+*/
+
+/*!
+\fn BStopWatch::BStopWatch(const char *name, bool silent)
+\brief Constructs a BStopWatch object and starts the timer.
+
+The constructor creates a clean BStopWatch object. This object
+can be given a name. As soon as the object is created, the time
+will start ticking away. This class is designed to be usuable as a primitive profiling tool.
+If you are profiling your code with this class, pass true as the
+silentparameter. Whenever the object is destroyed, information on
+the elapsed time will be streamed to standard output.
+
+\param name The name you want to give this object. You may pass NULL.
+\param silent Pass true if you want to use this object as a simple profiler.
+*/
+
+/*!
+\fn BStopWatch::~BStopWatch()
+Destroys the object. If the object was constructed with the parameter
+silent set t to false, this destructor will print
+information on the elapsed time to standard output.
+*/
+
+/*!
+\fn void BStopWatch::Resume()
+\brief Resumes the timer when it is in a suspended state.
+\sa Suspend()
+*/
+
+/*!
+\fn void BStopWatch::Suspend()
+\brief Suspends the timer.
+\sa Resume()
+*/
+
+/*!
+\fn bigtime_t BStopWatch::Lap()
+\brief Start a new lap.
+
+This method sets a lap. With the current implementation you are unable to actually
+retrieve the timings of the laps. This is only printed to the standard output when the
+object is destroyed. Thus making this tool only usuable for use when doing some
+profiling.
+
+\attention Please note that the current implementation is limited to 10 laps. The value returned
+is the time that has passed since the timer was started (and not the time that has
+passed since the last lap). Any lap call beyond the 10th lap will overwrite the last
+value. Note that if the timer is suspended, nothing happens and the method will return 0.
+*/
+
+/*!
+\fn bigtime_t BStopWatch::ElapsedTime() const
+\brief Get the elapsed time the object has counted.
+\return The elapsed time in microseconds.
+*/
+
+/*!
+\fn void BStopWatch::Reset()
+\brief Restart the timer
+
+Resets the object: it clears the start time, it clears the stored laps and it restarts
+the timer.
+*/
+
+/*!
+\fn const char *BStopWatch::Name() const
+\brief Get the name
+\return the name given to the object at creation time.
+*/
\ No newline at end of file
diff --git a/docs/user/support/string.dox b/docs/user/support/string.dox
new file mode 100644
index 0000000000..50eb2d6616
--- /dev/null
+++ b/docs/user/support/string.dox
@@ -0,0 +1,186 @@
+/*!
+\file String.h
+\ingroup libbe
+\ingroup support
+\brief Implements the BString class.
+*/
+
+/*!
+\class BString
+\ingroup support
+\ingroup libbe
+\brief String class supporting common string operations.
+
+BString is a string allocation and manipulation class. The object
+takes care to allocate and free memory for you, so it will always be
+"big enough" to store your strings.
+
+\author Stefano Ceccherini
+\author
+ Threading utility classes:
+
+ - BLocker
+ - BAutoLock
+ - Thread Local Storage
+
+ Archiving and IO:
+
+ - BArchivable
+ - BFlattenable
+ - BDataIO
+
+ - BPositionIO
+
+ - BMemoryIO
+ - BMallocIO
+
+
+
+ Container classes:
+
+ - BBlockCache
+ - BList
+ - BString
+
+ BStopWatch
+ \ref TypeConstants.h "Common types and constants"
+ Error codes for all kits
+
*/
diff --git a/docs/user/support/syslog.dox b/docs/user/support/syslog.dox
index 3ad95f1817..44a4ff4b94 100644
--- a/docs/user/support/syslog.dox
+++ b/docs/user/support/syslog.dox
@@ -63,3 +63,166 @@ global session.
/*! \fn int setlogmask_thread(int priorityMask)
\brief sets the logging priority mask
*/
+
+/*! @{
+\name Options for openlog()
+*/
+
+/*! \def LOG_PID
+\brief Log the process (thread/team) ID with each message
+*/
+
+/*! \def LOG_CONS
+\brief Log to the system console on error
+*/
+
+/*! \def LOG_ODELAY
+\brief Delay open until syslog() is called
+*/
+
+/*! \def LOG_NDELAY
+\brief Connect to the syslog daemon immediately
+*/
+
+/*! \def LOG_SERIAL
+\brief Dump to serial output as well.
+\attention This is not yet implemented
+*/
+
+/*! \def LOG_PERROR
+\brief Dump to stderr as well
+*/
+
+/*! \def LOG_NOWAIT
+\brief Do not wait for child processes
+*/
+
+//! @}
+
+/*! @{
+\name Facilities for openlog()
+*/
+
+/*! \def LOG_KERN
+\brief Reserved for messages generated by the kernel.
+*/
+
+/*! \def LOG_USER
+\brief Reserved for messages generated by user processes.
+*/
+
+/*! \def LOG_MAIL
+\brief Standard (?) POSIX facility for messages by the mailing daemon.
+*/
+
+/*! \def LOG_DAEMON
+\brief Standard POSIX (?) facility for messages by daemons (and Haiku servers).
+*/
+
+/*! \def LOG_AUTH
+\brief Standard POSIX facility(?) for messages by the authentication services.
+*/
+
+/*! \def LOG_SYSLOG
+\brief Reserved for messages generated by the syslog daemon.
+*/
+
+/*! \def LOG_LPR
+\brief Reserved for messages generated by the UNIX lpr printing tool.
+*/
+
+/*! \def LOG_NEWS
+\brief Reserved for messages generated by something UNIXy that does something with NEWS.
+*/
+
+/*! \def LOG_UUCP
+\brief Reserved for messages generated by UUCP
+*/
+
+/*! \def LOG_CRON
+\brief Reserved for messages generated by the CRON daemon.
+*/
+
+/*! \def LOG_AUTHPRIV
+\brief Reserved for private (?) messages that relate to authentication.
+*/
+
+/*! \def LOG_LOCAL0
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL1
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL2
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL3
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL4
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL5
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL6
+\brief Use this for local use.
+*/
+
+/*! \def LOG_LOCAL7
+\brief Use this for local use.
+*/
+
+//! @}
+
+/*! @{
+\name Priorities for syslog(), log_team() and log_thread()
+*/
+
+/*! \def LOG_EMERG
+\brief A panic condition
+*/
+
+/*! \def LOG_PANIC
+\brief An alias for LOG_EMERG
+*/
+
+/*! \def LOG_ALERT
+\brief A condition to that should be corrected immediately
+*/
+
+/*! \def LOG_CRIT
+\brief Critical conditions like hard drive errors
+*/
+
+/*! \def LOG_ERR
+\brief Errors
+*/
+
+/*! \def LOG_WARNING
+\brief Warnings
+*/
+
+/*! \def LOG_NOTICE
+\brief Notices, instructions on how to use certain configuration options.
+*/
+
+/*! \def LOG_INFO
+\brief Information, like versions and so.
+*/
+
+/*! \def LOG_DEBUG
+\brief Debug information.
+*/\
+
+//! @}
+
+/*! \def LOG_MASK
+\brief Converts a priority definition for use in setlogmask()
+*/
\ No newline at end of file
diff --git a/docs/user/support/typeconstants.dox b/docs/user/support/typeconstants.dox
new file mode 100644
index 0000000000..4abed60952
--- /dev/null
+++ b/docs/user/support/typeconstants.dox
@@ -0,0 +1,129 @@
+/*!
+\file TypeConstants.h
+\ingroup support
+*/
+
+/*!
+\var B_ANY_TYPE
+\brief General type when the exact contents is not yet known.
+*/
+
+/*!
+\var B_BOOL_TYPE
+\brief Boolean value
+*/
+
+/*!
+\var B_CHAR_TYPE
+\brief Represents the \c char type
+*/
+
+/*!
+\var B_COLOR_8_BIT_TYPE
+\brief Represents a one-byte colour
+*/
+
+/*!
+\var B_DOUBLE_TYPE
+\brief Represents the \c double type
+*/
+
+/*!
+\var B_FLOAT_TYPE
+\brief Represents the \c float type
+*/
+
+/*!
+\var B_GRAYSCALE_8_BIT_TYPE
+\brief Represents a byte-long grayscale value
+*/
+
+/*!
+\var B_INT16_TYPE
+\brief Represents a \c short type
+*/
+
+/*!
+\var B_INT32_TYPE
+\brief Represents a \c long type
+*/
+
+/*!
+\var B_INT64_TYPE
+\brief Represents a \c long \c long type
+*/
+
+/*!
+\var B_INT8_TYPE
+\brief Represents a \c char type used for integer storage
+*/
+
+
+
+// Todo: the rest of the types
+
+/*! @{
+\name System-wide MIME types for handling URLs
+*/
+
+/*!
+\var B_URL_HTTP
+\brief application/x-vnd.Be.URL.http
+*/
+
+/*!
+\var B_URL_HTTPS
+\brief application/x-vnd.Be.URL.https
+*/
+
+/*!
+\var B_URL_FTP
+\brief application/x-vnd.Be.URL.ftp
+*/
+
+/*!
+\var B_URL_GOPHER
+\brief application/x-vnd.Be.URL.gopher
+*/
+
+/*!
+\var B_URL_MAILTO
+\brief application/x-vnd.Be.URL.mailto
+*/
+
+/*!
+\var B_URL_NEWS
+\brief application/x-vnd.Be.URL.news
+*/
+
+/*!
+\var B_URL_NNTP
+\brief application/x-vnd.Be.URL.nntp
+*/
+
+/*!
+\var B_URL_TELNET
+\brief application/x-vnd.Be.URL.telnet
+*/
+
+/*!
+\var B_URL_RLOGIN
+\brief application/x-vnd.Be.URL.rlogin
+*/
+
+/*!
+\var B_URL_TN3270
+\brief application/x-vnd.Be.URL.tn3270
+*/
+
+/*!
+\var B_URL_WAIS
+\brief application/x-vnd.Be.URL.wais
+*/
+
+/*!
+\var B_URL_FILE
+\brief application/x-vnd.Be.URL.file
+*/
+
+//! @}