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