Hi Martin,

Martin Pieuchot wrote on Thu, Jul 11, 2019 at 05:18:41PM -0300:

> Index: rtable_walk.9
> ===================================================================
> RCS file: rtable_walk.9
> diff -N rtable_walk.9
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ rtable_walk.9     11 Jul 2019 20:16:23 -0000
> @@ -0,0 +1,68 @@
> +.\"     $OpenBSD$
> +.\"
> +.\" Copyright (c) 2019 Martin Pieuchot <[email protected]>
> +.\"
> +.\" Permission to use, copy, modify, and distribute this software for any
> +.\" purpose with or without fee is hereby granted, provided that the above
> +.\" copyright notice and this permission notice appear in all copies.
> +.\"
> +.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> +.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> +.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> +.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> +.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> +.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> +.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> +.\"
> +.Dd $Mdocdate$
> +.Dt RTABLE_WALK 9
> +.Os
> +.Sh NAME
> +.Nm rtable_walk
> +.Nd iterate over a routing table
> +.Sh SYNOPSIS
> +.In net/rtable.h
> +.Ft int
> +.Fn rtable_walk "unsigned int rtableid" "sa_family_t af" \
> +"struct rtentry **prt" "int (*func)(struct rtentry *, void *, unsigned int)" 
> \
> +"void *arg"

While this isn't incorrect, i suggest the more readable

.Ft int
.Fo rtable_walk
.Fa "unsigned int rtableid"
.Fa "sa_family_t af"
.Fa "struct rtentry **prt"
.Fa "int (*func)(struct rtentry *, void *, unsigned int)"
.Fa "void *arg"
.Fc

for functions with long arguments or with more than one or two arguments.

> +.Sh DESCRIPTION
> +The
> +.Fn rtable_walk
> +function iterates over the routing table
> +.Fa rtableid
> +and applies
> +.Fa func
> +to all entries of address family
> +.Fa af .
> +.Pp
> +The iteration is interrupted as soon as
> +.Fa func
> +returns a non-zero value.
> +If
> +.Fa prt
> +is non-null

Please consider the more usual form:

is not
.Dv NULL

These are not objections but merely suggestions.

Yours,
  Ingo

> when the iteration is interrupted, it is set to the current
> +routing entry.
> +In that case
> +.Fn rtfree
> +must be called on the routing entry pointed by
> +.Fa prt .
> +.Sh CONTEXT
> +.Fn rtable_walk
> +can be called during autoconf or from process context.
> +.Sh RETURN VALUES
> +.Fn rtable_walk
> +returns any non-zero value returned by
> +.Fa func .
> +It may also fail with:
> +.Pp
> +.Bl -tag -width Er -compact
> +.It Bq Er EAFNOSUPPORT
> +A routing table with ID of
> +.Fa rtableid
> +and address family of
> +.Fa af
> +doesn't exist.
> +.El
> +.Sh SEE ALSO
> +.Xr rtfree 9

Reply via email to