---
name: "rtapi_app_main"
section: "3rtapi"
platform: "linux"
package: "linuxcnc-uspace-dev"
version: "1:2.9.4-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rtapi_app_main"
---

# rtapi\_app\_main(3rtapi)

User-provided function to initialize a component

## NAME

rtapi\_app\_main - User-provided function to initialize a component

## SYNTAX

```
#include <rtapi_app.h>
int rtapi_app_main(void) {...}
```

## ARGUMENTS

None

## DESCRIPTION

The body of **rtapi\_app\_main**, which is provided by the component author, generally consists of a call to rtapi\_init or hal\_init, followed by other component-specific initialization code.

## RETURN VALUE

Return 0 for success.  Return a negative errno value (e.g., -EINVAL) on error.  Existing code also returns RTAPI or HAL error values, but using negative errno values gives better diagnostics from insmod.

## REALTIME CONSIDERATIONS

Called automatically by the rtapi infrastructure in an initialization (not realtime) context.

## SEE ALSO

**[rtapi\_app\_exit(3rtapi)](/rtapi_app_exit/3rtapi.md)**, **[rtapi\_init(3rtapi)](/rtapi_init/3rtapi.md)**, **[hal\_init(3hal)](/hal_init/3hal.md)**
