.\" Ouroboros man pages (C) 2017
.\" Dimitri Staessens <dimitri.staessens@ugent.be>
.\" Sander Vrijders <sander.vrijders@ugent.be>

.TH AP_INIT 3 2017-04-10 GNU "Ouroboros Programmer's Manual"

.SH NAME

ap_init, ap_fini \- initialize and finalize an application for using
Ouroboros

.SH SYNOPSIS

.B #include <ouroboros/dev.h>

\fBint ap_init(char * \fIapn\fB);\fR

\fBvoid ap_fini(void);\fR

Compile and link with \fI-louroboros\fR.

.SH DESCRIPTION

The \fBap_init\fR() call initializes an application process instance
for using the Ouroboros IPC infrastructure. If the application is a
server or peer, a \fBchar * \fIapn\fR has to be provided indicating the
application process that this instance belongs to. This is usually
argv[0]. A client application may pass NULL. The \fBap_fini\fR() call
will release all resources allocated by \fBap_fini\fR().

\fBap_init\fR() and \fBap_fini\fR() should be called only once in the
application.

.SH RETURN VALUE

On success, \fBap_init\fR() returns 0. On failure, a negative value
indicating the error will be returned. The \fBap_fini\fR() function
has no return value.

.SH ERRORS

\fBap_init\fR() can return the following errors:

.B -EIRMD
Failed to contact an IRMd instance.

.B -ENOMEM
Insufficient system resources to intialize the application.

.SH ATTRIBUTES

For an explanation of the terms used in this section, see \fBattributes\fR(7).

.TS
box, tab(&);
LB|LB|LB
L|L|L.
Interface & Attribute & Value
_
\fBap_init\fR() & Thread safety & MT-Safe
_
\fBap_fini\fR() & Thread safety & MT-Safe
.TE

.SH COLOPHON
This page is part of the Ouroboros project, found at
https://bitbucket.org/ouroboros-rina/ouroboros