# SetNameType

## Description

Setup name representation. Dummy names are automatically generated by IDA. They are used to denote subroutines, program locations and data. Dummy names have various prefixes depending on the item type and value:

| Prefix      | Description                          |
| ----------- | ------------------------------------ |
| `sub_`      | instruction, subroutine start        |
| `locret_`   | 'return' instruction                 |
| `loc_`      | instruction                          |
| `off_`      | data, contains offset value          |
| `seg_`      | data, contains segment address value |
| `asc_`      | data, string literal                 |
| `byte_`     | data, byte                           |
| `word_`     | data, 16-bit                         |
| `dword_`    | data, 32-bit                         |
| `qword_`    | data, 64-bit                         |
| `byte3_`    | data, 3 bytes                        |
| `xmmword_`  | data, 128-bit                        |
| `ymmword_`  | data, 256-bit                        |
| `packreal_` | data, packed real                    |
| `flt_`      | floating point data, 32-bit          |
| `dbl_`      | floating point data, 64-bit          |
| `tbyte_`    | floating point data, 80-bit          |
| `stru_`     | structure                            |
| `custdata_` | custom data type                     |
| `algn_`     | alignment directive                  |
| `unk_`      | unexplored byte                      |

You can change representation of dummy names. IDA supports several types of dummy names:

| Format | Example          | Description                                                                          |
| ------ | ---------------- | ------------------------------------------------------------------------------------ |
| `0`    | `loc_0_1234`     | segment base address relative to program base address & offset from the segment base |
| `1`    | `loc_1000_1234`  | segment base address & offset from the segment base                                  |
| `2`    | `loc_dseg_1234`  | segment name & offset from the segment base                                          |
| `3`    | `loc_0_11234`    | segment relative to base address & full address                                      |
| `4`    | `loc_1000_11234` | segment base address & full address                                                  |
| `5`    | `loc_dseg_11234` | segment name & full address                                                          |
| `6`    | `loc_12`         | full address                                                                         |
| `7`    | `loc_0012`       | full address (at least 4 digits)                                                     |
| `8`    | `loc_00000012`   | full address (at least 8 digits)                                                     |
| `9`    | `dseg_1234`      | the same as 2, but without data type specifier                                       |
| `10`   | `loc_1`          | enumerated names (loc\_1,loc\_2,loc\_3...)                                           |

If you have selected names type 10 (enumerated names), you may renumber them using a checkbox. The process is relatively fast, surprisingly.

The best representation for MS DOS programs is #0, for 16-bit processors - #7, and for 32-bit processors - #8. You can change dummy names type any time you want.

You can also set up types of names included in the name list (Jump by name... command, action `JumpName`). IDA knows about the following types of names:

* normal names
* public names
* weak public or extern names
* autogenerated (meaningful) names.
* dummy (meaningless) names.

Dummy names may be public or weak, but they never appear in the list of names. You can specify the type of a name when you create or rename it.

You can also set maximal length of new names. Old names will not be affected by this parameter.

See also: the Rename command.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/ida-actions/setnametype.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
