got rid of all the absolute paths in the fitpc code

Previously, there were 2 places (BinaryLogReader and the HTTP file server) that
had "/home/driver/" hard coded. I changed both of those to use paths relative to
the location of the executable (retrieved from /proc/self/exe).

git-svn-id: https://robotics.mvla.net/svn/frc971/2013/trunk/src@4162 f308d9b7-e957-4cde-b6ac-9a88185e7312
diff --git a/aos/common/Configuration.h b/aos/common/Configuration.h
index bf2dc80..2f7e777 100644
--- a/aos/common/Configuration.h
+++ b/aos/common/Configuration.h
@@ -22,8 +22,8 @@
   kCameraStreamer = 9714,
 };
 
-// Holds global configuration data. All of the public static functions are safe
-// to call concurrently (the ones that need to create locks on the cRIO).
+// Holds global configuration data. All of the functions are safe to call
+// from wherever (the ones that need to create locks on the cRIO).
 namespace configuration {
 
 // Constants indentifying various devices on the network.
@@ -36,6 +36,17 @@
 // The return value should be passed to free(3) if it is no longer needed.
 const char *GetIPAddress(NetworkDevice device);
 
+// Returns the "root directory" for this run. Under linux, this is the
+// directory where the executable is located (from /proc/self/exe) and under
+// vxworks it is just "/".
+// The return value will always be to a static string, so no freeing is
+// necessary.
+const char *GetRootDirectory();
+// Returns the directory where logs get written. Relative to GetRootDirectory().
+// The return value will always be to a static string, so no freeing is
+// necessary.
+const char *GetLoggingDirectory();
+
 }  // namespace configuration
 }  // namespace aos