---
name: "request_RTirq"
section: "3"
platform: "linux"
package: "rtlinux"
version: "2.0rel-1"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/request_RTirq/3"
---

# request\_RTirq(3)

install an interrupt handler

## NAME

request\_RTirq - install an interrupt handler

## WARNING

This is RTL v1.x compatibility function. Please do not use it for new programs.

## SYNOPSIS

```
#define MODULE
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/errno.h>
#include <linux/rtf.h>
#include <asm/rt_irq.h>
```

**int request\_RTirq(unsigned int** *irq***, void (\****handler***)(void));**

## DESCRIPTION

**request\_RTirq** installs *handler* as an interrupt service routine for IRQ level *irq*. *handler* is then invoked whenever interrupt number *irq* occurs.  The interrupt service routine can be uninstalled using **free\_RTirq**.

## RETURN VALUE

On success, 0 is returned.  On failure, a negative value is returned as described below.

## ERRORS

- **-EINVAL**

  *irq* is not a valid IRQ number, or *handler* is NULL.

- **-EBUSY**

  *irq* already has a handler.  You must first call **free\_RTirq** to make the IRQ available.

## SEE ALSO

[**free\_RTirq**(3)](/free_RTirq/3.md)
