---
name: "idr_get_new"
section: "9"
platform: "linux"
package: "linux-manual-3.2"
version: "3.2.78-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/idr_get_new"
---

# idr\_get\_new(9)

allocate new idr entry

## NAME

idr\_get\_new - allocate new idr entry

## SYNOPSIS

**int idr\_get\_new(struct idr \*** *idp***, void \*** *ptr***, int \*** *id***);**

## ARGUMENTS

*idp*

idr handle

*ptr*

pointer you want associated with the id

*id*

pointer to the allocated handle

## DESCRIPTION

If allocation from IDR's private freelist fails, **idr\_get\_new\_above** will return **-EAGAIN**. The caller should retry the **idr\_pre\_get** call to refill IDR's preallocation and then retry the **idr\_get\_new\_above** call.

If the idr is full **idr\_get\_new\_above** will return **-ENOSPC**.

*id* returns a value in the range **0** ... **0x7fffffff**

## COPYRIGHT
