---
name: "rtapi_list"
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_list"
---

# rtapi\_list(3rtapi)

RTAPI wrappers for linux kernel functionality

## NAME

rtapi\_list.h - RTAPI wrappers for linux kernel functionality

## SYNTAX

\#include \<rtapi\_list.h\>

struct rtapi\_list\_head;

void rtapi\_list\_add(struct rtapi\_list\_head \*new\_, struct rtapi\_list\_head \*head);

void rtapi\_list\_add\_tail(struct rtapi\_list\_head \*new\_, struct rtapi\_list\_head \*head);

void rtapi\_list\_del(struct rtapi\_list\_head \*entry);

void RTAPI\_INIT\_LIST\_HEAD(struct rtapi\_list\_head \*entry);

rtapi\_list\_for\_each(pos, head) { ... }

rtapi\_list\_entry(ptr, type, member)

## DESCRIPTION

In kernel space, each rtapi\_xxx or RTAPI\_XXX identifier is mapped to the underlying kernel functionality, if available.

In userspace, or in kernels where the underlying functionality is not provided by a kernel, generally another implementation--possibly with reduced functionality--is provided.  (For example, the userspace implementation for rtapi\_device\_register always succeeds)

## REALTIME CONSIDERATIONS

Call from init/cleanup code and from realtime tasks.  These functions will cause illegal instruction exceptions in non-realtime components, as well as in uspace rtapi\_app when it is not setuid root.

## RETURN VALUE

As in Linux.

## SEE ALSO
