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

# LampPurposes enum reference

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

# LampPurposes Enumeration

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

<a id="syntaxSection" />

## 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);
```

<a id="constantsSection" />

## 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).                                                                    |

<a id="remarksSection" />

## 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.

<a id="requirementsSection" />

## Requirements

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

<a id="seealsoSection" />

## See also

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


## Related topics

- [LampArrayStatus enum reference](/reference/lighting/lamparray/enums/lamparraystatus.md)
- [LampArrayKind enum reference](/reference/lighting/lamparray/enums/lamparraykind.md)
- [LampArrayEnumerationKind enum reference](/reference/lighting/lamparray/enums/lamparrayenumerationkind.md)
- [ILampArray::GetIndicesForPurposes method](/reference/lighting/lamparray/interfaces/ilamparray/methods/ilamparray_getindicesforpurposes.md)
- [LampArray API members reference](/reference/lighting/lamparray/lamparray_members.md)
