> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LampPurposes Enumeration

> Flags enum describing the intended purposes of a single Lamp, such as Control, Accent, Branding, Status, Illumination, and Presentation.

Describes a set of purposes for which a single Lamp is intended to be used.

## Syntax

```cpp theme={null}
enum class LampPurposes : uint32_t
{
    Undefined       = 0x00,
    Control         = 0x01,
    Accent          = 0x02,
    Branding        = 0x04,
    Status          = 0x08,
    Illumination    = 0x10,
    Presentation    = 0x20
}; 

DEFINE_ENUM_FLAG_OPERATORS(LampPurposes);
```

## Constants

| Constant | Description |
| - | - |
| Undefined | LampPurposes are not specified for this Lamp. |
| Control | Lamp is associated with a control on the device (for example, button, key, slider). |
| Accent | Lamp is used for aesthetic accent purposes and doesn't interact with the user (for example, case fan LED, illuminated side panels on a keyboard). |
| Branding | Lamp is used for device branding (for example, manufacturer logo). |
| Status | Lamp is used to indicate system status information (for example, unread email, CPU temperature). |
| Illumination | Lamp illuminates an object that is outside of the LampArray (for example, stage spotlight, car headlights, camera flash). |
| Presentation | A lamp the user directly looks at (for example, within an artwork or costume). |

## Remarks

It is likely this list will expand in the future, so avoid using error checks that validate whether a LampPurpose is within the current bounds. The preferred approach is to compare against the subset of LampPurposes the application supports.

## Requirements

**Header:** Declared in LampArray.h.

## See also

[Lighting API Overview](https://docs.xbox.com/build/core-features/common/lighting/gc-lighting-toc.md)\
[ILampArray::GetIndicesCountForPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getindicescountforpurposes.md)\
[ILampArray::GetIndicesForPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getindicesforpurposes.md)\
[ILampInfo::GetPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilampinfo/methods/ilampinfo_getpurposes.md)


## Related topics

- [LampArray API members](https://docs.xbox.com/reference/lighting/lamparray/lamparray_members.md)
- [GetIndicesForPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getindicesforpurposes.md)
- [GetIndicesCountForPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getindicescountforpurposes.md)
- [GetPurposes](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilampinfo/methods/ilampinfo_getpurposes.md)
- [ILampArray (Interface contents)](https://docs.xbox.com/reference/lighting/lamparray/interfaces/ilamparray/ilamparray.md)
