# zx::process

## Summary

### Inheritance

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

| ### Constructors and Destructors ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a6b23d52c4cd13d64ef0551a7d66c20e5()` ||
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1aaf80385a2051224af02d8245f013b48e(zx_handle_t value)` ||
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1add2ba90095f111688518c4e04cfd9179(https://fuchsia.dev/reference/cpp/class/zx/object#classzx_1_1object && h)` ||
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a9e48c780ea4cf41ac17a317347e0b395(https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process && other)` ||

| ### Public static attributes ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1aba2963303c087e71ccbb037d98efdb97 = ZX_OBJ_TYPE_PROCESS` | `constexpr zx_obj_type_t` |

| ### Public functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1aa167c3345602ba712aa4e507687dbb48(uint64_t koid, zx_rights_t rights, https://fuchsia.dev/reference/cpp/class/zx/thread#classzx_1_1thread *result)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a25d8ffc1e9c687e441beb63f59058c9d(https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process && other)` | `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process &` |
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a098851c46bdaf651ee3dfd18f84f445f(uintptr_t vaddr, void *buffer, size_t len, size_t *actual)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1ad5672595ffc7ece8c01d16548eadbc30(const https://fuchsia.dev/reference/cpp/class/zx/thread#classzx_1_1thread & thread_handle, uintptr_t entry, uintptr_t stack, https://fuchsia.dev/reference/cpp/class/zx/object#classzx_1_1object arg_handle, uintptr_t arg2)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a4260655edcd2d943f694fd046f07757c(uintptr_t vaddr, const void *buffer, size_t len, size_t *actual)` | `zx_status_t` |

| ### Public static functions ||
|---|---|
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1ad709344a51d76e6d5faec8aa0ef4b71f(const https://fuchsia.dev/reference/cpp/class/zx/job#classzx_1_1job & job, const char *name, uint32_t name_len, uint32_t flags, https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process *proc, https://fuchsia.dev/reference/cpp/class/zx/vmar#classzx_1_1vmar *root_vmar)` | `zx_status_t` |
| `https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process_1a0a4755ff0bf5603a89a4e23ac5727aa1()` | `https://fuchsia.dev/reference/cpp/other/singletonzx/unowned#singletonzx_1_1unowned< https://fuchsia.dev/reference/cpp/class/zx/process#classzx_1_1process >` |

## Public static attributes

### TYPE

```c++
constexpr zx_obj_type_t TYPE = ZX_OBJ_TYPE_PROCESS
```

## Public functions

### get_child

```c++
zx_status_t get_child(
  uint64_t koid,
  zx_rights_t rights,
  thread *result
)
```

### operator=

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

### process

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

### process

```c++
 process(
  zx_handle_t value
)
```

### process

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

### process

```c++
 process(
  process && other
)
```

### read_memory

```c++
zx_status_t read_memory(
  uintptr_t vaddr,
  void *buffer,
  size_t len,
  size_t *actual
)
```

### start

```c++
zx_status_t start(
  const thread & thread_handle,
  uintptr_t entry,
  uintptr_t stack,
  handle arg_handle,
  uintptr_t arg2
)
```

### write_memory

```c++
zx_status_t write_memory(
  uintptr_t vaddr,
  const void *buffer,
  size_t len,
  size_t *actual
)
```

## Public static functions

### create

```c++
zx_status_t create(
  const job & job,
  const char *name,
  uint32_t name_len,
  uint32_t flags,
  process *proc,
  vmar *root_vmar
)
```

### self

```c++
unowned< process > self()
```