/**
 * \mainpage The official libmtp documentation
 *
 * \section Introduction
 *
 * libmtp is a library for the Media Transfer Protocol (MTP)
 * under various POSIX operating systems.
 *
 * \section License
 *
 * libmtp is available under the GNU Lesser General Public License,
 * version 2. You can use libmtp in Free or proprietary software alike as
 * long as you publish your modifications to this library in accordance
 * with the LGPL license. If you do not follow the LGPL you will be in 
 * deep, deep trouble.
 * 
 */
