aboutsummaryrefslogtreecommitdiffstats
path: root/source/libmaple/api/libmaple_types.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-08-22 23:37:16 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-08-22 23:37:16 -0400
commitc6ba836ad1fbda247d9622b2f372a0c9c0cdbfd9 (patch)
tree7fe0def72ce810256d903557909fc9462b8ac9fb /source/libmaple/api/libmaple_types.rst
parent6a6a7c31c3b1a920a73dbc1f11dc502de7e776cd (diff)
downloadlibrambutan-c6ba836ad1fbda247d9622b2f372a0c9c0cdbfd9.tar.gz
librambutan-c6ba836ad1fbda247d9622b2f372a0c9c0cdbfd9.zip
Better document libmaple proper APIs.
Instead of using doxygenfile, add finely-grained documentation for each libmaple proper header that we guarantee an API for. These new files are in keeping with the template provided in /tmpl/libmaple-proper-page.rst.tmpl. Breathe still has to be taught how to do doxygenunion to get some of this right, but I'm committing this now in anticipation of that happening.
Diffstat (limited to 'source/libmaple/api/libmaple_types.rst')
-rw-r--r--source/libmaple/api/libmaple_types.rst39
1 files changed, 35 insertions, 4 deletions
diff --git a/source/libmaple/api/libmaple_types.rst b/source/libmaple/api/libmaple_types.rst
index bbea2c1..7fed5dc 100644
--- a/source/libmaple/api/libmaple_types.rst
+++ b/source/libmaple/api/libmaple_types.rst
@@ -4,9 +4,40 @@
``libmaple_types.h``
====================
-[Stub] support.
+Defines the base types and type-related macros used throughout the
+rest of libmaple.
-Library Documentation
----------------------
+Integral Types
+--------------
-.. doxygenfile:: libmaple_types.h
+.. doxygentypedef:: uint8
+.. doxygentypedef:: uint16
+.. doxygentypedef:: uint32
+.. doxygentypedef:: uint64
+.. doxygentypedef:: int8
+.. doxygentypedef:: int16
+.. doxygentypedef:: int32
+.. doxygentypedef:: int64
+
+Attributes and Type Qualifiers
+------------------------------
+
+.. c:macro:: __io
+
+ This is a macro for ``volatile`` which is used to denote that the
+ variable whose type is being qualified is IO-mapped. Its most
+ common use is in the individual members of each :ref:`register map
+ <libmaple-overview-regmaps>` struct.
+
+.. c:macro:: __attr_flash
+
+ This is a macro for a GCC ``__attribute__`` which (when using the
+ linker scripts provided with libmaple) will cause the variable
+ being marked to be stored in Flash, rather than SRAM. The
+ variable's value may be read like that of any other variable, but
+ it may not be written.
+
+Other typedefs
+--------------
+
+.. doxygentypedef:: voidFuncPtr