# zx::interrupt

## Summary

### Inheritance

Inherits from: [zx::object\< interrupt \>](https://fuchsia.dev/reference/cpp/class/zx/object)

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a9ff0bbc202620e552ccacc2076f4f7b8()` ||
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1abe3c2b4a0a3a8bf6e10faf074fd52f2c(zx_handle_t value)` ||
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1aa10a94b1a9cf6ac751f8c737a8979a9e(https://fuchsia.dev/reference/cpp/class/zx/object#classzx_1_1object && h)` ||
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1affae6073b10e4807b06bf07e744886ba(https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt && other)` ||

| ### Public static attributes ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1accbaa539d6c6f4ce08df1d3f71ac12c0 = ZX_OBJ_TYPE_INTERRUPT` | `constexpr zx_obj_type_t` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a3424ea0e6d5d475aac823429788d48d2()` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a6f57638ef26b561d83c02983fa719ff6(const https://fuchsia.dev/reference/cpp/class/zx/port#classzx_1_1port & port, uint64_t key, uint32_t options)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a60259b37063d7ce41dea28e4d71765e5()` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1aa830d5d557b2b213b703b9944571b7cd(https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt && other)` | `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt &` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1af169b4824be4f7f4246630726dc3317e(uint32_t options, https://fuchsia.dev/reference/cpp/class/zx/basic-time#classzx_1_1basic__time timestamp) const ` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1aef8157ed0488e3cad58adfcabf8bda00(uint32_t options, https://fuchsia.dev/reference/cpp/class/zx/basic-time#classzx_1_1basic__time timestamp)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a550df24584f3229a64631bd45850ec5b(https://fuchsia.dev/reference/cpp/class/zx/basic-time#classzx_1_1basic__time *timestamp) const ` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1ab7c4a3546128e5169ee00aa3cf3e140b(std::nullptr_t)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a78675622b0a347bd2224d90bb99e8df9(https://fuchsia.dev/reference/cpp/class/zx/basic-time#classzx_1_1basic__time *timestamp)` | `zx_status_t` |

| ### Public static functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt_1a07bf4527ca5c2dd9cb59f7cdb7e4fe7e(const https://fuchsia.dev/reference/cpp/class/zx/resource#classzx_1_1resource & resource, uint32_t vector, uint32_t options, https://fuchsia.dev/reference/cpp/class/zx/interrupt#classzx_1_1interrupt *result)` | `zx_status_t` |

## Public static attributes

### TYPE

```c++
constexpr zx_obj_type_t TYPE = ZX_OBJ_TYPE_INTERRUPT
```

## Public functions

### ack

```c++
zx_status_t ack()
```

### bind

```c++
zx_status_t bind(
  const zx::port & port,
  uint64_t key,
  uint32_t options
)
```

### destroy

```c++
zx_status_t destroy()
```

### interrupt

```c++
constexpr interrupt()=default
```

### interrupt

```c++
 interrupt(
  zx_handle_t value
)
```

### interrupt

```c++
 interrupt(
  handle && h
)
```

### interrupt

```c++
 interrupt(
  interrupt && other
)
```

### operator=

```c++
interrupt & operator=(
  interrupt && other
)
```

### trigger

```c++
zx_status_t trigger(
  uint32_t options,
  zx::time timestamp
) const 
```

### trigger

```c++
zx_status_t trigger(
  uint32_t options,
  zx::time_boot timestamp
)
```

### wait

```c++
zx_status_t wait(
  zx::time *timestamp
) const 
```

### wait

```c++
zx_status_t wait(
  std::nullptr_t
)
```

### wait

```c++
zx_status_t wait(
  zx::time_boot *timestamp
)
```

## Public static functions

### create

```c++
zx_status_t create(
  const resource & resource,
  uint32_t vector,
  uint32_t options,
  interrupt *result
)
```