diff --git a/manifests/directory_parents.pp b/manifests/directory_parents.pp
index 531fb99d9c7bac143e50a1aaeff3b77cab2273d5..bb20b206248dffbb741a3b5b75f337a9a7aacb9b 100644
--- a/manifests/directory_parents.pp
+++ b/manifests/directory_parents.pp
@@ -6,6 +6,26 @@
  * Create the directories from $top down to, but not including, $name.
  * This is somewhat similar to the Unix command 'mkdir -p'.
  *
+ * Parameters:
+ *
+ *  - name	A file name, one level below the lowest level of
+ *		directories to manage.
+ *
+ *  - top	The highest parent directory to manage.  This must be a
+ *		parent (or grand-parent, or great-...-grand-parent) of
+ *		$name.  In particular, it is an error if $top == $name.
+ *
+ *  - owner, group, mode
+ *		Owner, group and mode of directories; same meanings as
+ *		in the 'file' type.
+ *
+ *  - purge	If set to true, unmanaged files and directories below
+ *		$top will be cleaned away.  Note that $name is not
+ *		managed by this definition, and is thus a candidate for
+ *		removal unless managed elsewhere.  The intermediate
+ *		directories inbetween $name and $top are however
+ *		regarded as managed.
+ *
  * Example:
  *
  *     cfgfile::directory_parents {
@@ -15,9 +35,7 @@
  *
  * This will create and manage the directories:
  *
- *     /opt/foo
- *     /opt/foo/fie
- *     /opt/foo/fie/fum
+ *     /opt/foo    /opt/foo/fie    /opt/foo/fie/fum
  *
  * However, /opt/foo/fie/fum/gazonk.del will be left unmanaged, to
  * (presumably) be managed elsewhere.