Print this page
11544 ofmt(3OFMT) should talk about the callback handler
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>

@@ -9,12 +9,13 @@
 .\" http://www.illumos.org/license/CDDL.
 .\"
 .\"
 .\" Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
 .\" Copyright 2017 Nexenta Systems, Inc.
+.\" Copyright 2018 Joyent, Inc.
 .\"
-.Dd June 1, 2017
+.Dd December 20, 2018
 .Dt OFMT 3OFMT
 .Os
 .Sh NAME
 .Nm ofmt_open ,
 .Nm ofmt_print ,

@@ -156,13 +157,25 @@
 .Pp
 .Va of_cb
 is the application-specified callback function with the following prototype that
 provides a string representation of the value to be printed for the field:
 .Bd -literal -offset indent
-(*of_cb)(ofmt_arg_t *ofmt_arg, char *buf, uint_t bufsize)
+boolean_t (*of_cb)(ofmt_arg_t *ofmt_arg, char *buf, uint_t bufsize)
 .Ed
 .Pp
+The callback must not write beyond
+.Fa bufsize
+bytes of the string form into
+.Fa buf .
+If the function successfully translates the field into its string
+representation and places it into
+.Fa buf ,
+then the callback function should return
+.Dv B_TRUE .
+Otherwise, the callback function should return
+.Dv B_FALSE .
+.Pp
 The interpretation of the
 .Va of_id
 field is completely private to the caller, and can be optionally used by the
 callback function as a cookie to identify the field being printed when a single
 callback function is shared between multiple