---
name: "struct_hrtimer"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_hrtimer"
---

# struct\_hrtimer(9)

the basic hrtimer structure

## NAME

struct\_hrtimer - the basic hrtimer structure

## SYNOPSIS

```
struct hrtimer {
  struct timerqueue_node node;
  ktime_t _softexpires;
  enum hrtimer_restart		(* function) (struct hrtimer *);
  struct hrtimer_clock_base * base;
  unsigned long state;
#ifdef CONFIG_TIMER_STATS
  int start_pid;
  void * start_site;
  char start_comm[16];
#endif
};
```

## MEMBERS

node

timerqueue node, which also manages node.expires, the absolute expiry time in the hrtimers internal representation. The time is related to the clock on which the timer is based. Is setup by adding slack to the \_softexpires value. For non range timers identical to \_softexpires.

\_softexpires

the absolute earliest expiry time of the hrtimer. The time which was given as expiry time when the timer was armed.

function

timer expiry callback function

base

pointer to the timer base (per cpu and per clock)

state

state information (See bit values above)

start\_pid

timer statistics field to store the pid of the task which started the timer

start\_site

timer statistics field to store the site where the timer was started

start\_comm\[16\]

timer statistics field to store the name of the process which started the timer

## DESCRIPTION

The hrtimer structure must be initialized by **hrtimer\_init**

## COPYRIGHT
