---
name: "smi_render"
section: "3"
platform: "linux"
package: "libsmi2-dev"
version: "0.4.8+dfsg2-17+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/smi_render"
---

# smi\_render(3)

SMI data and MIB data rendering routines

## NAME

smiRenderOID, smiRenderValue, smiRenderNode, smiRenderType - SMI data and MIB data rendering routines

## SYNOPSIS

```
#include <smi.h>

char *smiRenderOID(unsigned int oidlen, SmiSubid *oid, int flags);

char *smiRenderValue(SmiValue *smiValuePtr, SmiType *smiTypePtr, int flags);

char *smiRenderNode(SmiNode *smiNodePtr, int flags);

char *smiRenderType(SmiType *smiTypePtr, int flags);
```

## DESCRIPTION

These functions provide can be used to render OIDs, values of MIB data, or names of MIB nodes or types.

The **smiRenderOID()** function renders an OID given by its length *oidlen* and its array of sub-identifiers *oid\**.  The *flags* can be used to control the resulting format, see FORMATS below.

The **smiRenderValue()** function renders a MIB data value given by  *smiValuePtr*. An underlying type *smiTypePtr* may be supplied to support a more human friendly rendering. The *flags* can be used to control the resulting format, see FORMATS below.

The **smiRenderNode()** function renders the name of a node given by *smiNodePtr*. The *flags* can be used to control the resulting format, see FORMATS below.

The **smiRenderType()** function renders the name of a type given by *smiTypePtr*. The *flags* can be used to control the resulting format, see FORMATS below.

## FORMATS

Each of these functions gets a last argument named *flags*. This is a logcially or-ed set of flags that can be used to control the format of the rendered items:

- **SMI\_RENDER\_NUMERIC**

  **Allow numeric representation (default).**

- **SMI\_RENDER\_NAME**

  **Allow a representation by name(s) if possible.**

- **SMI\_RENDER\_QUALIFIED**

  **In case of a name representation, force a module prefix, e.g. IF-MIB::ifIndex** **instead of just ifIndex.**

- **SMI\_RENDER\_FORMAT**

  **In case of** *smiRenderValue()***, force the application of a format** **specification (e.g. an SMIv2 DISPLAY-HINT) of an underlying type if** **the** *smiTypePtr* **argument is not NULL and this type contains such a** **format specification.**

- **SMI\_RENDER\_PRINTABLE**

  **In case of octet string value rendering, force a printable representation** **if all octets of the octet string are printable.**

- **SMI\_RENDER\_UNKNOWN**

  **Force the return of a string containing SMI\_LABEL\_UNKNOWN ("\<unknown\>"),** **if the rendering would fail. This way, the only condition where NULL can** **be returned is the lack of memory.**

- **SMI\_RENDER\_ALL**

  **Apply a combination of all these flags. This supports the (hopefully) most** **human friendly representations.**

## RETURN VALUE

**All of these functions return a string, if successful, or NULL in case** **of a rendering failure. See also the SMI\_RENDER\_UNKNOWN flag above.**

## SEE ALSO

[**libsmi**(3)](/libsmi/3.md),  **smi.h**

## AUTHOR

**(C) 2002 Frank Strauss, TU Braunschweig, Germany \<strauss@ibr.cs.tu-bs.de\>**\
