Having decided not to provide a libmemstat(3) error number to text
conversion routine, now change my mind and add one, memstat_strerror(3), which returns a const char * pointer to a string describing the error, to be used on the results of memstat_mtl_geterror(). While here, also correct a minor typo in the HISTORY man page. Pointers on improving ease of internationalization would be appreciated. MFC after: 1 day
This commit is contained in:
parent
f689e777d1
commit
560d460544
@ -17,6 +17,7 @@ MLINKS+= libmemstat.3 memstat_mtl_next.3
|
||||
MLINKS+= libmemstat.3 memstat_mtl_find.3
|
||||
MLINKS+= libmemstat.3 memstat_mtl_free.3
|
||||
MLINKS+= libmemstat.3 memstat_mtl_geterror.3
|
||||
MLINKS+= libmemstat.3 memstat_strerror.3
|
||||
MLINKS+= libmemstat.3 memstat_sysctl_all.3
|
||||
MLINKS+= libmemstat.3 memstat_sysctl_malloc.3
|
||||
MLINKS+= libmemstat.3 memstat_sysctl_uma.3
|
||||
|
@ -35,6 +35,9 @@
|
||||
.Sh SYNOPSIS
|
||||
.In sys/types.h
|
||||
.In memstat.h
|
||||
.Ss General Functions
|
||||
.Ft const char *
|
||||
.Fn memstat_strerror "int error"
|
||||
.Ss Memory Type List Management Functions
|
||||
.Ft struct memory_type_list *
|
||||
.Fn memstat_mtl_alloc "void"
|
||||
@ -150,7 +153,9 @@ Repeated calls will incrementally update the list of memory types, permitting
|
||||
tracking over time without recreating all list state.
|
||||
If an error is detected during a query call, error condition information may
|
||||
be retrieved using
|
||||
.Fn memstat_mtl_geterror .
|
||||
.Fn memstat_mtl_geterror ,
|
||||
and converted to a user-readable string using
|
||||
.Fn memstat_strerror .
|
||||
.Pp
|
||||
Freeing the list will free all memory type data in the list, and so
|
||||
invalidates any outstanding pointers to entries in the list.
|
||||
@ -356,7 +361,10 @@ on success, or
|
||||
on failure.
|
||||
If a failure is returned, the list error access method,
|
||||
.Fn memstat_mtl_geterror ,
|
||||
may be used to retrieve the error state. Possible error values are:
|
||||
may be used to retrieve the error state.
|
||||
The string representation of the error may be retrieved using
|
||||
.Fn memstat_strerror .
|
||||
Possible error values are:
|
||||
.Pp
|
||||
.Bl -tag -width "MEMSTAT_ERROR_TOOMANYCPUS" -compact -offset wee
|
||||
.It Dv MEMSTAT_ERROR_UNDEFINED
|
||||
@ -426,7 +434,7 @@ printf("Mbufs: %llu\\n", (unsigned long long)mbuf_count);
|
||||
.Xr uma 9
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm memstat
|
||||
.Nm libmemstat
|
||||
library appeared in
|
||||
.Fx 6.0 .
|
||||
.Sh AUTHORS
|
||||
|
@ -38,6 +38,27 @@
|
||||
#include "memstat.h"
|
||||
#include "memstat_internal.h"
|
||||
|
||||
const char *
|
||||
memstat_strerror(int error)
|
||||
{
|
||||
|
||||
switch (error) {
|
||||
case MEMSTAT_ERROR_NOMEMORY:
|
||||
return ("Cannot allocate memory");
|
||||
case MEMSTAT_ERROR_VERSION:
|
||||
return ("Version mismatch");
|
||||
case MEMSTAT_ERROR_PERMISSION:
|
||||
return ("Permission denied");
|
||||
case MEMSTAT_ERROR_TOOMANYCPUS:
|
||||
return ("Too many CPUs");
|
||||
case MEMSTAT_ERROR_DATAERROR:
|
||||
return ("Data format error");
|
||||
case MEMSTAT_ERROR_UNDEFINED:
|
||||
default:
|
||||
return ("Unknown error");
|
||||
}
|
||||
}
|
||||
|
||||
struct memory_type_list *
|
||||
memstat_mtl_alloc(void)
|
||||
{
|
||||
|
@ -89,6 +89,11 @@ struct memory_type;
|
||||
struct memory_type_list;
|
||||
|
||||
__BEGIN_DECLS
|
||||
/*
|
||||
* Functions that operate without memory type or memory type list context.
|
||||
*/
|
||||
const char *memstat_strerror(int error);
|
||||
|
||||
/*
|
||||
* Functions for managing memory type and statistics data.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user