[lkml]   [2020]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH] system_data_types.7: void *: Add info about generic function parameters and return value
Reported-by: Paul Eggert <>
Reported-by: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Alejandro Colomar <>

Paul and David,
Thanks for your input!


man7/system_data_types.7 | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/man7/system_data_types.7 b/man7/system_data_types.7
index aab64e002..6451782db 100644
--- a/man7/system_data_types.7
+++ b/man7/system_data_types.7
@@ -1903,6 +1903,16 @@ and back.
Conversions from and to any other pointer type are done implicitly,
not requiring casts at all.
+Note that this feature prevents any kind of type checking:
+the programmer should be careful not to cast a
+.I void *
+value to a type incompatible to that of the underlying data,
+because that would result in undefined behavior.
+This type is useful in function parameters and return value
+to allow passing values of any type.
+The function will usually use some mechanism to know
+of which type the underlying data passed to the function really is.
A value of this type can't be dereferenced,
as it would give a value of type
@@ -1926,6 +1936,12 @@ values.
Conforming to:
C99 and later; POSIX.1-2001 and later.
+See also:
+.BR malloc (3),
+.BR memcmp (3),
+.BR memcpy (3),
+.BR memset (3)
See also the
.I intptr_t
 \ /
  Last update: 2020-10-02 11:45    [W:0.048 / U:0.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site