diff --git a/src/modules/system/doc/getegid b/src/modules/system/doc/getegid
new file mode 100644
index 0000000000000000000000000000000000000000..007da5b5da90d1c950a4d609b91c161315faaba0
--- /dev/null
+++ b/src/modules/system/doc/getegid
@@ -0,0 +1,15 @@
+NAME
+	getegid - get the effective group ID
+
+SYNTAX
+	int getegid();
+
+DESCRIPTION
+	Get the effective group ID.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/getgid,
+	system/seteuid, system/geteuid, system/setegid
diff --git a/src/modules/system/doc/geteuid b/src/modules/system/doc/geteuid
new file mode 100644
index 0000000000000000000000000000000000000000..12c90e47d593dbef75043f5a439967189557c786
--- /dev/null
+++ b/src/modules/system/doc/geteuid
@@ -0,0 +1,15 @@
+NAME
+	geteuid - get the effective user ID
+
+SYNTAX
+	int geteuid();
+
+DESCRIPTION
+	Get the effective user ID.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/getgid,
+	system/seteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/getgid b/src/modules/system/doc/getgid
new file mode 100644
index 0000000000000000000000000000000000000000..8f3015953b549f6351cdd2e08fe1a2c16f8955e3
--- /dev/null
+++ b/src/modules/system/doc/getgid
@@ -0,0 +1,15 @@
+NAME
+	getgid - get the group ID
+
+SYNTAX
+	int getgid();
+
+DESCRIPTION
+	Get the real group ID.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/seteuid,
+	system/geteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/getpgrp b/src/modules/system/doc/getpgrp
new file mode 100644
index 0000000000000000000000000000000000000000..022d2b14ecb5f0747756936ac5d3dfa2d400bea2
--- /dev/null
+++ b/src/modules/system/doc/getpgrp
@@ -0,0 +1,19 @@
+NAME
+	getpgrp - get the process group ID
+
+SYNTAX
+	int getpgrp();
+	or
+	int getpgrp(int pid);
+
+DESCRIPTION
+	With no argguments or with 'pid' equal to zero, returns the process
+	group ID of this process.
+
+	If 'pid' is specified, returns the process group ID of that process.
+
+KEYWORDS
+	Processes
+
+SEE ALSO
+	system/getpid, system/getppid
diff --git a/src/modules/system/doc/getpid b/src/modules/system/doc/getpid
new file mode 100644
index 0000000000000000000000000000000000000000..7401c38e3bed899706ef101b4ef890457365bc0e
--- /dev/null
+++ b/src/modules/system/doc/getpid
@@ -0,0 +1,14 @@
+NAME
+	getpid - get the process ID
+
+SYNTAX
+	int getpid();
+
+DESCRIPTION
+	Returns the process ID of this process.
+
+KEYWORDS
+	Processes
+
+SEE ALSO
+	system/getppid, system/getpgrp
diff --git a/src/modules/system/doc/getppid b/src/modules/system/doc/getppid
new file mode 100644
index 0000000000000000000000000000000000000000..78c0ced12566fb71a3991dfc462ea5a6b51fc3c7
--- /dev/null
+++ b/src/modules/system/doc/getppid
@@ -0,0 +1,14 @@
+NAME
+	getppid - get the parent process ID
+
+SYNTAX
+	int getppid();
+
+DESCRIPTION
+	Returns the process ID of the parent process.
+
+KEYWORDS
+	Processes
+
+SEE ALSO
+	system/getpid, system/getpgrp
diff --git a/src/modules/system/doc/getuid b/src/modules/system/doc/getuid
new file mode 100644
index 0000000000000000000000000000000000000000..4e75946bb723924c5ba4803b496701134944a8ad
--- /dev/null
+++ b/src/modules/system/doc/getuid
@@ -0,0 +1,15 @@
+NAME
+	getuid - get the user ID
+
+SYNTAX
+	int getuid();
+
+DESCRIPTION
+	Get the real user ID.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/setgid, system/getgid, system/seteuid,
+	system/geteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/hardlink b/src/modules/system/doc/hardlink
new file mode 100644
index 0000000000000000000000000000000000000000..3fbb914e9d279ca066531585444d30d03272767f
--- /dev/null
+++ b/src/modules/system/doc/hardlink
@@ -0,0 +1,14 @@
+NAME
+	hardlink - create a hardlink
+
+SYNTAX
+	void hardlink(string from, string to);
+
+DESCRIPTION
+	Creates a hardlink named 'to' from the file 'from'.
+
+KEYWORDS
+	file
+
+SEE ALSO
+	system/symlink, files/mv, files/rm
diff --git a/src/modules/system/doc/initgroups b/src/modules/system/doc/initgroups
new file mode 100644
index 0000000000000000000000000000000000000000..c0558c8d76a4bc61cafdc65fa6bde0f1dbcef21c
--- /dev/null
+++ b/src/modules/system/doc/initgroups
@@ -0,0 +1,19 @@
+NAME
+	initgroups - initialize the group access list
+
+SYNTAX
+	void initgroups(string username, int base_gid);
+
+DESCRIPTION
+	Initializes the group access list according to the system
+	group database. 'base_gid' is also added to the group access
+	list.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/getgid,
+	system/seteuid, system/geteuid, system/setegid, system/getegid,
+	system/getgroups, system/setgroups
+
diff --git a/src/modules/system/doc/readlink b/src/modules/system/doc/readlink
new file mode 100644
index 0000000000000000000000000000000000000000..b60f9dd406a1b28583fc8177845c50242c8c13cc
--- /dev/null
+++ b/src/modules/system/doc/readlink
@@ -0,0 +1,14 @@
+NAME
+	readlink - read a symbolic link
+
+SYNTAX
+	string readlink(string linkname);
+
+DESCRIPTION
+	Returns what the symbolic link 'linkname' points to.
+
+KEYWORDS
+	file
+
+SEE ALSO
+	system/symlink
diff --git a/src/modules/system/doc/setegid b/src/modules/system/doc/setegid
new file mode 100644
index 0000000000000000000000000000000000000000..9fcd4dae2ca3e01a95d88be1036fcf5f18204096
--- /dev/null
+++ b/src/modules/system/doc/setegid
@@ -0,0 +1,15 @@
+NAME
+	setegid - set the effective group ID
+
+SYNTAX
+	void setegid(int uid);
+
+DESCRIPTION
+	Sets the effective group ID to 'gid'.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/getgid,
+	system/seteuid, system/geteuid, system/getegid
diff --git a/src/modules/system/doc/seteuid b/src/modules/system/doc/seteuid
new file mode 100644
index 0000000000000000000000000000000000000000..b599dbfdb128d824ec79bc0b4f8597655648a44f
--- /dev/null
+++ b/src/modules/system/doc/seteuid
@@ -0,0 +1,15 @@
+NAME
+	seteuid - set the effective user ID
+
+SYNTAX
+	void seteuid(int uid);
+
+DESCRIPTION
+	Sets the effective user ID to 'uid'.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/setgid, system/getgid,
+	system/geteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/setgid b/src/modules/system/doc/setgid
new file mode 100644
index 0000000000000000000000000000000000000000..c7ddd19626b5d29e5d52a7451ab2960a26dfd134
--- /dev/null
+++ b/src/modules/system/doc/setgid
@@ -0,0 +1,15 @@
+NAME
+	setgid - set the group ID
+
+SYNTAX
+	void setgid(int gid);
+
+DESCRIPTION
+	Sets the real group ID, effective group ID and saved group ID to 'gid'.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/setuid, system/getuid, system/getgid, system/seteuid,
+	system/geteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/setuid b/src/modules/system/doc/setuid
new file mode 100644
index 0000000000000000000000000000000000000000..22cdf50616e9f32e0e87cc0f3a51b95a917558b6
--- /dev/null
+++ b/src/modules/system/doc/setuid
@@ -0,0 +1,15 @@
+NAME
+	setuid - set the user ID
+
+SYNTAX
+	void setuid(int uid);
+
+DESCRIPTION
+	Sets the real user ID, effective user ID and saved user ID to 'uid'.
+
+KEYWORDS
+	User security
+
+SEE ALSO
+	system/getuid, system/setgid, system/getgid, system/seteuid,
+	system/geteuid, system/setegid, system/getegid
diff --git a/src/modules/system/doc/symlink b/src/modules/system/doc/symlink
new file mode 100644
index 0000000000000000000000000000000000000000..12b5d5f05c515de36f75846e3df265fca6f258b8
--- /dev/null
+++ b/src/modules/system/doc/symlink
@@ -0,0 +1,14 @@
+NAME
+	symlink - create a symbolic link
+
+SYNTAX
+	void symlink(string from, string to);
+
+DESCRIPTION
+	Creates a symbolic link named 'to' pointing to 'from'.
+
+KEYWORDS
+	file
+
+SEE ALSO
+	system/hardlink, system/readlink, files/mv, files/rm