---
name: "hwloc_obj_type_is_dcache"
section: "3"
platform: "linux"
package: "hwloc"
version: "2.15.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/hwlocality_helper_types"
---

# hwloc\_obj\_type\_is\_dcache(3)

Kinds of object Type

Part of [hwlocality\_helper\_types(3)](/hwlocality_helper_types/3.md).

## NAME

hwlocality\_helper\_types - Kinds of object Type

## SYNOPSIS

### Functions

int **hwloc\_obj\_type\_is\_normal** (**hwloc\_obj\_type\_t** type)\
 int **hwloc\_obj\_type\_is\_io** (**hwloc\_obj\_type\_t** type)\
 int **hwloc\_obj\_type\_is\_memory** (**hwloc\_obj\_type\_t** type)\
 int **hwloc\_obj\_type\_is\_cache** (**hwloc\_obj\_type\_t** type)\
 int **hwloc\_obj\_type\_is\_dcache** (**hwloc\_obj\_type\_t** type)\
 int **hwloc\_obj\_type\_is\_icache** (**hwloc\_obj\_type\_t** type)\

## Detailed Description

Each object type is either Normal (i.e. **hwloc\_obj\_type\_is\_normal()** returns 1), or Memory (i.e. **hwloc\_obj\_type\_is\_memory()** returns 1) or I/O (i.e. **hwloc\_obj\_type\_is\_io()** returns 1) or Misc (i.e. equal to **HWLOC\_OBJ\_MISC**). It cannot be of more than one of these kinds.

See also Object Kind in **Terms and Definitions**.

## Function Documentation

### int hwloc\_obj\_type\_is\_cache (hwloc\_obj\_type\_t type)

Check whether an object type is a CPU Cache (Data, Unified or Instruction). Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a Cache, 0 otherwise.

### int hwloc\_obj\_type\_is\_dcache (hwloc\_obj\_type\_t type)

Check whether an object type is a CPU Data or Unified Cache. Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a CPU Data or Unified Cache, 0 otherwise.

### int hwloc\_obj\_type\_is\_icache (hwloc\_obj\_type\_t type)

Check whether an object type is a CPU Instruction Cache,. Memory-side caches are not CPU caches.

**Returns**

1 if an object of type type is a CPU Instruction Cache, 0 otherwise.

### int hwloc\_obj\_type\_is\_io (hwloc\_obj\_type\_t type)

Check whether an object type is I/O. I/O objects are objects attached to their parents in the I/O children list. This current includes Bridges, PCI and OS devices.

**Returns**

1 if an object of type type is a I/O object, 0 otherwise.

### int hwloc\_obj\_type\_is\_memory (hwloc\_obj\_type\_t type)

Check whether an object type is Memory. Memory objects are objects attached to their parents in the Memory children list. This current includes NUMA nodes and Memory-side caches.

**Returns**

1 if an object of type type is a Memory object, 0 otherwise.

### int hwloc\_obj\_type\_is\_normal (hwloc\_obj\_type\_t type)

Check whether an object type is Normal. Normal objects are objects of the main CPU hierarchy (Machine, Package, Core, PU, CPU caches, etc.), but they are not NUMA nodes, I/O devices or Misc objects.

They are attached to parent as Normal children, not as Memory, I/O or Misc children.

**Returns**

1 if an object of type type is a Normal object, 0 otherwise.

## Author

Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code.
