# Configuration

## Summary

| ### Enumerations ||
|---|---|
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gae4d5251432e1a9e6803c0240cc492e18{ https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18af44cee3290a23999b0358c5638747a5f = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad9bf5c1fb90f9fdb20f984d0574592fe = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad5746872ff6871379fca93c60bfac8a3 = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ab0ca4fce673baf58447bfeb154d9a03f = 0x0003, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18aa73bcf45261366840fea743372682fa6 = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18adfbeb370edd3b4372c9b0f86f152dde0 = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a8316a15b06353f883f2aef8bd194f79f = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a4bf2a8323ec6d072aa48d5fc2cff645e = 0x0003, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ae628b2bf594733b7c19ae394616cec6c = 0, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a01ddb34b2376422d2323720049eb57f3 = 120, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a2511479d7cd574c4b293d535e4dc337e = 160, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a10e6c3d636f3f6de75de9208913b0d8f = 213, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a5ef4a97dc058235cdfa9fcfe3300c7eb = 240, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a38a03b3b1c64725679605d8d479c85a0 = 320, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad6353daf63778a6ec6f2bd3815d7e6e4 = 480, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a2bd04af33e868a77bd4d83e7d70368ec = 640, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a966a3855351a97ae865264afd74c1534 = 0xfffe, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a7c1af92914155c418b99844c6aab33d7 = 0xffff, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a593f722738682ae4500dab6427670f4a = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a40195a1a2d8e21c74d99606d8a1a9918 = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a263ff8efb4d2c757e557adc0d0cdeedf = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a1aaf1a887f146737030cce95c53066ea = 0x0003, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a90e914b60d28c081b313f4b7b6600f47 = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a3d95e899305aeae366fb7f8d8b6c290a = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ace2e3ed21322100712992ca09f4b75b5 = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad2807d00cb2f5dcb9f456045dd8443a4 = 0x0003, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a80b53370f65ad283a4fd025f36422bea = 0x0004, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a34d3a830bc2964000052f8486fd76b0c = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18abfbfc3a10affed059263555b00429ab2 = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a5e6a5a3f4175644886bde7d0ed4b1ebf = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a1a56b72c730e40f22f3b8727e54c376c = 0x0003, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a6db7dd6a67196df88117dcdc904e0cb3 = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ae6ff9883e3e89f8d9ea5c0ebe077c9c5 = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a79b3a5fe10e948bb79db47b516d46cf5 = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a9abcd34a6c549e048fc75a545081584e = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a1163af972206a65a5d18bda12fdc511c = 0x01, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a019727e684f25ba921f3479abd62b9f2 = 0x02, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18af871d177fdceedb75612cfc1281d2c12 = 0x03, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a0ca385ed504fc92f6ff3f0857e916c9c = 0x04, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a41e55e57da42fd09c378f59c1a63710f = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a428bb8fcd8bc731b67b0773dc62781c5 = 0x1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a91fc014d328507568d225d691b3babfd = 0x2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad16e42d3065b5de27b4471089cf95015 = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18afc5a749d6a1ed17ed44ad9a02c065076 = 0x1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a3e6f2d3d4972f712de20eb7bed0f479c = 0x2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a9a81352c61706e4ff1e7a4036f9dfa41 = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ab60cab3b1d780892d265221dbcf60be4 = 0x1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a9bc20af17788c48d8399b058c165088c = 0x2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a4865b77253fa6f975b03fdfffc4fe29c = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18aae9540c204e8227e0a24f6de7aa15179 = 0x1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a083fabe93db503192c555a354f9f4058 = 0x2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a10d0916da7fa88c945a9cda259407d4c = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ae7efe2713b6718311da76c828b5b444e = 0x01, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ae10bb854f461f60cf399852f8f327077 = 0x02, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a5d6575185e41d909469a1dcf5f81bf4f = 0x03, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a4738dded616f028fbbedcbad764e7969 = 0x04, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ad99004a7a1b2a97d29b639664947f8e3 = 0x05, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ac8c3e2207f2356bc6a1dffc6a615d131 = 0x06, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ae54357643ea2cfd23a01601854906624 = 0x07, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a975087bbd4087b57a68ef3cdbfeb77a1 = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a90ebe564e3a3e384d5b013100f81e4b7 = 0x1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a437af4527fac5407de256ec1ef055046 = 0x2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18aad653f0c960112177fdc387a4a0577fa = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ab66ad42d0cf72fd7e8cd99b92b625432 = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a227120217d8b6a9d5add3ccc4b283702 = 0x0000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a4687ede31c438dd9f2701cab88de1dbe = 0x00, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a05242d8f2d254b43ff9414ff1aa38a83 = 0x01, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18af98332983b787ab9355b527079636870 = 0x02, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a4d40f2aef365c78a52f699b89439db28 = 0x0001, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ade91a319638eede201579d15f86578a5 = 0x0002, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a01ecff796bd0690a9a8498c7de03e9b4 = 0x0004, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a255cfb57ac18d460c5614565a84f5561 = 0x0008, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a0195de2a57f028a8171c42beff0b0e88 = 0x0010, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a54e71234e32ed037e2d47472f80eb416 = 0x0020, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a65e9d31615d2b4adf3738d9a12a1556b = 0x0040, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a591461d864136d482fe06e01fd945786 = 0x0080, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ace87b4f25e5fd6fe0f3316d21ecc66a1 = 0x0100, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a76ca1eb0e9346d93da592afbbf9a3b72 = 0x0200, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a1be62e4fc31cf3d3102c99f7c6b4c71b = 0x0400, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a12d69ffef9135c1c55e1b8b5c2589e7c = 0x0800, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a43a324af59372efd08b34431825cf67e = 0x1000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18acce415252e0ad95117a05bbe910f06de = 0x2000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a65834be1230d1694e5ce8a6f407acab2 = 0x4000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a3f9d89817d6b7fcc482454c77f7cde1a = 0x8000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a9213a4b4a090b3b73a1c5beb7a7e9076 = 0x10000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a027a83cdbbaa50ce88693b0444ac31f0 = 0x20000, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18aa6cda2f222580dbef27f1277d967d58c = 0xffff, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a2bf848a402130f1ecbc056d933e40809 = 0, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a96584e1af7eb6a6e78d3c29ba9ba91d4 = 1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18ac71ccc50f645c13b4b66ad34af4800cc = 2, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ggae4d5251432e1a9e6803c0240cc492e18a5614f7a65ec7103a96f26fae1a7617d3 = 3 }` | enumDefine flags and constants for various subsystem configurations. |

| ### Typedefs ||
|---|---|
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a` | typedef `struct https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a` [AConfiguration](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a) is an opaque type used to get and set various subsystem configurations. |

| ### Functions ||
|---|---|
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaabff04218a0a76afb8d3ea551b001565(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *dest, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *src)` | `void` Copy the contents of 'src' to 'dest'. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga60fe264b97da84d3370eb9e220159e6d(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `void` Free an AConfiguration that was previously created with [AConfiguration_new()](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9543655922980466eb05c7be94a0a567). |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gabfe69b0dccae425a16fe94d084f20402(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config1, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config2)` | `int32_t` Perform a diff between two configurations. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga75e061fd0b4f761e08e43af36508c4f3(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *out, https://developer.android.com/ndk/reference/group/asset#group___asset_1ga90c459935e76acf809b9ec90d1872771 *am)` | `void` Create and return a new AConfiguration based on the current configuration in use in the given [AAssetManager](https://developer.android.com/ndk/reference/group/asset#group___asset_1ga90c459935e76acf809b9ec90d1872771). |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gad2b47f787012a82a67a20e5de5211d46(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, char *outCountry)` | `void` Return the current country code set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga4c994e0555947340582094c3da32a663(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_DENSITY_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gab7ae5bf78b4343604164cdac33ce4dd1(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the configuration's grammatical gender, or ACONFIGURATION_GRAMMATICAL_GENDER_ANY if not set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafd0f76ccd4fe4bda5172b8e0bc6675e4(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_KEYBOARD_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga7a8317ab975f621f3fe62ed1b44f2605(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_KEYSHIDDEN_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga7b004c13448704afb0ea2040d69468c1(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, char *outLanguage)` | `void` Return the current language code set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga13dbf2fc9a382c62b391e7de9cf9b468(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the configuration's layout direction, or ACONFIGURATION_LAYOUTDIR_ANY if not set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga1e78004237a931086d2ae4bd8324bd30(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current MCC set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga4783776a4fad4501898472375d781fb9(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current MNC set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafe8d3a9c2f715ea76c8e4a99c2db9eaa(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_NAVHIDDEN_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gae3ff1541b63f5b9256f7c0ebae372977(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_NAVIGATION_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaa7d8e3e9871dc925fef3e342a92e4e22(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_ORIENTATION_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9905a4765f8d0d921c476ebce01c7648(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current configuration screen height in dp units, or ACONFIGURATION_SCREEN_HEIGHT_DP_ANY if not set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gab7d1f5aa59e8fa4db0a1b91bb322034c(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_SCREENLONG_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga3fe4c0c65e90a4c49b10d2cc290a16c6(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_SCREENROUND_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9d2c1b8731795d8e74be7e23cbc77552(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_SCREENSIZE_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga61e5fe9612c170c33e1c7e9fb92f2219(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current configuration screen width in dp units, or ACONFIGURATION_SCREEN_WIDTH_DP_ANY if not set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga4aa7062198e5aacd9fabb04d0453dd91(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current SDK (API) version set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga7fc015e41fad342edba66a003d9848aa(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the configuration's smallest screen width in dp units, or ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY if not set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gad305e6cf86fa915c24212e71bb2bf027(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_TOUCHSCREEN_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga447f16a9e4f8400e5e0328900749ff16(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_UI_MODE_NIGHT_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga1d75777892f38208feb3d2a94a977fcf(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config)` | `int32_t` Return the current ACONFIGURATION_UI_MODE_TYPE_\* set in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafd2bb31057c8d57efcea7603458d2a8d(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *base, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *test, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *requested)` | `int32_t` Determine whether the configuration in 'test' is better than the existing configuration in 'base'. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafb27b901a1d7d44ed866608fb8399a18(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *base, https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *requested)` | `int32_t` Determine whether 'base' is a valid configuration for use within the environment 'requested'. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9543655922980466eb05c7be94a0a567()` | `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *` Create a new AConfiguration, initialized with no values set. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gac2f5d414a6466634b1639b5c6f8879ac(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, const char *country)` | `void` Set the current country code in the configuration, from the first two characters in the string. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9217af9858a7166dcb9a877192779eac(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t density)` | `void` Set the current density in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga8290a0a1bfd4640f6168bc3a2da70fdb(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t value)` | `void` Set the configuration's grammatical gender to one of the ACONFIGURATION_GRAMMATICAL_GENDER_\* constants. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga4ab3429c5505c108c09349f1ddef572f(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t keyboard)` | `void` Set the current keyboard in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga5a80a02aa10cfa17de0795054e927183(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t keysHidden)` | `void` Set the current keys hidden in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga1f3c6cf6667655f83777acda7387ddff(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, const char *language)` | `void` Set the current language code in the configuration, from the first two characters in the string. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaaf47215cf551594f8c2a0594419b47e1(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t value)` | `void` Set the configuration's layout direction. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gae6198b4eaf3e34168f4b13b8b5975d93(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t mcc)` | `void` Set the current MCC in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaaf060ef69c3636f62e90ae0b520eecb8(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t mnc)` | `void` Set the current MNC in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga67e86e0347596421771af841710308d5(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t navHidden)` | `void` Set the current nav hidden in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gad21dd14fb823a6a80b66132a05ce8913(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t navigation)` | `void` Set the current navigation in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gadcaa8540bad4172a74032143bcaade04(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t orientation)` | `void` Set the current orientation in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6ffac3b41415ec8a3031737ccdcd63b8(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t value)` | `void` Set the configuration's current screen width in dp units. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaed853ab7e2bc915591d05997130bc448(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t screenLong)` | `void` Set the current screen long in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga82abecb8e845f7ce2237e3d5d612395b(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t screenRound)` | `void` Set the current screen round in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga7bcf05150933ead34a01061d05ad3245(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t screenSize)` | `void` Set the current screen size in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafc51d45679095965fe3ba1abd402f120(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t value)` | `void` Set the configuration's current screen width in dp units. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga06c66072902ee455011120188ca4810b(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t sdkVersion)` | `void` Set the current SDK version in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6b004c9585671efc5cebd96c1d43c4f0(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t value)` | `void` Set the configuration's smallest screen width in dp units. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga0d51dbe710c1afe31ece4dd6a8c188ff(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t touchscreen)` | `void` Set the current touchscreen in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga08df1e801afbe4a12411e393b8141e42(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t uiModeNight)` | `void` Set the current UI mode night in the configuration. |
| `https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gaec61e3cf91cd79e8b76a35bbcb15789d(https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a *config, int32_t uiModeType)` | `void` Set the current UI mode type in the configuration. |

## Enumerations

### Anonymous Enum 25

Declared in `android/configuration.h`

```text
 Anonymous Enum 25
```
Define flags and constants for various subsystem configurations.

| Properties ||
|---|---|
| `ACONFIGURATION_COLOR_MODE` | Bit mask for [wide color gamut](https://developer.android.com/guide/topics/resources/providing-resources#WideColorGamutQualifier) and [HDR](https://developer.android.com/guide/topics/resources/providing-resources#HDRQualifier) configurations. |
| `ACONFIGURATION_DENSITY` | Bit mask for [density](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) configuration. |
| `ACONFIGURATION_DENSITY_ANY` | Density: any density. |
| `ACONFIGURATION_DENSITY_DEFAULT` | Density: default density. |
| `ACONFIGURATION_DENSITY_HIGH` | Density: value corresponding to the [hdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_LOW` | Density: value corresponding to the [ldpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_MEDIUM` | Density: value corresponding to the [mdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_NONE` | Density: no density specified. |
| `ACONFIGURATION_DENSITY_TV` | Density: value corresponding to the [tvdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_XHIGH` | Density: value corresponding to the [xhdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_XXHIGH` | Density: value corresponding to the [xxhdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_DENSITY_XXXHIGH` | Density: value corresponding to the [xxxhdpi](https://developer.android.com/guide/topics/resources/providing-resources#DensityQualifier) resource qualifier. |
| `ACONFIGURATION_GRAMMATICAL_GENDER` | Bit mask for [grammatical gender](https://developer.android.com/guide/topics/resources/providing-resources#GrammaticalInflectionQualifier) configuration. |
| `ACONFIGURATION_GRAMMATICAL_GENDER_ANY` | [Grammatical gender](https://developer.android.com/guide/topics/resources/providing-resources#GrammaticalInflectionQualifier): not specified. |
| `ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE` | [Grammatical gender](https://developer.android.com/guide/topics/resources/providing-resources#GrammaticalInflectionQualifier): feminine. |
| `ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE` | [Grammatical gender](https://developer.android.com/guide/topics/resources/providing-resources#GrammaticalInflectionQualifier): masculine. |
| `ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER` | [Grammatical gender](https://developer.android.com/guide/topics/resources/providing-resources#GrammaticalInflectionQualifier): neuter. |
| `ACONFIGURATION_HDR_ANY` | HDR: not specified. |
| `ACONFIGURATION_HDR_NO` | HDR: value that corresponds to [lowdr](https://developer.android.com/guide/topics/resources/providing-resources#HDRQualifier) resource qualifier specified. |
| `ACONFIGURATION_HDR_YES` | HDR: value that corresponds to [highdr](https://developer.android.com/guide/topics/resources/providing-resources#HDRQualifier) resource qualifier specified. |
| `ACONFIGURATION_KEYBOARD` | Bit mask for [keyboard](https://developer.android.com/guide/topics/resources/providing-resources#ImeQualifier) configuration. |
| `ACONFIGURATION_KEYBOARD_12KEY` | Keyboard: value corresponding to the [12key](https://developer.android.com/guide/topics/resources/providing-resources#ImeQualifier) resource qualifier. |
| `ACONFIGURATION_KEYBOARD_ANY` | Keyboard: not specified. |
| `ACONFIGURATION_KEYBOARD_HIDDEN` | Bit mask for [keyboardHidden](https://developer.android.com/guide/topics/resources/providing-resources#KeyboardAvailQualifier) configuration. |
| `ACONFIGURATION_KEYBOARD_NOKEYS` | Keyboard: value corresponding to the [nokeys](https://developer.android.com/guide/topics/resources/providing-resources#ImeQualifier) resource qualifier. |
| `ACONFIGURATION_KEYBOARD_QWERTY` | Keyboard: value corresponding to the [qwerty](https://developer.android.com/guide/topics/resources/providing-resources#ImeQualifier) resource qualifier. |
| `ACONFIGURATION_KEYSHIDDEN_ANY` | Keyboard availability: not specified. |
| `ACONFIGURATION_KEYSHIDDEN_NO` | Keyboard availability: value corresponding to the [keysexposed](https://developer.android.com/guide/topics/resources/providing-resources#KeyboardAvailQualifier) resource qualifier. |
| `ACONFIGURATION_KEYSHIDDEN_SOFT` | Keyboard availability: value corresponding to the [keyssoft](https://developer.android.com/guide/topics/resources/providing-resources#KeyboardAvailQualifier) resource qualifier. |
| `ACONFIGURATION_KEYSHIDDEN_YES` | Keyboard availability: value corresponding to the [keyshidden](https://developer.android.com/guide/topics/resources/providing-resources#KeyboardAvailQualifier) resource qualifier. |
| `ACONFIGURATION_LAYOUTDIR` | Bit mask for [layout direction](https://developer.android.com/guide/topics/resources/providing-resources#LayoutDirectionQualifier) configuration. |
| `ACONFIGURATION_LAYOUTDIR_ANY` | Layout direction: not specified. |
| `ACONFIGURATION_LAYOUTDIR_LTR` | Layout direction: value that corresponds to [ldltr](https://developer.android.com/guide/topics/resources/providing-resources#LayoutDirectionQualifier) resource qualifier specified. |
| `ACONFIGURATION_LAYOUTDIR_RTL` | Layout direction: value that corresponds to [ldrtl](https://developer.android.com/guide/topics/resources/providing-resources#LayoutDirectionQualifier) resource qualifier specified. |
| `ACONFIGURATION_LOCALE` | Bit mask for [locale](https://developer.android.com/guide/topics/resources/providing-resources#LocaleQualifier) configuration. |
| `ACONFIGURATION_MCC` | Bit mask for [mcc](https://developer.android.com/guide/topics/resources/providing-resources#MccQualifier) configuration. |
| `ACONFIGURATION_MNC` | Bit mask for [mnc](https://developer.android.com/guide/topics/resources/providing-resources#MccQualifier) configuration. |
| `ACONFIGURATION_MNC_ZERO` | Constant used to to represent MNC (Mobile Network Code) zero. 0 cannot be used, since it is used to represent an undefined MNC. |
| `ACONFIGURATION_NAVHIDDEN_ANY` | Navigation availability: not specified. |
| `ACONFIGURATION_NAVHIDDEN_NO` | Navigation availability: value corresponding to the [navexposed](https://developer.android.com/guide/topics/resources/providing-resources#NavAvailQualifier) resource qualifier. |
| `ACONFIGURATION_NAVHIDDEN_YES` | Navigation availability: value corresponding to the [navhidden](https://developer.android.com/guide/topics/resources/providing-resources#NavAvailQualifier) resource qualifier. |
| `ACONFIGURATION_NAVIGATION` | Bit mask for [navigation](https://developer.android.com/guide/topics/resources/providing-resources#NavigationQualifier) configuration. |
| `ACONFIGURATION_NAVIGATION_ANY` | Navigation: not specified. |
| `ACONFIGURATION_NAVIGATION_DPAD` | Navigation: value corresponding to the [dpad](https://developer.android.com/guide/topics/resources/providing-resources#NavigationQualifier) resource qualifier. |
| `ACONFIGURATION_NAVIGATION_NONAV` | Navigation: value corresponding to the [nonav](https://developer.android.com/ndk/reference/group/@/guide/topics/resources/providing-resources#NavigationQualifier) resource qualifier. |
| `ACONFIGURATION_NAVIGATION_TRACKBALL` | Navigation: value corresponding to the [trackball](https://developer.android.com/guide/topics/resources/providing-resources#NavigationQualifier) resource qualifier. |
| `ACONFIGURATION_NAVIGATION_WHEEL` | Navigation: value corresponding to the [wheel](https://developer.android.com/guide/topics/resources/providing-resources#NavigationQualifier) resource qualifier. |
| `ACONFIGURATION_ORIENTATION` | Bit mask for [orientation](https://developer.android.com/guide/topics/resources/providing-resources#OrientationQualifier) configuration. |
| `ACONFIGURATION_ORIENTATION_ANY` | Orientation: not specified. |
| `ACONFIGURATION_ORIENTATION_LAND` | Orientation: value corresponding to the [land](https://developer.android.com/guide/topics/resources/providing-resources#OrientationQualifier) resource qualifier. |
| `ACONFIGURATION_ORIENTATION_PORT` | Orientation: value corresponding to the [port](https://developer.android.com/guide/topics/resources/providing-resources#OrientationQualifier) resource qualifier. |
| `ACONFIGURATION_ORIENTATION_SQUARE` | **[Deprecated.](https://developer.android.com/ndk/reference/deprecated/deprecated)**Not currently supported or used. |
| `ACONFIGURATION_SCREENLONG_ANY` | Screen layout: not specified. |
| `ACONFIGURATION_SCREENLONG_NO` | Screen layout: value that corresponds to the [notlong](https://developer.android.com/guide/topics/resources/providing-resources#ScreenAspectQualifier) resource qualifier. |
| `ACONFIGURATION_SCREENLONG_YES` | Screen layout: value that corresponds to the [long](https://developer.android.com/guide/topics/resources/providing-resources#ScreenAspectQualifier) resource qualifier. |
| `ACONFIGURATION_SCREENROUND_ANY` |   |
| `ACONFIGURATION_SCREENROUND_NO` |   |
| `ACONFIGURATION_SCREENROUND_YES` |   |
| `ACONFIGURATION_SCREENSIZE_ANY` | Screen size: not specified. |
| `ACONFIGURATION_SCREENSIZE_LARGE` | Screen size: value indicating the screen is at least approximately 480x640 dp units, corresponding to the [large](https://developer.android.com/guide/topics/resources/providing-resources#ScreenSizeQualifier) resource qualifier. |
| `ACONFIGURATION_SCREENSIZE_NORMAL` | Screen size: value indicating the screen is at least approximately 320x470 dp units, corresponding to the [normal](https://developer.android.com/guide/topics/resources/providing-resources#ScreenSizeQualifier) resource qualifier. |
| `ACONFIGURATION_SCREENSIZE_SMALL` | Screen size: value indicating the screen is at least approximately 320x426 dp units, corresponding to the [small](https://developer.android.com/guide/topics/resources/providing-resources#ScreenSizeQualifier) resource qualifier. |
| `ACONFIGURATION_SCREENSIZE_XLARGE` | Screen size: value indicating the screen is at least approximately 720x960 dp units, corresponding to the [xlarge](https://developer.android.com/guide/topics/resources/providing-resources#ScreenSizeQualifier) resource qualifier. |
| `ACONFIGURATION_SCREEN_HEIGHT_DP_ANY` | Screen height DPI: not specified. |
| `ACONFIGURATION_SCREEN_LAYOUT` | Bit mask for screen layout configuration. |
| `ACONFIGURATION_SCREEN_ROUND` |   |
| `ACONFIGURATION_SCREEN_SIZE` | Bit mask for [screen size](https://developer.android.com/guide/topics/resources/providing-resources#ScreenSizeQualifier) configuration. |
| `ACONFIGURATION_SCREEN_WIDTH_DP_ANY` | Screen width DPI: not specified. |
| `ACONFIGURATION_SMALLEST_SCREEN_SIZE` | Bit mask for [smallest screen width](https://developer.android.com/guide/topics/resources/providing-resources#SmallestScreenWidthQualifier) configuration. |
| `ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY` | Smallest screen width DPI: not specified. |
| `ACONFIGURATION_TOUCHSCREEN` | Bit mask for [touchscreen](https://developer.android.com/guide/topics/resources/providing-resources#TouchscreenQualifier) configuration. |
| `ACONFIGURATION_TOUCHSCREEN_ANY` | Touchscreen: not specified. |
| `ACONFIGURATION_TOUCHSCREEN_FINGER` | Touchscreen: value corresponding to the [finger](https://developer.android.com/guide/topics/resources/providing-resources#TouchscreenQualifier) resource qualifier. |
| `ACONFIGURATION_TOUCHSCREEN_NOTOUCH` | Touchscreen: value corresponding to the [notouch](https://developer.android.com/guide/topics/resources/providing-resources#TouchscreenQualifier) resource qualifier. |
| `ACONFIGURATION_TOUCHSCREEN_STYLUS` | **[Deprecated.](https://developer.android.com/ndk/reference/deprecated/deprecated)**Not currently supported or used. |
| `ACONFIGURATION_UI_MODE` | Bit mask for [ui mode](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) configuration. |
| `ACONFIGURATION_UI_MODE_NIGHT_ANY` | UI night mode: not specified. |
| `ACONFIGURATION_UI_MODE_NIGHT_NO` | UI night mode: value that corresponds to [notnight](https://developer.android.com/guide/topics/resources/providing-resources#NightQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_NIGHT_YES` | UI night mode: value that corresponds to [night](https://developer.android.com/guide/topics/resources/providing-resources#NightQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_ANY` | UI mode: not specified. |
| `ACONFIGURATION_UI_MODE_TYPE_APPLIANCE` | UI mode: value that corresponds to [appliance](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_CAR` | UI mode: value that corresponds to [car](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_DESK` | UI mode: value that corresponds to [desk](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_NORMAL` | UI mode: value that corresponds to [no UI mode type](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_TELEVISION` | UI mode: value that corresponds to [television](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET` | UI mode: value that corresponds to [vr](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_UI_MODE_TYPE_WATCH` | UI mode: value that corresponds to [watch](https://developer.android.com/guide/topics/resources/providing-resources#UiModeQualifier) resource qualifier specified. |
| `ACONFIGURATION_VERSION` | Bit mask for [platform version](https://developer.android.com/guide/topics/resources/providing-resources#VersionQualifier) configuration. |
| `ACONFIGURATION_WIDE_COLOR_GAMUT_ANY` | Wide color gamut: not specified. |
| `ACONFIGURATION_WIDE_COLOR_GAMUT_NO` | Wide color gamut: value that corresponds to [no nowidecg](https://developer.android.com/guide/topics/resources/providing-resources#WideColorGamutQualifier) resource qualifier specified. |
| `ACONFIGURATION_WIDE_COLOR_GAMUT_YES` | Wide color gamut: value that corresponds to [widecg](https://developer.android.com/guide/topics/resources/providing-resources#WideColorGamutQualifier) resource qualifier specified. |

## Typedefs

### AConfiguration

Declared in `android/configuration.h`

```text
struct AConfiguration AConfiguration
```
[AConfiguration](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a) is an opaque type used to get and set various subsystem configurations.

A [AConfiguration](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga6709434d0f99b8367d0df2dfdfbef45a) pointer can be obtained using:

- [AConfiguration_new()](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9543655922980466eb05c7be94a0a567)
- [AConfiguration_fromAssetManager()](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga75e061fd0b4f761e08e43af36508c4f3)

<br />

## Functions

### AConfiguration_copy

Declared in `android/configuration.h`

```scdoc
void AConfiguration_copy(
  AConfiguration *dest,
  AConfiguration *src
)
```
Copy the contents of 'src' to 'dest'.

### AConfiguration_delete

Declared in `android/configuration.h`

```scdoc
void AConfiguration_delete(
  AConfiguration *config
)
```
Free an AConfiguration that was previously created with [AConfiguration_new()](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1ga9543655922980466eb05c7be94a0a567).

### AConfiguration_diff

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_diff(
  AConfiguration *config1,
  AConfiguration *config2
)
```
Perform a diff between two configurations.

Returns a bit mask of ACONFIGURATION_\* constants, each bit set meaning that configuration element is different between them.

### AConfiguration_fromAssetManager

Declared in `android/configuration.h`

```scdoc
void AConfiguration_fromAssetManager(
  AConfiguration *out,
  AAssetManager *am
)
```
Create and return a new AConfiguration based on the current configuration in use in the given [AAssetManager](https://developer.android.com/ndk/reference/group/asset#group___asset_1ga90c459935e76acf809b9ec90d1872771).

### AConfiguration_getCountry

Declared in `android/configuration.h`

```scdoc
void AConfiguration_getCountry(
  AConfiguration *config,
  char *outCountry
)
```
Return the current country code set in the configuration.

The output will be filled with an array of two characters. They are not 0-terminated. If a country is not set, they will be 0.

### AConfiguration_getDensity

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getDensity(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_DENSITY_\* set in the configuration.

### AConfiguration_getGrammaticalGender

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getGrammaticalGender(
  AConfiguration *config
)
```
Return the configuration's grammatical gender, or ACONFIGURATION_GRAMMATICAL_GENDER_ANY if not set.

Available since API level 34.

### AConfiguration_getKeyboard

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getKeyboard(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_KEYBOARD_\* set in the configuration.

### AConfiguration_getKeysHidden

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getKeysHidden(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_KEYSHIDDEN_\* set in the configuration.

### AConfiguration_getLanguage

Declared in `android/configuration.h`

```scdoc
void AConfiguration_getLanguage(
  AConfiguration *config,
  char *outLanguage
)
```
Return the current language code set in the configuration.

The output will be filled with an array of two characters. They are not 0-terminated. If a language is not set, they will be 0.

### AConfiguration_getLayoutDirection

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getLayoutDirection(
  AConfiguration *config
)
```
Return the configuration's layout direction, or ACONFIGURATION_LAYOUTDIR_ANY if not set.

Available since API level 17.

### AConfiguration_getMcc

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getMcc(
  AConfiguration *config
)
```
Return the current MCC set in the configuration.

0 if not set.

### AConfiguration_getMnc

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getMnc(
  AConfiguration *config
)
```
Return the current MNC set in the configuration.

0 if not set.

### AConfiguration_getNavHidden

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getNavHidden(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_NAVHIDDEN_\* set in the configuration.

### AConfiguration_getNavigation

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getNavigation(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_NAVIGATION_\* set in the configuration.

### AConfiguration_getOrientation

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getOrientation(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_ORIENTATION_\* set in the configuration.

### AConfiguration_getScreenHeightDp

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getScreenHeightDp(
  AConfiguration *config
)
```
Return the current configuration screen height in dp units, or ACONFIGURATION_SCREEN_HEIGHT_DP_ANY if not set.

### AConfiguration_getScreenLong

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getScreenLong(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_SCREENLONG_\* set in the configuration.

### AConfiguration_getScreenRound

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getScreenRound(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_SCREENROUND_\* set in the configuration.

Available since API level 30.

### AConfiguration_getScreenSize

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getScreenSize(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_SCREENSIZE_\* set in the configuration.

### AConfiguration_getScreenWidthDp

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getScreenWidthDp(
  AConfiguration *config
)
```
Return the current configuration screen width in dp units, or ACONFIGURATION_SCREEN_WIDTH_DP_ANY if not set.

### AConfiguration_getSdkVersion

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getSdkVersion(
  AConfiguration *config
)
```
Return the current SDK (API) version set in the configuration.

### AConfiguration_getSmallestScreenWidthDp

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getSmallestScreenWidthDp(
  AConfiguration *config
)
```
Return the configuration's smallest screen width in dp units, or ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY if not set.

### AConfiguration_getTouchscreen

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getTouchscreen(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_TOUCHSCREEN_\* set in the configuration.

### AConfiguration_getUiModeNight

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getUiModeNight(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_UI_MODE_NIGHT_\* set in the configuration.

### AConfiguration_getUiModeType

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_getUiModeType(
  AConfiguration *config
)
```
Return the current ACONFIGURATION_UI_MODE_TYPE_\* set in the configuration.

### AConfiguration_isBetterThan

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_isBetterThan(
  AConfiguration *base,
  AConfiguration *test,
  AConfiguration *requested
)
```
Determine whether the configuration in 'test' is better than the existing configuration in 'base'.

If 'requested' is non-NULL, this decision is based on the overall configuration given there. If it is NULL, this decision is simply based on which configuration is more specific. Returns non-0 if 'test' is better than 'base'.

This assumes you have already filtered the configurations with [AConfiguration_match()](https://developer.android.com/ndk/reference/group/configuration#group___configuration_1gafb27b901a1d7d44ed866608fb8399a18).

### AConfiguration_match

Declared in `android/configuration.h`

```scdoc
int32_t AConfiguration_match(
  AConfiguration *base,
  AConfiguration *requested
)
```
Determine whether 'base' is a valid configuration for use within the environment 'requested'.

Returns 0 if there are any values in 'base' that conflict with 'requested'. Returns 1 if it does not conflict.

### AConfiguration_new

Declared in `android/configuration.h`

```scdoc
AConfiguration * AConfiguration_new()
```
Create a new AConfiguration, initialized with no values set.

### AConfiguration_setCountry

Declared in `android/configuration.h`

```gdscript
void AConfiguration_setCountry(
  AConfiguration *config,
  const char *country
)
```
Set the current country code in the configuration, from the first two characters in the string.

### AConfiguration_setDensity

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setDensity(
  AConfiguration *config,
  int32_t density
)
```
Set the current density in the configuration.

### AConfiguration_setGrammaticalGender

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setGrammaticalGender(
  AConfiguration *config,
  int32_t value
)
```
Set the configuration's grammatical gender to one of the ACONFIGURATION_GRAMMATICAL_GENDER_\* constants.

Available since API level 34.

### AConfiguration_setKeyboard

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setKeyboard(
  AConfiguration *config,
  int32_t keyboard
)
```
Set the current keyboard in the configuration.

### AConfiguration_setKeysHidden

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setKeysHidden(
  AConfiguration *config,
  int32_t keysHidden
)
```
Set the current keys hidden in the configuration.

### AConfiguration_setLanguage

Declared in `android/configuration.h`

```gdscript
void AConfiguration_setLanguage(
  AConfiguration *config,
  const char *language
)
```
Set the current language code in the configuration, from the first two characters in the string.

### AConfiguration_setLayoutDirection

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setLayoutDirection(
  AConfiguration *config,
  int32_t value
)
```
Set the configuration's layout direction.

Available since API level 17.

### AConfiguration_setMcc

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setMcc(
  AConfiguration *config,
  int32_t mcc
)
```
Set the current MCC in the configuration.

0 to clear.

### AConfiguration_setMnc

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setMnc(
  AConfiguration *config,
  int32_t mnc
)
```
Set the current MNC in the configuration.

0 to clear.

### AConfiguration_setNavHidden

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setNavHidden(
  AConfiguration *config,
  int32_t navHidden
)
```
Set the current nav hidden in the configuration.

### AConfiguration_setNavigation

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setNavigation(
  AConfiguration *config,
  int32_t navigation
)
```
Set the current navigation in the configuration.

### AConfiguration_setOrientation

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setOrientation(
  AConfiguration *config,
  int32_t orientation
)
```
Set the current orientation in the configuration.

### AConfiguration_setScreenHeightDp

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setScreenHeightDp(
  AConfiguration *config,
  int32_t value
)
```
Set the configuration's current screen width in dp units.

### AConfiguration_setScreenLong

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setScreenLong(
  AConfiguration *config,
  int32_t screenLong
)
```
Set the current screen long in the configuration.

### AConfiguration_setScreenRound

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setScreenRound(
  AConfiguration *config,
  int32_t screenRound
)
```
Set the current screen round in the configuration.

### AConfiguration_setScreenSize

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setScreenSize(
  AConfiguration *config,
  int32_t screenSize
)
```
Set the current screen size in the configuration.

### AConfiguration_setScreenWidthDp

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setScreenWidthDp(
  AConfiguration *config,
  int32_t value
)
```
Set the configuration's current screen width in dp units.

### AConfiguration_setSdkVersion

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setSdkVersion(
  AConfiguration *config,
  int32_t sdkVersion
)
```
Set the current SDK version in the configuration.

### AConfiguration_setSmallestScreenWidthDp

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setSmallestScreenWidthDp(
  AConfiguration *config,
  int32_t value
)
```
Set the configuration's smallest screen width in dp units.

### AConfiguration_setTouchscreen

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setTouchscreen(
  AConfiguration *config,
  int32_t touchscreen
)
```
Set the current touchscreen in the configuration.

### AConfiguration_setUiModeNight

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setUiModeNight(
  AConfiguration *config,
  int32_t uiModeNight
)
```
Set the current UI mode night in the configuration.

### AConfiguration_setUiModeType

Declared in `android/configuration.h`

```scdoc
void AConfiguration_setUiModeType(
  AConfiguration *config,
  int32_t uiModeType
)
```
Set the current UI mode type in the configuration.