---
name: "smi_identity"
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_identity"
---

# smi\_identity(3)

SMI identity information routines

## NAME

smiGetIdentity, smiGetFirstIdentity, smiGetNextIdentity, smiGetParentIdentity, smiGetIdentityModule - SMI identity information routines

## SYNOPSIS

```
#include <smi.h>

SmiIdentity *smiGetIdentity(SmiModule *smiModulePtr, char *name);

SmiIdentity *smiGetFirstIdentity(SmiModule *smiModulePtr);

SmiIdentity *smiGetNextIdentity(SmiIdentity *smiIdentityPtr);

SmiIdentity *smiGetParentIdentity(SmiIdentity *smiIdentityPtr);

SmiModule *smiGetIdentityModule(SmiType *smiIdentityPtr);
typedef struct SmiIdentity {
    SmiIdentifier       name;
    SmiDecl             decl;
    SmiStatus           status;
    char                *description;
    char                *reference;
} SmiIdentity;
```

## DESCRIPTION

These functions retrieve information on a SMIng identity definition (SMIng).

**smiGetIdentity(SmiModule \*smiModulePtr,char \*name)** returns a pointer to **struct SmiIdentity** for the identity with the given *name* in the given module(*smiModulePtr*), or NULL if the idenity with the given name does not exist

**smiGetFirstIdentity(SmiModule \*smiModulePtr)** and **smiGetNextIdentity(SmiIdentity \*smiIdentityPtr)** are used to iterate through the identities of the module given by *smiModulePtr*. They return a pointer to **struct SmiIdentity** hat represents an identity or NULL if there are no identities left in the module, or error has occurred.

**smiGetIdentityModule(SmiIdentity \*smiIdentityPtr)** returns a pointer to **struct SmiModule**, of the module containing the given identity.

**smiGetParentIdentity(SmiIdentity \*smiIdentityPtr)** returns a pointer to **struct SmiIdentity** pointing to the parent of the given *smiIdentityPtr*, or NULL if the Identity is not derived.

## FILES

```
${prefix}/include/smi.h    SMI library header file
```

## SEE ALSO

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

## AUTHOR

(C) 2007 Kaloyan Kanev, Jacobs University, Germany \<k.kanev@jacobs-university.de\>\
