---
title: getDisplayModes
framework: kernel
role: pseudoSymbol
path: kernel/ioframebuffer/1813237-getdisplaymodes
---

# getDisplayModes

Return the number of display modes the framebuffer supports.

## Declaration

```occ
virtual IOReturn getDisplayModes(
 IODisplayModeID *allDisplayModes ) = 0; 
```

## Parameters

- `allDisplayModes`: A caller allocated buffer with the size given by the result of getDisplayModeCount().

## Return Value

Return Value an IOReturn code. A return other than kIOReturnSuccess will prevent the system from using the device.

## Overview

Overview IOFramebuffer subclasses must implement this method to return an array of display mode IDs available for the framebuffer. The IDs are defined by the driver in the range 0x00000001 - 0x7fffffff, and should be constant for a given display mode.

## See Also

### Miscellaneous

- [connectFlags](kernel/ioframebuffer/1812972-connectflags.md)
- [convertCursorImage](kernel/ioframebuffer/1812983-convertcursorimage.md)
- [doI2CRequest](kernel/ioframebuffer/1812996-doi2crequest.md)
- [enableController](kernel/ioframebuffer/1813011-enablecontroller.md)
- [flushCursor](kernel/ioframebuffer/1813022-flushcursor.md)
- [getApertureRange](kernel/ioframebuffer/1813036-getaperturerange.md)
- [getAppleSense](kernel/ioframebuffer/1813053-getapplesense.md)
- [getAttribute](kernel/ioframebuffer/1813070-getattribute.md)
- [getAttributeForConnection](kernel/ioframebuffer/1813093-getattributeforconnection.md)
- [getConnectionCount](kernel/ioframebuffer/1813110-getconnectioncount.md)
- [getCurrentDisplayMode(IODisplayModeID *, IOIndex *)](kernel/ioframebuffer/1813145-getcurrentdisplaymode.md)
- [getDDCBlock](kernel/ioframebuffer/1813183-getddcblock.md)
- [getDisplayModeCount](kernel/ioframebuffer/1813210-getdisplaymodecount.md)
- [getInformationForDisplayMode](kernel/ioframebuffer/1813269-getinformationfordisplaymode.md)
- [getPixelFormats](kernel/ioframebuffer/1813303-getpixelformats.md)
- [getPixelFormatsForDisplayMode](kernel/ioframebuffer/1813329-getpixelformatsfordisplaymode.md)
- [getPixelInformation](kernel/ioframebuffer/1813353-getpixelinformation.md)
- [getStartupDisplayMode](kernel/ioframebuffer/1813382-getstartupdisplaymode.md)
- [getTimingInfoForDisplayMode](kernel/ioframebuffer/1813413-gettiminginfofordisplaymode.md)
- [getVRAMRange](kernel/ioframebuffer/1813443-getvramrange.md)
- [handleEvent](kernel/ioframebuffer/1813481-handleevent.md)
- [hasDDCConnect](kernel/ioframebuffer/1813510-hasddcconnect.md)
- [readDDCClock](kernel/ioframebuffer/1813550-readddcclock.md)
- [readDDCData](kernel/ioframebuffer/1813593-readddcdata.md)
- [registerForInterruptType](kernel/ioframebuffer/1813622-registerforinterrupttype.md)
- [setApertureEnable](kernel/ioframebuffer/1813646-setapertureenable.md)
- [setAttribute](kernel/ioframebuffer/1813661-setattribute.md)
- [setAttributeForConnection](kernel/ioframebuffer/1813672-setattributeforconnection.md)
- [setCLUTWithEntries](kernel/ioframebuffer/1813680-setclutwithentries.md)
- [setCurrentDisplayMode](kernel/ioframebuffer/1813685-setcurrentdisplaymode.md)
- [setCursorImage](kernel/ioframebuffer/1813692-setcursorimage.md)
- [setCursorState](kernel/ioframebuffer/1813699-setcursorstate.md)
- [setDDCClock](kernel/ioframebuffer/1813707-setddcclock.md)
- [setDDCData](kernel/ioframebuffer/1813718-setddcdata.md)
- [setDetailedTimings](kernel/ioframebuffer/1813724-setdetailedtimings.md)
- [setDisplayMode](kernel/ioframebuffer/1813732-setdisplaymode.md)
- [setGammaTable](kernel/ioframebuffer/1813739-setgammatable.md)
- [setInterruptState](kernel/ioframebuffer/1813744-setinterruptstate.md)
- [setStartupDisplayMode](kernel/ioframebuffer/1813749-setstartupdisplaymode.md)
- [unregisterInterrupt(void *)](kernel/ioframebuffer/1813753-unregisterinterrupt.md)
- [unregisterInterrupt(void *, UInt32)](kernel/ioframebuffer/1813757-unregisterinterrupt.md)
- [validateDetailedTiming](kernel/ioframebuffer/1813761-validatedetailedtiming.md)
