# C and C++ Core APIs

## Introduction

The C and C++ Core APIs provide the following functions:

- `na_elem_*`—These functions manage the elements. For example, to get and set contents, to free memory associated with the elements, and so on.

- `na_child_*`—These functions manage child elements. You can arbitrarily nest elements within other elements and create a hierarchy.

- `na_server_*`—These functions manage server connections. For example, the transport style, and the user name associated with an API invocation.

- `na_results_*`—These functions manage the result elements. They are the child elements returned by an ONTAPI call. They are used to retrieve error numbers and messages.

Following are examples of child elements of the preceding elements:

- `na_elem_t*`—These elements represent a remote procedure call request or response. The `na_elem_*` routines add input parameters and extract the output parameters from an instance of `na_elem_t`.

- `na_server_t*`—These elements are the server context for a server.

- `na_elem_iter_t`—This element manages iteration over possibly unbounded data.

## Content of this section

This section provides information about the C and C++ Core APIs. It includes the following APIs:

- Startup and Memory Management APIs—These APIs are used to initialize or free the global resources used by the program and to create or free the memory used by the program elements.

- Session Management APIs—These APIs are used to open or close the server connection, and to set and retrieve the server session parameters such as transport type, authentication style, and so on.

- Input Output Element Management APIs—These APIs are used to set the value to, or retrieve the value from, the input output (I/O) element. I/O elements are similar to XML containers; they have a name-value pair. These can be nested arbitrarily within other elements.

- Status Request APIs—These APIs are used to retrieve the status of an API requested to the server, and in case of request failure, gets the error number and a string containing the error details.

Related Topic

- Library Information