# API 7.0 Porting Guide

clear IDA 7.0 SDK: Porting from IDA 4.9-6.x API to IDA 7.0 API

### Introduction

The SDK now only supports the new 7.0 API in x64 mode. The old SDK 6.95 can be used to develop plugins for IDA 7.0-x86 (which is ABI-compatible with IDA 6.95).

While the API has been revamped somewhat, most basic concepts still hold.

There are still two variants of IDA: one supporting 32-bit (ea\_t is 32-bit) and the other 64-bit address space (ea\_t is 64-bit). IDA database extensions remain correspondingly '.idb' and '.i64'.

Naming of IDA binaries has been unified across all OS variants:

* The IDA GUI binary has been renamed from 'idaq\[.exe]' to just 'ida\[.exe]'.
* The IDA text-mode UI has been renamed from 'idaw\.exe' (on Windows) and 'idal' (on Linux/Mac OS X) to 'idat\[.exe]' on all platforms.
* Plugins, loaders, processor modules, and the kernel now use standard OS-specific suffixes ('.dll', '.so', or '.dylib') instead of custom extensions.

General approaches that were taken when cleaning up the APIs:

* Try to use descriptive names and drop old, cryptic abbreviations.
* Rename functions using camelCase to snake\_case (e.g. 'isFlow' -> 'is\_flow').
* Move output parameters to the front of the argument list.
* Change input parameters to const references whenever possible.
* Remove obsolete and deprecated functions.
* Rename functioname2/3 to just functioname (e.g. 'validate\_name3' -> 'validate\_name').
* Rename functions with 64 suffix to the main name (e.g. 'qfseek64' -> 'qfseek').
* File offsets are 64-bit in all functions working with files.
* Get rid of global variables (not complete, but we made good progress).
* Most functions accepting a buffer and size (or limited to MAXSTR) now use 'qstring' or 'bytevec\_t' instead (depending on the nature of the data).
* Assume UTF-8 in most functions dealing with text.
* Try to get rid of forced struct packing and rearrange fields to avoid unnecessary gaps as needed.

### Porting

Common porting steps for plugins/loaders/modules:

* Add **\_\_X64\_\_** to the list of preprocessor defines. You still need to compile with or without **\_\_EA64\_\_** defined to select between 32- and 64-bit address space.
* If using custom build system, change output extension to OS-specific suffixes ('.dll', '.so', or '.dylib').
* IDA library link path should start with x64 instead of x86.

#### Renamed/removed header files

Some headers have been renamed and/or removed:

| original name | new name      |
| ------------- | ------------- |
| ints.hpp      | <**removed**> |
| sistack.h     | <**removed**> |
| area.hpp      | range.hpp     |
| queue.hpp     | problems.hpp  |
| srarea.hpp    | segregs.hpp   |

#### Commonly used renamed structs and fields

| original name | new name    |
| ------------- | ----------- |
| area\_t       | range\_t    |
| areavec\_t    | rangevec\_t |
| endEA         | end\_ea     |
| startEA       | start\_ea   |

area-related methods have been renamed too (e.g. 'prev\_area' -> 'prev\_range').

#### Porting plugins.

The plugin entry prototype has been changed from:

* void idaapi run(int);

to:

* bool idaapi run(size\_t);

The input parameter is now of type 'size\_t', which allows passing a pointer as the argument of run() for extra possibilities.

The rest of the plugin interface is unchanged.

#### Porting loaders

The prototype for 'accept\_file()' has been changed from:

* int idaapi accept\_file(linput\_t \*li, char fileformatname\[MAX\_FILE\_FORMAT\_NAME], int n);

to:

* int idaapi accept\_file(qstring \*fileformatname, qstring \*processor, linput\_t \*li, const char \*filename);

The desired processor may be returned in the 'processor' output parameter.

The return value has been extended with flags 'ACCEPT\_ARCHIVE' and 'ACCEPT\_CONTINUE'.

Loaders can also process and extract archives now. If you detect an archive, the return value for 'accept\_file' should be ORed with the 'ACCEPT\_ARCHIVE' flag. After extraction, all loaders are queried again, which means IDA can now handle multiply nested archives.

Non-archive loaders should extend the return value with the 'ACCEPT\_CONTINUE' flag.

#### Porting processor modules

WARNING: The global variables 'cmd' and 'uFlag' are gone.

Most APIs return or accept an 'insn\_t' structure with instruction details.

The 'processor\_t' structure has had many unused and obsolete fields removed, such as 'flag2', 'rFiles', 'rFnames', 'rFdescs', and 'CPUregs'.

Most callbacks are now handled centrally via the 'notify()' function:

| original name   | new name            |
| --------------- | ------------------- |
| header          | ev\_out\_header     |
| footer          | ev\_out\_footer     |
| segstart        | ev\_out\_segstart   |
| segend          | ev\_out\_segend     |
| assumes         | ev\_out\_assumes    |
| u\_ana          | ev\_ana\_insn       |
| u\_emu          | ev\_emu\_insn       |
| u\_out          | ev\_out\_insn       |
| u\_outop        | ev\_out\_operand    |
| d\_out          | ev\_out\_data       |
| cmp\_opnd       | ev\_cmp\_opnd       |
| can\_have\_type | ev\_can\_have\_type |
| is\_far\_jump   | ev\_is\_far\_jump   |
| getreg          | ev\_getreg          |

**ana.cpp**

Change the prototype of 'ana' from:

* int idaapi ana(void);

to:

* int idaapi ana(insn\_t \*\_insn);

You may then declare an 'insn\_t' reference variable to simplify your code:

* insn\_t \&insn = \*\_insn;

Then replace all uses of 'cmd' by 'insn'. You will likely need to pass 'insn' to other helper functions that used 'cmd'.

**emu.cpp**

Change the prototype of 'emu' from:

* int idaapi emu(void);

to:

* int idaapi emu(const insn\_t \&insn);

Then replace all uses of 'cmd' by 'insn'. You may need to adjust some code if it was relying on cmd being writeable.

**out.cpp**

The output functions now use a context structure ('outctx\_t') instead of operating on a global buffer.

You must declare a class inheriting from 'outctx\_t' and override its methods or add new ones for non-standard functions. For example:

```
class out_myproc_t : public outctx_t
{
  void outreg(int r) { out_register(ph.reg_names[r]); }
  void outmem(const op_t &x, ea_t ea);
  bool outbit(ea_t ea, int bit);

  bool out_operand(const op_t &x);
  void out_insn(void);
  void out_mnem(void);
}
```

Then use one of the two macros from idaidp.hpp:

* DECLARE\_OUT\_FUNCS\_WITHOUT\_OUTMNEM(out\_myproc\_t)

or, if you implement 'out\_mnem':

* DECLARE\_OUT\_FUNCS(out\_myproc\_t)

Then prefix old function names with your class and rename them to match methods. For example, from:

```
  void idaapi out(void);
  void out_myproc_t::out(void);
```

to:

```
  bool idaapi outop(op_t &x);
  bool out_myproc_t::out_operand(const op_t &x);
```

Then remove calls to 'init\_output\_buffer()' and uses of the buffer variable.

Other changes that must be made are:

* Replacing references to 'cmd' with 'insn';
* Replacing term\_output\_buffer()/MakeLine() sequence with flush\_outbuf().

Most of the other code can remain intact or can be replaced by the new helper functions.

For other output-related callbacks, convert them to take an 'outctx\_t \&ctx' parameter and use its methods. For example, from:

* void idaapi header(void);

to:

* void idaapi myproc\_header(outctx\_t \&ctx)

See the changes to 'ua.hpp' below for more information on converting the functions.

Also, see the SDK samples for more ideas.

**reg.cpp**

Remove the old callbacks from the 'processor\_t' structure and call them from the 'notify()' function instead. For example:

```
    case processor_t::ev_ana_insn:
      {
        insn_t *out = va_arg(va, insn_t *);
        return myproc_ana(out);
      }
```

For 'ev\_out\_insn', call 'out\_insn()' generated by the macro in out.cpp:

```
    case processor_t::ev_out_insn:
      {
        outctx_t *ctx = va_arg(va, outctx_t *);
        out_insn(*ctx);
        return 1;
      }
```

#### Porting notifications

* When hooking notifications, return 0 for "not handled" instead of 1 as before.
* Many notifications had their arguments types and/or order changed. Double-check your handlers against the new headers.
* Instead of calling ph.notify() or similar, prefer helper inline functions for additional type safety. For example, use 'ph.get\_operand\_string()' instead of 'ph.notify(processor\_t::get\_operand\_string, ...)'.
* Some IDP events have been moved to the IDB event group (see the table class="table table-sm" below), so they should be handled on the HT\_IDB level. You will need to move the corresponding code from the IDP notification hooks to the IDB hooks.

| original IDP event     | new IDB notification   |
| ---------------------- | ---------------------- |
| closebase              | closebase              |
| savebase               | savebase               |
| auto\_empty            | auto\_empty            |
| auto\_empty\_finally   | auto\_empty\_finally   |
| determined\_main       | determined\_main       |
| load\_idasgn           | idasgn\_loaded         |
| kernel\_config\_loaded | kernel\_config\_loaded |
| loader\_finished       | loader\_finished       |
| preprocess\_chart      | flow\_chart\_created   |
| setsgr                 | sgr\_changed           |
| set\_compiler          | compiler\_changed      |
| move\_segm             | segm\_moved            |
| extlang\_changed       | extlang\_changed       |
| make\_code             | make\_code             |
| make\_data             | make\_data             |
| renamed                | renamed                |
| add\_func              | func\_added            |
| del\_func              | deleting\_func         |
| set\_func\_start       | set\_func\_start       |
| set\_func\_end         | set\_func\_end         |

#### UI: Porting choosers

* Make a new class derived from 'chooser\_t' or 'chooser\_multi\_t'. Its fields are similar to arguments of 'choose2()' from IDA 6.95.
* You should implement at least 2 methods:
* 'get\_count()', and
* 'get\_row()'.

The 'get\_row()' method combines 3 methods of 6.95's old 'chooser\_info\_t':

* 'get\_row()'
* 'get\_icon()', and
* 'get\_attrs()'
* If you want to show actions Ins/Delete/Edit/Refresh in a popup-menu you should set new bits 'CH\_CAN\_...' in the 'flags' member.
* The header line is stored in a new 'header' member.
* All indexes are now **0-based**. You can use new constant 'NO\_SELECTION' for non-existing rows.
* The default value is not stored in the 'chooser\_t' structure now and it is passed directly to the 'choose()' function.
* You can prepare a specialized version of the 'choose()' method that takes a special default value (e.g. an effective address). For this you should implement a new 'get\_item\_index()' method.
* The 'update()' callback has been renamed to 'refresh()' and it returns the cursor position after refresh. If the data has not changed this callback should return a 'NOTHING\_CHANGED' hint.
* The returned value of the 'ins()', 'del()', 'edit()' and 'exit()' callbacks are the same as for 'refresh()' callback. E.g. the 'ins()' callback may return the cursor position of the newly inserted item. Or the 'del()' callback may return 'NOTHING\_CHANGED' if it asked the user about the removal and he refused.
* The 'initializer()' callback has been renamed to 'init()'. Its use allows you to prepare data when it is **really** needed (i.e., "lazy" populating).
* The 'destroyer()' callback has been renamed to 'closed()' and it is called when the chooser window is about to close. To clean up the chooser data you should use the destructor.
* The 'CH\_MULTI' flag has been removed altogether. If you want to create a chooser with multiple selection, you should derive your class from 'chooser\_multi\_t'.
* While callbacks for the 'chooser\_t' class would receive and return a single value specifying the currently-selected row, callbacks of the 'chooser\_multi\_t' class will receive a vector of such values instead.
* In a similar fashion, instead of using the 'NO\_SELECTION' constant, 'chooser\_multi\_t' will use an empty vector.
* In contrast to IDA 6.95, the selected items are now all processed at once, in **one** call to the 'ins()', 'del()', 'edit()' and 'exit()' callbacks (this greatly simplified implementing them.)

### Changes per file in the SDK

This section describes in detail the changes to the APIs for each file in the SDK.

#### auto.hpp

NOTE: global variables 'auto\_state', 'auto\_display', and 'autoEnabled' have been removed.

* \[1] output argument moved to beginning of argument list

| original name | new name             | \[1] | Notes                                                           |
| ------------- | -------------------- | :--: | --------------------------------------------------------------- |
| autoGetName   | <**removed**>        |      |                                                                 |
| autoStep      | <**removed**>        |      |                                                                 |
| <**added**>   | auto\_apply\_tail    |      |                                                                 |
| <**added**>   | auto\_recreate\_insn |      |                                                                 |
| <**added**>   | enable\_auto         |      | to be used instead of 'autoEnabled'                             |
| <**added**>   | get\_auto\_display   |      | to be used instead of 'auto\_display'                           |
| <**added**>   | get\_auto\_state     |      | to be used instead of 'auto\_state'                             |
| <**added**>   | is\_auto\_enabled    |      | to be used instead of 'autoEnabled'                             |
| <**added**>   | set\_auto\_state     |      | to be used instead of 'auto\_state'                             |
| analyze\_area | plan\_and\_wait      |      | added 'final\_pass' argument (true for analyze\_area behaviour) |
| autoCancel    | auto\_cancel         |      |                                                                 |
| autoIsOk      | auto\_is\_ok         |      |                                                                 |
| autoMark      | auto\_mark           |      |                                                                 |
| autoUnmark    | auto\_unmark         |      |                                                                 |
| autoWait      | auto\_wait           |      |                                                                 |
| auto\_get     |                      |  \*  |                                                                 |
| noUsed        | plan\_ea             |      | (ea\_t ea) variant                                              |
| noUsed        | plan\_range          |      | (ea\_t sEA, ea\_t eEA) variant                                  |
| setStat       | set\_ida\_state      |      |                                                                 |
| showAddr      | show\_addr           |      |                                                                 |
| showAuto      | show\_auto           |      |                                                                 |

#### bitrange.hpp

| original name        | Notes                                     |
| -------------------- | ----------------------------------------- |
| bitrange\_t::extract | argument type: 'int' changed to 'size\_t' |
| bitrange\_t::inject  | argument type: 'int' changed to 'size\_t' |

#### bytes.hpp

NOTE: The misleading term "ASCII string" has been replaced by "string literal" (strlit).

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                    | new name                           | \[1] | \[2] | Notes                                                                                                                    |
| -------------------------------- | ---------------------------------- | :--: | :--: | ------------------------------------------------------------------------------------------------------------------------ |
| clrFlbits                        | <**removed**>                      |      |      |                                                                                                                          |
| do3byte                          | <**removed**>                      |      |      |                                                                                                                          |
| doASCI                           | <**removed**>                      |      |      |                                                                                                                          |
| doVar                            | <**removed**>                      |      |      |                                                                                                                          |
| do\_unknown                      | <**removed**>                      |      |      | use 'del\_items' instead                                                                                                 |
| do\_unknown\_range               | <**removed**>                      |      |      | use 'del\_items' instead                                                                                                 |
| f\_is3byte                       | <**removed**>                      |      |      |                                                                                                                          |
| getRadixEA                       | <**removed**>                      |      |      |                                                                                                                          |
| get\_3byte                       | <**removed**>                      |      |      |                                                                                                                          |
| get\_many\_bytes                 | <**removed**>                      |      |      | use 'get\_bytes' instead                                                                                                 |
| get\_many\_bytes\_ex             | <**removed**>                      |      |      | use 'get\_bytes' instead                                                                                                 |
| is3byte                          | <**removed**>                      |      |      |                                                                                                                          |
| isVar                            | <**removed**>                      |      |      |                                                                                                                          |
| noImmd                           | <**removed**>                      |      |      |                                                                                                                          |
| setFlags                         | <**removed**>                      |      |      |                                                                                                                          |
| setFlbits                        | <**removed**>                      |      |      |                                                                                                                          |
| tribyteflag                      | <**removed**>                      |      |      |                                                                                                                          |
| <**added**>                      | add\_mapping                       |      |      |                                                                                                                          |
| <**added**>                      | attach\_custom\_data\_format       |      |      |                                                                                                                          |
| <**added**>                      | del\_items                         |      |      |                                                                                                                          |
| <**added**>                      | del\_mapping                       |      |      |                                                                                                                          |
| <**added**>                      | detach\_custom\_data\_format       |      |      |                                                                                                                          |
| <**added**>                      | get\_bytes                         |      |      |                                                                                                                          |
| <**added**>                      | get\_first\_hidden\_range          |      |      |                                                                                                                          |
| <**added**>                      | get\_last\_hidden\_range           |      |      |                                                                                                                          |
| <**added**>                      | get\_mapping                       |      |      |                                                                                                                          |
| <**added**>                      | get\_mappings\_qty                 |      |      |                                                                                                                          |
| <**added**>                      | is\_attached\_custom\_data\_format |      |      |                                                                                                                          |
| <**added**>                      | revert\_byte                       |      |      |                                                                                                                          |
| <**added**>                      | update\_hidden\_range              |      |      |                                                                                                                          |
| <**added**>                      | use\_mapping                       |      |      |                                                                                                                          |
| add\_hidden\_area                | add\_hidden\_range                 |      |      |                                                                                                                          |
| alignflag                        | align\_flag                        |      |      |                                                                                                                          |
| asciflag                         | strlit\_flag                       |      |      |                                                                                                                          |
| binflag                          | bin\_flag                          |      |      |                                                                                                                          |
| byteflag                         | byte\_flag                         |      |      |                                                                                                                          |
| charflag                         | char\_flag                         |      |      |                                                                                                                          |
| chunksize                        | chunk\_size                        |      |      |                                                                                                                          |
| chunkstart                       | chunk\_start                       |      |      |                                                                                                                          |
| codeflag                         | code\_flag                         |      |      |                                                                                                                          |
| custflag                         | cust\_flag                         |      |      |                                                                                                                          |
| custfmtflag                      | custfmt\_flag                      |      |      |                                                                                                                          |
| decflag                          | dec\_flag                          |      |      |                                                                                                                          |
| delValue                         | del\_value                         |      |      |                                                                                                                          |
| del\_hidden\_area                | del\_hidden\_range                 |      |      |                                                                                                                          |
| do16bit                          | create\_16bit\_data                |      |      |                                                                                                                          |
| do32bit                          | create\_32bit\_data                |      |      |                                                                                                                          |
| doAlign                          | create\_align                      |      |      |                                                                                                                          |
| doByte                           | create\_byte                       |      |      |                                                                                                                          |
| doCustomData                     | create\_custdata                   |      |      |                                                                                                                          |
| doDouble                         | create\_double                     |      |      |                                                                                                                          |
| doDwrd                           | create\_dword                      |      |      |                                                                                                                          |
| doFloat                          | create\_float                      |      |      |                                                                                                                          |
| doImmd                           | set\_immd                          |      |      |                                                                                                                          |
| doOwrd                           | create\_oword                      |      |      |                                                                                                                          |
| doPackReal                       | create\_packed\_real               |      |      |                                                                                                                          |
| doQwrd                           | create\_qword                      |      |      |                                                                                                                          |
| doStruct                         | create\_struct                     |      |      |                                                                                                                          |
| doTbyt                           | create\_tbyte                      |      |      |                                                                                                                          |
| doWord                           | create\_word                       |      |      |                                                                                                                          |
| doYwrd                           | create\_yword                      |      |      |                                                                                                                          |
| doZwrd                           | create\_zword                      |      |      |                                                                                                                          |
| do\_data\_ex                     | create\_data                       |      |      |                                                                                                                          |
| doubleflag                       | double\_flag                       |      |      |                                                                                                                          |
| dwrdflag                         | dword\_flag                        |      |      |                                                                                                                          |
| enumflag                         | enum\_flag                         |      |      |                                                                                                                          |
| f\_hasRef                        | f\_has\_xref                       |      |      |                                                                                                                          |
| f\_isASCII                       | f\_is\_strlit                      |      |      |                                                                                                                          |
| f\_isAlign                       | f\_is\_align                       |      |      |                                                                                                                          |
| f\_isByte                        | f\_is\_byte                        |      |      |                                                                                                                          |
| f\_isCode                        | f\_is\_code                        |      |      |                                                                                                                          |
| f\_isCustom                      | f\_is\_custom                      |      |      |                                                                                                                          |
| f\_isData                        | f\_is\_data                        |      |      |                                                                                                                          |
| f\_isDouble                      | f\_is\_double                      |      |      |                                                                                                                          |
| f\_isDwrd                        | f\_is\_dword                       |      |      |                                                                                                                          |
| f\_isFloat                       | f\_is\_float                       |      |      |                                                                                                                          |
| f\_isHead                        | f\_is\_head                        |      |      |                                                                                                                          |
| f\_isNotTail                     | f\_is\_not\_tail                   |      |      |                                                                                                                          |
| f\_isOwrd                        | f\_is\_oword                       |      |      |                                                                                                                          |
| f\_isPackReal                    | f\_is\_pack\_real                  |      |      |                                                                                                                          |
| f\_isQwrd                        | f\_is\_qword                       |      |      |                                                                                                                          |
| f\_isStruct                      | f\_is\_struct                      |      |      |                                                                                                                          |
| f\_isTail                        | f\_is\_tail                        |      |      |                                                                                                                          |
| f\_isTbyt                        | f\_is\_tbyte                       |      |      |                                                                                                                          |
| f\_isWord                        | f\_is\_word                        |      |      |                                                                                                                          |
| f\_isYwrd                        | f\_is\_yword                       |      |      |                                                                                                                          |
| floatflag                        | float\_flag                        |      |      |                                                                                                                          |
| fltflag                          | flt\_flag                          |      |      |                                                                                                                          |
| freechunk                        | free\_chunk                        |      |      |                                                                                                                          |
| getDefaultRadix                  | get\_default\_radix                |      |      |                                                                                                                          |
| getFlags                         | get\_full\_flags                   |      |      | WARNING: 'getFlags' has not been renamed to 'get\_flags'                                                                 |
| get\_long                        | get\_dword                         |      |      |                                                                                                                          |
| get\_full\_byte                  | get\_wide\_byte                    |      |      |                                                                                                                          |
| get\_full\_word                  | get\_wide\_word                    |      |      |                                                                                                                          |
| get\_full\_long                  | get\_wide\_dword                   |      |      |                                                                                                                          |
| get\_original\_long              | get\_original\_dword               |      |      |                                                                                                                          |
| put\_long                        | put\_dword                         |      |      |                                                                                                                          |
| patch\_long                      | patch\_dword                       |      |      |                                                                                                                          |
| add\_long                        | add\_dword                         |      |      |                                                                                                                          |
| getRadix                         | get\_radix                         |      |      |                                                                                                                          |
| get\_ascii\_contents2            | get\_strlit\_contents              |   q  |  \*  | return type changed from 'bool' to 'ssize\_t'; output argument 'usedsize' (in bytes) changed to 'maxcps' (in codepoints) |
| get\_cmt                         |                                    |   q  |  \*  |                                                                                                                          |
| get\_custom\_data\_format        |                                    |      |      | removed 'dtid' argument                                                                                                  |
| get\_data\_value                 |                                    |  \*  |      |                                                                                                                          |
| get\_enum\_id                    |                                    |  \*  |      |                                                                                                                          |
| get\_flags\_novalue              | get\_flags                         |      |      | WARNING: 'getFlags' has not been renamed to 'get\_flags'                                                                 |
| get\_forced\_operand             |                                    |   q  |  \*  |                                                                                                                          |
| get\_hidden\_area                | get\_hidden\_range                 |      |      | return type: 'hidden\_area\_t \*' has been renamed to 'hidden\_range\_t \*'                                              |
| get\_hidden\_area\_num           | get\_hidden\_range\_num            |      |      |                                                                                                                          |
| get\_hidden\_area\_qty           | get\_hidden\_range\_qty            |      |      |                                                                                                                          |
| get\_manual\_insn                |                                    |   q  |  \*  | return type changed from 'char \*' to 'ssize\_t';                                                                        |
| get\_max\_ascii\_length          | get\_max\_strlit\_length           |      |      |                                                                                                                          |
| get\_next\_hidden\_range         | get\_next\_hidden\_area            |      |      | return type: 'hidden\_area\_t \*' has been renamed to 'hidden\_range\_t \*'                                              |
| get\_opinfo                      |                                    |  \*  |      |                                                                                                                          |
| get\_predef\_insn\_cmt           |                                    |   q  |  \*  | moved from ints.hpp                                                                                                      |
| get\_prev\_hidden\_range         | get\_prev\_hidden\_area            |      |      | return type: 'hidden\_area\_t \*' has been renamed to 'hidden\_range\_t \*'                                              |
| get\_stroff\_path                |                                    |  \*  |      |                                                                                                                          |
| get\_zero\_areas                 | get\_zero\_ranges                  |      |      | argument type: 'areaset\_t' has been renamed to 'rangeset\_t'                                                            |
| getn\_hidden\_area               | getn\_hidden\_range                |      |      | return type: 'hidden\_area\_t \*' has been renamed to 'hidden\_range\_t \*'                                              |
| hasExtra                         | has\_extra\_cmts                   |      |      |                                                                                                                          |
| hasRef                           | has\_xref                          |      |      |                                                                                                                          |
| hasValue                         | has\_value                         |      |      |                                                                                                                          |
| hexflag                          | hex\_flag                          |      |      |                                                                                                                          |
| isASCII                          | is\_strlit                         |      |      |                                                                                                                          |
| isAlign                          | is\_align                          |      |      |                                                                                                                          |
| isByte                           | is\_byte                           |      |      |                                                                                                                          |
| isChar                           | is\_char                           |      |      |                                                                                                                          |
| isChar0                          | is\_char0                          |      |      |                                                                                                                          |
| isChar1                          | is\_char1                          |      |      |                                                                                                                          |
| isCode                           | is\_code                           |      |      |                                                                                                                          |
| isCustFmt                        | is\_custfmt                        |      |      |                                                                                                                          |
| isCustFmt0                       | is\_custfmt0                       |      |      |                                                                                                                          |
| isCustFmt1                       | is\_custfmt1                       |      |      |                                                                                                                          |
| isCustom                         | is\_custom                         |      |      |                                                                                                                          |
| isData                           | is\_data                           |      |      |                                                                                                                          |
| isDefArg                         | is\_defarg                         |      |      |                                                                                                                          |
| isDefArg0                        | is\_defarg0                        |      |      |                                                                                                                          |
| isDefArg1                        | is\_defarg1                        |      |      |                                                                                                                          |
| isDouble                         | is\_double                         |      |      |                                                                                                                          |
| isDwrd                           | is\_dword                          |      |      |                                                                                                                          |
| isEnabled                        | is\_mapped                         |      |      |                                                                                                                          |
| isEnum                           | is\_enum                           |      |      |                                                                                                                          |
| isEnum0                          | is\_enum0                          |      |      |                                                                                                                          |
| isEnum1                          | is\_enum1                          |      |      |                                                                                                                          |
| isFloat                          | is\_float                          |      |      |                                                                                                                          |
| isFloat0                         | is\_float0                         |      |      |                                                                                                                          |
| isFloat1                         | is\_float1                         |      |      |                                                                                                                          |
| isFlow                           | is\_flow                           |      |      |                                                                                                                          |
| isFltnum                         | is\_fltnum                         |      |      |                                                                                                                          |
| isFop                            | is\_manual                         |      |      |                                                                                                                          |
| isFunc                           | is\_func                           |      |      |                                                                                                                          |
| isHead                           | is\_head                           |      |      |                                                                                                                          |
| isImmd                           | has\_immd                          |      |      |                                                                                                                          |
| isLoaded                         | is\_loaded                         |      |      |                                                                                                                          |
| isNotTail                        | is\_not\_tail                      |      |      |                                                                                                                          |
| isNum                            | is\_numop                          |      |      |                                                                                                                          |
| isNum0                           | is\_numop0                         |      |      |                                                                                                                          |
| isNum1                           | is\_numop1                         |      |      |                                                                                                                          |
| isOff                            | is\_off                            |      |      |                                                                                                                          |
| isOff0                           | is\_off0                           |      |      |                                                                                                                          |
| isOff1                           | is\_off1                           |      |      |                                                                                                                          |
| isOwrd                           | is\_oword                          |      |      |                                                                                                                          |
| isPackReal                       | is\_pack\_real                     |      |      |                                                                                                                          |
| isQwrd                           | is\_qword                          |      |      |                                                                                                                          |
| isSeg                            | is\_seg                            |      |      |                                                                                                                          |
| isSeg0                           | is\_seg0                           |      |      |                                                                                                                          |
| isSeg1                           | is\_seg1                           |      |      |                                                                                                                          |
| isStkvar                         | is\_stkvar                         |      |      |                                                                                                                          |
| isStkvar0                        | is\_stkvar0                        |      |      |                                                                                                                          |
| isStkvar1                        | is\_stkvar1                        |      |      |                                                                                                                          |
| isStroff                         | is\_stroff                         |      |      |                                                                                                                          |
| isStroff0                        | is\_stroff0                        |      |      |                                                                                                                          |
| isStroff1                        | is\_stroff1                        |      |      |                                                                                                                          |
| isStruct                         | is\_struct                         |      |      |                                                                                                                          |
| isTail                           | is\_tail                           |      |      |                                                                                                                          |
| isTbyt                           | is\_tbyte                          |      |      |                                                                                                                          |
| isUnknown                        | is\_unknown                        |      |      |                                                                                                                          |
| isVoid                           | is\_suspop                         |      |      |                                                                                                                          |
| isWord                           | is\_word                           |      |      |                                                                                                                          |
| isYwrd                           | is\_yword                          |      |      |                                                                                                                          |
| isZwrd                           | is\_zword                          |      |      |                                                                                                                          |
| make\_ascii\_string              | create\_strlit                     |      |      |                                                                                                                          |
| nextaddr                         | next\_addr                         |      |      |                                                                                                                          |
| nextchunk                        | next\_chunk                        |      |      |                                                                                                                          |
| nextthat                         | next\_that                         |      |      |                                                                                                                          |
| noType                           | clr\_op\_type                      |      |      |                                                                                                                          |
| numflag                          | num\_flag                          |      |      |                                                                                                                          |
| octflag                          | oct\_flag                          |      |      |                                                                                                                          |
| offflag                          | off\_flag                          |      |      |                                                                                                                          |
| op\_stroff                       |                                    |      |      | converted input 'ea\_t' argument to 'const insn\_t &'                                                                    |
| owrdflag                         | oword\_flag                        |      |      |                                                                                                                          |
| packrealflag                     | packreal\_flag                     |      |      |                                                                                                                          |
| patch\_many\_bytes               | patch\_bytes                       |      |      |                                                                                                                          |
| prevaddr                         | prev\_addr                         |      |      |                                                                                                                          |
| prevchunk                        | prev\_chunk                        |      |      |                                                                                                                          |
| prevthat                         | prev\_that                         |      |      |                                                                                                                          |
| print\_ascii\_string\_type       | print\_strlit\_type                |   q  |  \*  | return type changed from 'char \*' to 'bool'; added 'out\_tooltip' and 'flags' arguments                                 |
| put\_many\_bytes                 | put\_bytes                         |      |      |                                                                                                                          |
| qwrdflag                         | qword\_flag                        |      |      |                                                                                                                          |
| register\_custom\_data\_format   |                                    |      |      | removed 'dtid' argument                                                                                                  |
| segflag                          | seg\_flag                          |      |      |                                                                                                                          |
| set\_opinfo                      |                                    |      |      | added 'suppress\_events' argument                                                                                        |
| stkvarflag                       | stkvar\_flag                       |      |      |                                                                                                                          |
| stroffflag                       | stroff\_flag                       |      |      |                                                                                                                          |
| struflag                         | stru\_flag                         |      |      |                                                                                                                          |
| tbytflag                         | tbyte\_flag                        |      |      |                                                                                                                          |
| unregister\_custom\_data\_format |                                    |      |      | removed 'dtid' argument                                                                                                  |
| wordflag                         | word\_flag                         |      |      |                                                                                                                          |
| ywrdflag                         | yword\_flag                        |      |      |                                                                                                                          |
| zwrdflag                         | zword\_flag                        |      |      |                                                                                                                          |

#### compress.hpp

| original name             | new name                |
| ------------------------- | ----------------------- |
| process\_zipfile64        | process\_zipfile        |
| process\_zipfile\_entry64 | process\_zipfile\_entry |

#### config.hpp (**NEW** file)

| original name                    | Notes              |
| -------------------------------- | ------------------ |
| cfg\_get\_cc\_header\_path       | moved from idp.hpp |
| cfg\_get\_cc\_parm               | moved from idp.hpp |
| cfg\_get\_cc\_predefined\_macros | moved from idp.hpp |
| cfgopt\_t\_\_apply               | moved from idp.hpp |
| parse\_config\_value             | moved from idp.hpp |
| read\_config                     | moved from idp.hpp |
| read\_config\_file               | moved from idp.hpp |
| read\_config\_string             | moved from idp.hpp |

#### dbg.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                  | new name                         | \[1] | \[2] | Notes                                                                                             |
| ------------------------------ | -------------------------------- | :--: | :--: | ------------------------------------------------------------------------------------------------- |
| get\_process\_info             | <**removed**>                    |      |      | use 'get\_processes' instead                                                                      |
| get\_process\_qty              | <**removed**>                    |      |      | use 'get\_processes' instead                                                                      |
| getn\_process                  | <**removed**>                    |      |      | use 'get\_processes' instead                                                                      |
| <**added**>                    | bpt\_t::get\_cnd\_elang\_idx     |      |      |                                                                                                   |
| <**added**>                    | get\_ip\_val                     |      |      |                                                                                                   |
| <**added**>                    | get\_sp\_val                     |      |      |                                                                                                   |
| bpt\_location\_t::print        |                                  |      |  \*  |                                                                                                   |
| choose\_trace\_file            |                                  |      |  \*  |                                                                                                   |
| create\_source\_viewer         |                                  |      |      | argument type: 'TWinControl' and 'TCustomControl' changed to 'TWidget'; added 'out\_ccv' argument |
| get\_dbg\_byte                 |                                  |  \*  |      |                                                                                                   |
| get\_trace\_file\_desc         |                                  |   q  |  \*  |                                                                                                   |
| internal\_get\_sreg\_base      |                                  |  \*  |      |                                                                                                   |
| load\_trace\_file              |                                  |   q  |  \*  |                                                                                                   |
| source\_file\_t::open\_srcview |                                  |      |      | argument type: 'TCustomControl' changed to 'TWidget'                                              |
| source\_item\_t::get\_hint     |                                  |   q  |      |                                                                                                   |
| source\_item\_t::get\_kind     | source\_item\_t::get\_item\_kind |      |      |                                                                                                   |

#### diskio.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] return type changed from '\[u]int32' to '\[u]int64'/'qoff64\_t'
* \[4] input argument changed from '\[u]int32' to '\[u]int64'/'qoff64\_t'

| original name           | new name               | \[1] | \[2] | \[3] | \[4] | Notes                                                                                         |
| ----------------------- | ---------------------- | :--: | :--: | :--: | :--: | --------------------------------------------------------------------------------------------- |
| create\_generic\_linput | <**removed**>          |      |      |      |      |                                                                                               |
| echsize64               | <**removed**>          |      |      |      |      |                                                                                               |
| ecreateT                | <**removed**>          |      |      |      |      |                                                                                               |
| eseek64                 | <**removed**>          |      |      |      |      |                                                                                               |
| free\_ioports           | <**removed**>          |      |      |      |      |                                                                                               |
| qfsize64                | <**removed**>          |      |      |      |      |                                                                                               |
| qlgetz64                | <**removed**>          |      |      |      |      |                                                                                               |
| qlseek64                | <**removed**>          |      |      |      |      |                                                                                               |
| qlsize64                | <**removed**>          |      |      |      |      |                                                                                               |
| qltell64                | <**removed**>          |      |      |      |      |                                                                                               |
| choose\_ioport\_device  |                        |   q  |  \*  |      |      |                                                                                               |
| echsize                 |                        |      |      |      |  \*  |                                                                                               |
| eseek                   |                        |      |      |      |  \*  |                                                                                               |
| find\_ioport            |                        |      |      |      |      | input argument converted to 'const ioports\_t &'                                              |
| find\_ioport\_bit       |                        |      |      |      |      | input argument converted to 'const ioports\_t &'                                              |
| get\_special\_folder    |                        |  \*  |      |      |      |                                                                                               |
| getdspace               | get\_free\_disk\_space |      |      |      |      |                                                                                               |
| qfsize                  |                        |      |      |  \*  |      |                                                                                               |
| qlgetz                  |                        |      |      |      |  \*  |                                                                                               |
| qlseek                  |                        |      |      |  \*  |  \*  |                                                                                               |
| qlsize                  |                        |      |      |  \*  |      |                                                                                               |
| qltell                  |                        |      |      |  \*  |      |                                                                                               |
| read\_ioports           |                        |      |      |      |      | return type changed from 'ioport\_t \*' to 'ssize\_t'; output argument converted 'ioports\_t' |

#### entry.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] added 'flags' argument

| original name         | \[1] | \[2] | \[3] |
| --------------------- | :--: | :--: | :--: |
| add\_entry            |      |      |  \*  |
| get\_entry\_forwarder |   q  |  \*  |      |
| get\_entry\_name      |   q  |  \*  |      |
| rename\_entry         |      |      |  \*  |
| set\_entry\_forwarder |      |      |  \*  |

#### enum.hpp

NOTE: global variable 'enums' has been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                    | new name      | \[1] | \[2] |
| -------------------------------- | ------------- | :--: | :--: |
| add\_selected\_enum              | <**removed**> |      |      |
| get\_bmask\_node                 | <**removed**> |      |      |
| get\_selected\_enum              | <**removed**> |      |      |
| init\_enums                      | <**removed**> |      |      |
| save\_enums                      | <**removed**> |      |      |
| set\_enum\_flag                  | <**removed**> |      |      |
| term\_enums                      | <**removed**> |      |      |
| unmark\_selected\_enums          | <**removed**> |      |      |
| get\_bmask\_cmt                  |               |   q  |  \*  |
| get\_enum\_cmt                   |               |   q  |  \*  |
| get\_enum\_member\_cmt           |               |   q  |  \*  |
| get\_first\_serial\_enum\_member |               |  \*  |      |
| get\_last\_serial\_enum\_member  |               |  \*  |      |
| get\_next\_serial\_enum\_member  |               |  \*  |      |
| get\_prev\_serial\_enum\_member  |               |  \*  |      |

#### err.h

| original name | Notes                                                               |
| ------------- | ------------------------------------------------------------------- |
| qstrerror     | buf argument removed; returns string in static buffer (thread-safe) |

#### expr.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] input argument changed from pointer to reference

| original name                    | new name                 | \[1] | \[2] | \[3] | Notes                                                                                              |
| -------------------------------- | ------------------------ | :--: | :--: | :--: | -------------------------------------------------------------------------------------------------- |
| ExecuteFile                      | <**removed**>            |      |      |      | use 'exec\_idc\_script' instead                                                                    |
| ExecuteLine, execute             | <**removed**>            |      |      |      | use 'eval\_idc\_snippet' instead                                                                   |
| call\_idc\_method                | <**removed**>            |      |      |      |                                                                                                    |
| call\_script\_method             | <**removed**>            |      |      |      | use 'extlang\_t::call\_method' instead                                                             |
| compile\_script\_file            | <**removed**>            |      |      |      | use 'extlang\_t::compile\_file' instead                                                            |
| compile\_script\_func            | <**removed**>            |      |      |      | use 'extlang\_t::compile\_expr' instead                                                            |
| create\_idc\_object              | <**removed**>            |      |      |      |                                                                                                    |
| create\_script\_object           | <**removed**>            |      |      |      | use 'extlang\_t::create\_object' instead                                                           |
| extlang\_call\_method\_exists    | <**removed**>            |      |      |      | 'extlang\_t::call\_method' should always exist                                                     |
| extlang\_compile\_file           | <**removed**>            |      |      |      | use 'extlang\_t::compile\_file' instead                                                            |
| extlang\_compile\_file\_exists   | <**removed**>            |      |      |      | 'extlang\_t::compile\_file' should always exist                                                    |
| extlang\_create\_object\_exists  | <**removed**>            |      |      |      | 'extlang\_t::create\_object' should always exist                                                   |
| extlang\_get\_attr\_exists       | <**removed**>            |      |      |      | 'extlang\_t::get\_attr' should always exist                                                        |
| extlang\_run\_statements\_exists | <**removed**>            |      |      |      | replaced by 'extlang\_t::eval\_statements', which should always exist                              |
| extlang\_set\_attr\_exists       | <**removed**>            |      |      |      | 'extlang\_t::set\_attr' should always exist                                                        |
| extlang\_unload\_procmod         | <**removed**>            |      |      |      | use 'extlang\_t::unload\_procmod' instead                                                          |
| get\_extlang\_fileext            | <**removed**>            |      |      |      | use 'extlang\_t::fileext' instead                                                                  |
| get\_extlangs                    | <**removed**>            |      |      |      | use 'for\_all\_extlangs' instead                                                                   |
| get\_idc\_func\_body             | <**removed**>            |      |      |      |                                                                                                    |
| get\_script\_attr                | <**removed**>            |      |      |      | use 'extlang\_t::get\_attr' instead                                                                |
| run\_script\_func                | <**removed**>            |      |      |      | use 'extlang\_t::call\_func' instead                                                               |
| run\_statements                  | <**removed**>            |      |      |      | use 'extlang\_t::eval\_statements' instead                                                         |
| set\_idc\_func\_body             | <**removed**>            |      |      |      |                                                                                                    |
| set\_idc\_func\_ex               | <**removed**>            |      |      |      | use 'add\_idc\_func'/'del\_idc\_func' instead                                                      |
| set\_script\_attr                | <**removed**>            |      |      |      | use 'extlang\_t::set\_attr' instead                                                                |
| <**added**>                      | add\_idc\_func           |      |      |      | to be used instead of 'set\_idc\_func\_ex'                                                         |
| <**added**>                      | compile\_idc\_snippet    |      |      |      |                                                                                                    |
| <**added**>                      | del\_idc\_func           |      |      |      | to be used instead of 'set\_idc\_func\_ex'                                                         |
| <**added**>                      | eval\_idc\_snippet       |      |      |      |                                                                                                    |
| <**added**>                      | find\_extlang\_by\_index |      |      |      |                                                                                                    |
| <**added**>                      | find\_idc\_func          |      |      |      |                                                                                                    |
| <**added**>                      | for\_all\_extlangs       |      |      |      |                                                                                                    |
| <**added**>                      | get\_extlang             |      |      |      | always returns non-NULL                                                                            |
| Compile, CompileEx               | compile\_idc\_file       |   q  |  \*  |      |                                                                                                    |
| CompileLine, CompileLineEx       | compile\_idc\_text       |      |  \*  |      | added 'resolver' argument                                                                          |
| Run                              | call\_idc\_func          |  \*  |  \*  |      | swapped 'argsnum' and 'args'; argument type: 'int' changed to 'size\_t'; added 'resolver' argument |
| VarAssign                        | copy\_idcv               |      |      |  \*  |                                                                                                    |
| VarCopy                          | deep\_copy\_idcv         |      |      |  \*  |                                                                                                    |
| VarDelAttr                       | del\_idcv\_attr          |      |      |      |                                                                                                    |
| VarDeref                         | deref\_idcv              |      |      |      |                                                                                                    |
| VarFirstAttr                     | first\_idcv\_attr        |      |      |      |                                                                                                    |
| VarFloat                         | idcv\_float              |      |      |      |                                                                                                    |
| VarFree                          | free\_idcv               |      |      |      |                                                                                                    |
| VarGetAttr                       | get\_idcv\_attr          |  \*  |      |      |                                                                                                    |
| VarGetClassName                  | get\_idcv\_class\_name   |   q  |      |      |                                                                                                    |
| VarGetSlice                      | get\_idcv\_slice         |  \*  |      |      |                                                                                                    |
| VarInt64                         | idcv\_int64              |      |      |      |                                                                                                    |
| VarLastAttr                      | last\_idcv\_attr         |      |      |      |                                                                                                    |
| VarLong                          | idcv\_long               |      |      |      |                                                                                                    |
| VarMove                          | move\_idcv               |      |      |      |                                                                                                    |
| VarNextAttr                      | next\_idcv\_attr         |      |      |      |                                                                                                    |
| VarNum                           | idcv\_num                |      |      |      |                                                                                                    |
| VarObject                        | idcv\_object             |      |      |      |                                                                                                    |
| VarPrevAttr                      | prev\_idcv\_attr         |      |      |      |                                                                                                    |
| VarPrint                         | print\_idcv              |      |      |  \*  |                                                                                                    |
| VarRef                           | create\_idcv\_ref        |      |      |      |                                                                                                    |
| VarSetAttr                       | set\_idcv\_attr          |      |      |  \*  |                                                                                                    |
| VarSetSlice                      | set\_idcv\_slice         |      |      |  \*  |                                                                                                    |
| VarString2                       | idcv\_string             |      |      |      |                                                                                                    |
| VarSwap                          | swap\_idcvs              |      |      |      |                                                                                                    |
| calc\_idc\_expr                  | eval\_idc\_expr          |  \*  |  \*  |      |                                                                                                    |
| calcexpr                         | eval\_expr               |  \*  |  \*  |      |                                                                                                    |
| calcexpr\_long                   | eval\_expr\_long         |  \*  |  \*  |      |                                                                                                    |
| dosysfile                        | exec\_system\_script     |      |      |      | argument order has swapped                                                                         |
| find\_extlang\_by\_ext           |                          |      |      |      | return type changed from 'const extlang\_t \*' to 'extlang\_object\_t'                             |
| find\_extlang\_by\_name          |                          |      |      |      | return type changed from 'const extlang\_t \*' to 'extlang\_object\_t'                             |
| install\_extlang                 |                          |      |      |      | removed const from 'el' argument; return type changed from 'bool' to 'ssize\_t'                    |
| remove\_extlang                  |                          |      |      |      | removed const from 'el' argument                                                                   |
| select\_extlang                  |                          |      |      |      | removed const from 'el' argument                                                                   |

#### fixup.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] input argument changed from pointer to reference

| original name             | new name            | \[1] | \[2] | \[3] | Notes                                                                                                                                                |
| ------------------------- | ------------------- | :--: | :--: | :--: | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| get\_fixup\_base          | <**removed**>       |      |      |      | use 'fd.get\_base()' instead                                                                                                                         |
| get\_fixup\_extdef\_ea    | <**removed**>       |      |      |      | use 'fd.get\_base() + fd.off' instead                                                                                                                |
| get\_fixup\_segdef\_sel   | <**removed**>       |      |      |      | use 'fd.sel' instead                                                                                                                                 |
| set\_custom\_fixup        | <**removed**>       |      |      |      | use 'set\_fixup' instead                                                                                                                             |
| set\_custom\_fixup\_ex    | <**removed**>       |      |      |      | use 'set\_fixup' instead                                                                                                                             |
| set\_fixup\_ex            | <**removed**>       |      |      |      |                                                                                                                                                      |
| <**added**>               | calc\_fixup\_size   |      |      |      |                                                                                                                                                      |
| <**added**>               | exists\_fixup       |      |      |      |                                                                                                                                                      |
| <**added**>               | find\_custom\_fixup |      |      |      | to be used instead of 'create\_custom\_fixup' (from idp.hpp)                                                                                         |
| <**added**>               | get\_fixup\_handler |      |      |      |                                                                                                                                                      |
| <**added**>               | get\_fixup\_value   |      |      |      |                                                                                                                                                      |
| <**added**>               | get\_fixups         |      |      |      |                                                                                                                                                      |
| <**added**>               | is\_fixup\_custom   |      |      |      |                                                                                                                                                      |
| <**added**>               | patch\_fixup\_value |      |      |      |                                                                                                                                                      |
| get\_fixup                |                     |  \*  |      |      |                                                                                                                                                      |
| get\_fixup\_desc          |                     |   q  |  \*  |  \*  | return type changed from 'char \*' to 'const char \*'                                                                                                |
| register\_custom\_fixup   |                     |      |      |      | input argument changed from 'const fixup\_handler\_t \*' to 'const custom\_fixup\_handler\_t \*'; return type changed from 'int' to 'fixup\_type\_t' |
| set\_fixup                |                     |      |      |  \*  |                                                                                                                                                      |
| unregister\_custom\_fixup |                     |      |      |      | input argument changed from 'int' to 'fixup\_type\_t'                                                                                                |

#### fpro.h

* \[1] input argument changed from 'int32' to 'qoff64\_t'
* \[2] return type changed from 'int32' to 'qoff64\_t'

| original name | new name  |    |    |
| ------------- | --------- | -- | -- |
| <**added**>   | qaccess   |    |    |
| <**added**>   | qgetline  |    |    |
| qcopyfile64   | qcopyfile |    |    |
| qfseek64      | qfseek    | \* |    |
| qftell64      | qftell    |    | \* |

#### frame.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] input argument 'func\_t \*pfn' made const

| original name               | new name          | \[1] | \[2] | \[3] | Notes                                                 |
| --------------------------- | ----------------- | :--: | :--: | :--: | ----------------------------------------------------- |
| add\_auto\_stkpnt2          | add\_auto\_stkpnt |      |      |      |                                                       |
| add\_stkvar2                | define\_stkvar    |      |      |      |                                                       |
| add\_stkvar3                | add\_stkvar       |      |      |      | added 'const insn\_t &' input argument                |
| build\_stkvar\_name         |                   |   q  |  \*  |  \*  | return type changed from 'char \*' to 'ssize\_t'      |
| calc\_stkvar\_struc\_offset |                   |      |      |      | converted input 'ea\_t' argument to 'const insn\_t &' |
| frame\_off\_args            |                   |      |      |  \*  |                                                       |
| frame\_off\_lvars           |                   |      |      |  \*  |                                                       |
| frame\_off\_retaddr         |                   |      |      |  \*  |                                                       |
| frame\_off\_savregs         |                   |      |      |  \*  |                                                       |
| get\_frame\_part            |                   |  \*  |      |  \*  | argument type: 'area\_t' changed to 'range\_t'        |
| get\_frame\_retsize         |                   |      |      |  \*  |                                                       |
| get\_frame\_size            |                   |      |      |  \*  |                                                       |
| get\_stkvar                 |                   |  \*  |      |      | added 'const insn\_t &' input argument                |
| is\_funcarg\_off            |                   |      |      |  \*  |                                                       |
| lvar\_off                   |                   |      |      |  \*  |                                                       |

#### funcs.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                                    | new name               | \[1] | \[2] | Notes                                                                                                       |
| ------------------------------------------------ | ---------------------- | :--: | :--: | ----------------------------------------------------------------------------------------------------------- |
| a2funcoff                                        | <**removed**>          |      |      |                                                                                                             |
| apply\_idasgn                                    | <**removed**>          |      |      |                                                                                                             |
| clear\_func\_struct                              | <**removed**>          |      |      |                                                                                                             |
| del\_func\_cmt                                   | <**removed**>          |      |      | use 'set\_func\_cmt("")' instead                                                                            |
| std\_gen\_func\_header                           | <**removed**>          |      |      | use 'outctx\_base\_t::gen\_func\_header' instead                                                            |
| <**added**>                                      | is\_same\_func         |      |      |                                                                                                             |
| <**added**>                                      | lock\_func\_range      |      |      |                                                                                                             |
| <**added**>                                      | reanalyze\_noret\_flag |      |      |                                                                                                             |
| add\_func                                        |                        |      |      | second 'ea\_t' argument made optional                                                                       |
| add\_regarg2                                     | add\_regarg            |      |      |                                                                                                             |
| find\_func\_bounds                               |                        |  \*  |      | removed 'ea' argument                                                                                       |
| func\_item\_iterator\_t::decode\_preceding\_insn |                        |      |      | added 'insn\_t \*' output argument                                                                          |
| func\_item\_iterator\_t::decode\_prev\_insn      |                        |      |      | added 'insn\_t \*' output argument                                                                          |
| func\_setend                                     | set\_func\_end         |      |      |                                                                                                             |
| func\_setstart                                   | set\_func\_start       |      |      |                                                                                                             |
| get\_func\_bits                                  |                        |      |      | input argument 'func\_t \*' made const                                                                      |
| get\_func\_bytes                                 |                        |      |      | input argument 'func\_t \*' made const                                                                      |
| get\_func\_cmt                                   |                        |   q  |  \*  | return type changed from 'char \*' to 'ssize\_t'                                                            |
| get\_func\_limits                                | get\_func\_ranges      |  \*  |      | output argument converted from 'area\_t \*' to 'rangeset\_t \*'; return type changed from 'bool' to 'ea\_t' |
| get\_func\_name2                                 | get\_func\_name        |      |      |                                                                                                             |
| get\_idasgn\_desc                                |                        |   q  |  \*  |                                                                                                             |
| get\_idasgn\_title                               |                        |   q  |  \*  | return type changed from 'char \*' to 'ssize\_t'                                                            |
| set\_func\_cmt                                   |                        |      |      | input argument 'func\_t \*' made const                                                                      |

#### gdl.hpp

| original name                    | Notes                                                         |
| -------------------------------- | ------------------------------------------------------------- |
| create\_multirange\_qflow\_chart | argument type: 'areavec\_t' has been renamed to 'rangevec\_t' |

#### graph.hpp

* \[1] input argument changed from 'TCustomControl \*' to 'graph\_viewer\_t \*'

| original name                   | new name         | \[1] | Notes                                                                     |
| ------------------------------- | ---------------- | :--: | ------------------------------------------------------------------------- |
| set\_graph\_dispatcher          | <**removed**>    |      | use 'hook\_to\_notification\_point(HT\_GRAPH, \[...])' instead            |
| viewer\_add\_menu\_item         | <**removed**>    |      | use 'viewer\_attach\_menu\_item' instead                                  |
| viewer\_del\_menu\_item         | <**removed**>    |      |                                                                           |
| <**added**>                     | viewer\_get\_gli |      |                                                                           |
| clr\_node\_info2                | clr\_node\_info  |      |                                                                           |
| create\_disasm\_graph           |                  |      | argument type: 'areavec\_t' has been renamed to 'rangevec\_t'             |
| create\_graph\_viewer           |                  |      | added 'title' argument; 'parent' argument made optional and reordered     |
| del\_node\_info2                | del\_node\_info  |      |                                                                           |
| get\_graph\_viewer              |                  |      | input argument changed from 'TForm \*' to 'TWidget \*'                    |
| get\_node\_info2                | get\_node\_info  |      |                                                                           |
| get\_viewer\_graph              |                  |  \*  |                                                                           |
| grentry                         |                  |      | 'grentry' has been converted from a global variable to an inline function |
| refresh\_viewer                 |                  |  \*  |                                                                           |
| set\_node\_info2                | set\_node\_info  |      |                                                                           |
| viewer\_center\_on              |                  |  \*  |                                                                           |
| viewer\_create\_groups          |                  |  \*  |                                                                           |
| viewer\_del\_node\_info         |                  |  \*  |                                                                           |
| viewer\_delete\_groups          |                  |  \*  |                                                                           |
| viewer\_fit\_window             |                  |  \*  |                                                                           |
| viewer\_get\_curnode            |                  |  \*  |                                                                           |
| viewer\_get\_node\_info         |                  |  \*  |                                                                           |
| viewer\_set\_gli                |                  |  \*  | added 'flags' argument                                                    |
| viewer\_set\_groups\_visibility |                  |  \*  |                                                                           |
| viewer\_set\_node\_info         |                  |  \*  |                                                                           |

#### help.h

| original name | new name |
| ------------- | -------- |
| askyn         | ask\_yn  |
| askyn\_v      | vask\_yn |

#### ida.hpp

| original name                          | new name                                 |
| -------------------------------------- | ---------------------------------------- |
| ansi2idb                               | <**removed**>                            |
| dto\_copy\_from\_inf                   | <**removed**>                            |
| dto\_copy\_to\_inf                     | <**removed**>                            |
| dto\_init                              | <**removed**>                            |
| idb2scr                                | <**removed**>                            |
| scr2idb                                | <**removed**>                            |
| showAllComments                        | show\_all\_comments                      |
| showComments                           | show\_comments                           |
| showRepeatable class="table table-sm"s | show\_repeatable class="table table-sm"s |
| toEA                                   | to\_ea                                   |

#### idd.hpp

* \[1] output argument moved to beginning of argument list

| original name | \[1] | Notes                                                                  |
| ------------- | :--: | ---------------------------------------------------------------------- |
| dbg\_appcall  |  \*  | swapped 'argnum' and 'argv'; argument type: 'int' changed to 'size\_t' |

#### idp.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                     | new name           | \[1] | \[2] | Notes                                                                                          |
| --------------------------------- | ------------------ | :--: | :--: | ---------------------------------------------------------------------------------------------- |
| get\_reg\_info2                   | get\_reg\_info     |      |      |                                                                                                |
| get\_reg\_name                    |                    |   q  |  \*  |                                                                                                |
| invoke\_callbacks                 |                    |      |      | moved from loader.hpp                                                                          |
| hook\_to\_notification\_point     |                    |      |      | moved from loader.hpp                                                                          |
| unhook\_from\_notification\_point |                    |      |      | moved from loader.hpp                                                                          |
| set\_processor\_type              |                    |      |      | return type changed from 'char' to 'bool'; argument type: 'int' changed to 'setproc\_level\_t' |
| parse\_reg\_name                  |                    |  \*  |      |                                                                                                |
| cfg\_get\_cc\_header\_path        |                    |      |      | moved to config.hpp                                                                            |
| cfg\_get\_cc\_parm                |                    |      |      | moved to config.hpp                                                                            |
| cfg\_get\_cc\_predefined\_macros  |                    |      |      | moved to config.hpp                                                                            |
| cfgopt\_t\_\_apply                |                    |      |      | moved to config.hpp                                                                            |
| parse\_config\_value              |                    |      |      | moved to config.hpp                                                                            |
| read\_config                      |                    |      |      | moved to config.hpp                                                                            |
| read\_config\_file                |                    |      |      | moved to config.hpp                                                                            |
| read\_config\_string              |                    |      |      | moved to config.hpp                                                                            |
| InstrIsSet                        | has\_insn\_feature |      |      |                                                                                                |
| str2regf                          | <**removed**>      |      |      |                                                                                                |
| create\_custom\_fixup             | <**removed**>      |      |      |                                                                                                |
| gen\_spcdef                       | <**removed**>      |      |      | use 'outctx\_t::out\_specea' instead                                                           |
| gen\_abssym                       | <**removed**>      |      |      | use 'outctx\_t::out\_specea' instead                                                           |
| gen\_comvar                       | <**removed**>      |      |      | use 'outctx\_t::out\_specea' instead                                                           |
| gen\_extern                       | <**removed**>      |      |      | use 'outctx\_t::out\_specea' instead                                                           |
| intel\_data                       | <**removed**>      |      |      | use 'outctx\_t::out\_data' instead                                                             |
| is\_basic\_block\_end             |                    |      |      | added 'const insn\_t &' input argument                                                         |
| is\_call\_insn                    |                    |      |      | converted input 'ea\_t' argument to 'const insn\_t &'                                          |
| is\_indirect\_jump\_insn          |                    |      |      | converted input 'ea\_t' argument to 'const insn\_t &'                                          |
| is\_ret\_insn                     |                    |      |      | converted input 'ea\_t' argument to 'const insn\_t &'                                          |

#### ieee.h

* \[1] output argument moved to beginning of argument list

| original name | \[1] |
| ------------- | :--: |
| eetol         |  \*  |
| eetol64       |  \*  |
| eetol64u      |  \*  |
| realtoasc     |  \*  |

#### ints.hpp (**REMOVED**)

| original name          | new name      | Notes              |
| ---------------------- | ------------- | ------------------ |
| get\_predef\_cmt       | <**removed**> |                    |
| get\_vxd\_func\_name   | <**removed**> |                    |
| get\_predef\_insn\_cmt |               | moved to bytes.hpp |

#### kernwin.hpp

NOTE: Please note that in IDA version 6.7 we introduced the *Actions API*, which deprecated many functions related to augmenting functionality in IDA.

Those previously deprecated functions have been removed. For more details about the Actions API, please visit our old blog post from 2014:

<http://www.hexblog.com/?p=886>

NOTE: 'TForm', 'TCustomControl', and 'TWinControl' have been replaced by 'TWidget'

NOTE: global variable 'dirty\_infos' has been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] input argument changed from pointer to reference
* \[4] return type changed from 'TForm \*' to 'TWidget \*'
* \[5] input argument changed from 'TCustomControl \*' to 'TWidget \*'

| original name                          | new name               | \[1] | \[2] | \[3] | \[4] | \[5] | Notes                                                                                                       |
| -------------------------------------- | ---------------------- | :--: | :--: | :--: | :--: | :--: | ----------------------------------------------------------------------------------------------------------- |
| askfile\_c                             | <**removed**>          |      |      |      |      |      |                                                                                                             |
| askfile\_cv                            | <**removed**>          |      |      |      |      |      |                                                                                                             |
| askstr                                 | <**removed**>          |      |      |      |      |      |                                                                                                             |
| close\_form                            | <**removed**>          |      |      |      |      |      | use 'form\_actions\_t::close' instead                                                                       |
| close\_tform                           | <**removed**>          |      |      |      |      |      | use 'close\_widget' instead                                                                                 |
| create\_tform                          | <**removed**>          |      |      |      |      |      | use 'find\_widget' or 'create\_empty\_widget' instead                                                       |
| enable\_menu\_item                     | <**removed**>          |      |      |      |      |      | superseded by the Actions API (see blog post above)                                                         |
| entab                                  | <**removed**>          |      |      |      |      |      |                                                                                                             |
| find\_tform                            | <**removed**>          |      |      |      |      |      | use 'find\_widget' instead                                                                                  |
| get\_current\_tform                    | <**removed**>          |      |      |      |      |      | use 'get\_current\_widget' instead                                                                          |
| get\_highlighted\_identifier           | <**removed**>          |      |      |      |      |      | use 'get\_current\_viewer' and 'get\_highlight' instead                                                     |
| get\_tform\_idaview                    | <**removed**>          |      |      |      |      |      | use the 'TWidget \*' directly instead of obtaining the IDAView                                              |
| get\_tform\_title                      | <**removed**>          |      |      |      |      |      | use 'get\_widget\_title' instead                                                                            |
| get\_tform\_type                       | <**removed**>          |      |      |      |      |      | use 'get\_widget\_type' instead                                                                             |
| get\_viewer\_name                      | <**removed**>          |      |      |      |      |      | use 'get\_widget\_title' instead                                                                            |
| init\_kernel                           | <**removed**>          |      |      |      |      |      |                                                                                                             |
| is\_chooser\_tform                     | <**removed**>          |      |      |      |      |      | use 'is\_chooser\_widget' instead                                                                           |
| print\_disp                            | <**removed**>          |      |      |      |      |      | use 'append\_disp' instead                                                                                  |
| set\_menu\_item\_icon                  | <**removed**>          |      |      |      |      |      | superseded by the Actions API (see blog post above)                                                         |
| switchto\_tform                        | <**removed**>          |      |      |      |      |      | use 'activate\_widget' instead                                                                              |
| term\_kernel                           | <**removed**>          |      |      |      |      |      |                                                                                                             |
| umsg                                   | <**removed**>          |      |      |      |      |      |                                                                                                             |
| vaskstr                                | <**removed**>          |      |      |      |      |      |                                                                                                             |
| vumsg                                  | <**removed**>          |      |      |      |      |      |                                                                                                             |
| <**added**>                            | activate\_widget       |      |      |      |      |      |                                                                                                             |
| <**added**>                            | append\_disp           |      |      |      |      |      |                                                                                                             |
| <**added**>                            | close\_widget          |      |      |      |      |      |                                                                                                             |
| <**added**>                            | create\_empty\_widget  |      |      |      |      |      |                                                                                                             |
| <**added**>                            | find\_widget           |      |      |      |      |      |                                                                                                             |
| <**added**>                            | get\_current\_widget   |      |      |      |      |      |                                                                                                             |
| <**added**>                            | get\_highlight         |      |      |      |      |      |                                                                                                             |
| <**added**>                            | get\_widget\_title     |      |      |      |      |      |                                                                                                             |
| <**added**>                            | get\_widget\_type      |      |      |      |      |      |                                                                                                             |
| <**added**>                            | is\_buttoncb\_t\_type  |      |      |      |      |      |                                                                                                             |
| <**added**>                            | is\_chooser\_widget    |      |      |      |      |      |                                                                                                             |
| <**added**>                            | is\_formchgcb\_t\_type |      |      |      |      |      |                                                                                                             |
| <**added**>                            | qcleanline             |      |      |      |      |      |                                                                                                             |
| <**added**>                            | set\_highlight         |      |      |      |      |      |                                                                                                             |
| <**added**>                            | unpack\_ds\_to\_buf    |      |      |      |      |      |                                                                                                             |
| AskUsingForm\_c                        | ask\_form              |      |      |      |      |      |                                                                                                             |
| AskUsingForm\_cv                       | vask\_form             |      |      |      |      |      |                                                                                                             |
| OpenForm\_c                            | open\_form             |      |      |      |  \*  |      |                                                                                                             |
| OpenForm\_cv                           | vopen\_form            |      |      |      |  \*  |      |                                                                                                             |
| askaddr                                | ask\_addr              |      |      |      |      |      |                                                                                                             |
| askbuttons\_c                          | ask\_buttons           |      |      |      |      |      |                                                                                                             |
| askbuttons\_cv                         | vask\_buttons          |      |      |      |      |      |                                                                                                             |
| askfile2\_c                            | ask\_file              |      |      |      |      |      | 'filters' argument merged into 'format'                                                                     |
| askfile2\_cv                           | vask\_file             |      |      |      |      |      | 'filters' argument merged into 'format'                                                                     |
| askident                               | ask\_ident             |      |  \*  |      |      |      | return type changed from 'char \*' to 'bool'                                                                |
| asklong                                | ask\_long              |      |      |      |      |      |                                                                                                             |
| askqstr                                | ask\_str               |      |      |      |      |      | added 'hist' argument                                                                                       |
| askseg                                 | ask\_seg               |      |      |      |      |      |                                                                                                             |
| asktext                                | ask\_text              |   q  |  \*  |      |      |      | return type changed from 'char \*' to 'bool'                                                                |
| askyn\_c                               | ask\_yn                |      |      |      |      |      |                                                                                                             |
| askyn\_cv                              | vask\_yn               |      |      |      |      |      |                                                                                                             |
| atob32                                 |                        |  \*  |      |      |      |      |                                                                                                             |
| atob64                                 |                        |  \*  |      |      |      |      |                                                                                                             |
| atoea                                  |                        |  \*  |      |      |      |      |                                                                                                             |
| atos                                   |                        |  \*  |      |      |      |      |                                                                                                             |
| attach\_action\_to\_popup              |                        |      |      |      |      |      | input argument changed from 'TForm \*' to 'TWidget \*'                                                      |
| attach\_dynamic\_action\_to\_popup     |                        |      |  \*  |      |      |      | input argument changed from 'TForm \*' to 'TWidget \*'                                                      |
| b2a32                                  |                        |  \*  |      |      |      |      |                                                                                                             |
| b2a64                                  |                        |  \*  |      |      |      |      |                                                                                                             |
| back\_char                             |                        |      |      |      |      |      | moved to pro.h                                                                                              |
| choose, choose2, choose3               | choose                 |      |      |      |      |      | choosers should use the new 'chooser\_base\_t' interface                                                    |
| choose\_srcp                           |                        |      |      |      |      |      | return type changed from 'segreg\_area\_t \*' to 'sreg\_range\_t \*'                                        |
| choose\_til                            |                        |      |  \*  |      |      |      |                                                                                                             |
| clearBreak                             | clr\_cancelled         |      |      |      |      |      |                                                                                                             |
| clear\_refresh\_request                |                        |      |      |      |      |      | to be used instead of 'dirty\_infos'                                                                        |
| create\_code\_viewer                   |                        |      |      |      |      |      | return type changed from 'TCustomControl \*' to 'TWidget \*'; 'parent' argument made optional and reordered |
| create\_custom\_viewer                 |                        |      |      |      |      |      | return type changed from 'TCustomControl \*' to 'TWidget \*'; 'parent' argument made optional and reordered |
| custom\_viewer\_jump                   |                        |      |      |      |      |  \*  |                                                                                                             |
| destroy\_custom\_viewer                |                        |      |      |      |      |  \*  |                                                                                                             |
| detach\_action\_from\_popup            |                        |      |      |      |      |      | input argument changed from 'TForm \*' to 'TWidget \*'                                                      |
| ea2str                                 |                        |  \*  |      |      |      |      |                                                                                                             |
| ea\_viewer\_history\_push\_and\_jump   |                        |      |      |      |      |  \*  |                                                                                                             |
| gen\_disasm\_text                      |                        |  \*  |      |      |      |      |                                                                                                             |
| get\_8bit                              |                        |      |      |  \*  |      |      |                                                                                                             |
| get\_action\_label                     |                        |  \*  |      |      |      |      |                                                                                                             |
| get\_action\_shortcut                  |                        |  \*  |      |      |      |      |                                                                                                             |
| get\_action\_tooltip                   |                        |  \*  |      |      |      |      |                                                                                                             |
| get\_chooser\_data                     |                        |      |      |      |      |      | argument type: 'uint32' changed to 'int'                                                                    |
| get\_current\_viewer                   |                        |      |      |      |      |      | return type changed from 'TCustomControl \*' to 'TWidget \*'                                                |
| get\_custom\_viewer\_curline           |                        |      |      |      |      |  \*  |                                                                                                             |
| get\_custom\_viewer\_place             |                        |      |      |      |      |  \*  |                                                                                                             |
| get\_ea\_viewer\_history\_info         |                        |      |      |      |      |  \*  |                                                                                                             |
| get\_kernel\_version                   |                        |      |      |      |      |      | return type changed from 'bool' to 'ssize\_t'                                                               |
| get\_output\_curline                   |                        |      |  \*  |      |      |      |                                                                                                             |
| get\_output\_selected\_text            |                        |      |  \*  |      |      |      |                                                                                                             |
| get\_view\_renderer\_type              |                        |      |      |      |      |  \*  |                                                                                                             |
| get\_viewer\_place\_type               |                        |      |      |      |      |  \*  |                                                                                                             |
| get\_viewer\_user\_data                |                        |      |      |      |      |  \*  |                                                                                                             |
| is\_idaview                            |                        |      |      |      |      |  \*  |                                                                                                             |
| is\_refresh\_requested                 |                        |      |      |      |      |      | to be used instead of 'dirty\_infos'                                                                        |
| jumpto                                 |                        |      |      |      |      |  \*  |                                                                                                             |
| linearray\_t::down                     |                        |      |      |      |      |      | return type changed from 'char \*' to 'const qstring \*'                                                    |
| linearray\_t::up                       |                        |      |      |      |      |      | return type changed from 'char \*' to 'const qstring \*'                                                    |
| open\_bpts\_window                     |                        |      |      |      |      |  \*  |                                                                                                             |
| open\_bpts\_window                     |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_calls\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_disasm\_window                   |                        |      |      |      |  \*  |      | input argument changed from 'const areavec\_t \*' to 'const rangevec\_t \*'                                 |
| open\_enums\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_exports\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_frame\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_funcs\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_hexdump\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_imports\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_loctypes\_window                 |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_modules\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_names\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_navband\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_notepad\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_problems\_window                 |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_segments\_window                 |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_segregs\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_selectors\_window                |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_signatures\_window               |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_stack\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_strings\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_structs\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_tform                            | display\_widget        |      |      |      |      |      | input argument changed from 'TForm \*' to 'TWidget \*'                                                      |
| open\_threads\_window                  |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_tils\_window                     |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_trace\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| open\_xrefs\_window                    |                        |      |      |      |  \*  |      |                                                                                                             |
| qstr2user                              |                        |      |      |      |      |      | moved to pro.h                                                                                              |
| r50\_to\_asc                           |                        |  \*  |      |      |      |      |                                                                                                             |
| read\_range\_selection                 | read\_selection        |      |      |      |      |  \*  | WARNING: 'read\_selection' has changed meaning                                                              |
| read\_selection                        | read\_range\_selection |      |      |      |      |      | WARNING: 'read\_selection' has changed meaning; added 'TWidget \*' argument                                 |
| refresh\_custom\_viewer                |                        |      |      |      |      |  \*  |                                                                                                             |
| repaint\_custom\_viewer                |                        |      |      |      |      |  \*  |                                                                                                             |
| request\_refresh                       |                        |      |      |      |      |      | added 'cnd' argument                                                                                        |
| setBreak                               | set\_cancelled         |      |      |      |      |      |                                                                                                             |
| set\_code\_viewer\_handler             |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_is\_source          |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_line\_handlers      |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_lines\_alignment    |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_lines\_icon\_margin |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_lines\_radix        |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_code\_viewer\_user\_data          |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_custom\_viewer\_handler           |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_custom\_viewer\_handlers          |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_custom\_viewer\_qt\_aware         |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_custom\_viewer\_range             |                        |      |      |      |      |  \*  |                                                                                                             |
| set\_view\_renderer\_type              |                        |      |      |      |      |  \*  |                                                                                                             |
| show\_hex\_file                        |                        |      |      |      |      |      | argument type: 'int32' changed to 'int64'                                                                   |
| skipSpaces                             | skip\_spaces           |      |      |      |      |      |                                                                                                             |
| stoa                                   |                        |   q  |  \*  |      |      |      |                                                                                                             |
| str2ea                                 |                        |  \*  |      |      |      |      |                                                                                                             |
| str2ea\_ex                             |                        |  \*  |      |      |      |      |                                                                                                             |
| str2user                               |                        |      |      |      |      |      | moved to pro.h                                                                                              |
| ui\_load\_new\_file                    |                        |      |      |      |      |      | added 'temp\_file' and 'ploaders'; input argument 'filename' changed from 'const char \*' to 'qstring \*'   |
| user2qstr                              |                        |      |      |      |      |      | moved to pro.h                                                                                              |
| user2str                               |                        |      |      |      |      |      | moved to pro.h                                                                                              |
| vaskqstr                               | vask\_str              |      |      |      |      |      | added 'hist' argument                                                                                       |
| vasktext                               | vask\_text             |   q  |  \*  |      |      |      | return type changed from 'char \*' to 'bool'                                                                |
| vshow\_hex\_file                       |                        |      |      |      |      |      | argument type: 'int32' changed to 'int64'                                                                   |
| wasBreak                               | user\_cancelled        |      |      |      |      |      |                                                                                                             |

#### lex.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name | new name             | \[1] | \[2] |
| ------------- | -------------------- | :--: | :--: |
| lex\_define   | lex\_define\_macro   |      |      |
| lex\_undef    | lex\_undefine\_macro |      |      |
| lxascii       | lex\_print\_token    |   q  |  \*  |
| lxget         | lex\_get\_token      |      |      |
| lxgetserr     | lex\_get\_file\_line |      |      |
| lxgetsini     | lex\_init\_file      |      |      |
| lxgetstrm     | lex\_term\_file      |      |      |
| lxini         | lex\_init\_string    |      |      |

#### lines.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] return type changed from 'void' to 'bool'

| original name              | new name          | \[1] | \[2] | \[3] | Notes                                                              |
| -------------------------- | ----------------- | :--: | :--: | :--: | ------------------------------------------------------------------ |
| MakeBorder                 | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_border\_line(false)' instead            |
| MakeLine                   | <**removed**>     |      |      |      | use 'outctx\_base\_t::flush\_buf' instead                          |
| MakeNull                   | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_empty\_line' instead                    |
| MakeSolidBorder            | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_border\_line(true)' instead             |
| add\_long\_cmt\_v          | <**removed**>     |      |      |      | use 'vadd\_extra\_line' instead                                    |
| close\_comment             | <**removed**>     |      |      |      | use 'outctx\_base\_t::close\_comment' instead                      |
| describex                  | <**removed**>     |      |      |      | use 'vadd\_extra\_line' instead                                    |
| finish\_makeline           | <**removed**>     |      |      |      | use 'outctx\_base\_t::term\_outctx' instead                        |
| gen\_cmt\_line             | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_cmt\_line' instead                      |
| gen\_cmt\_line\_v          | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_cmt\_line\_v' instead                   |
| gen\_collapsed\_line       | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_collapsed\_line' instead                |
| gen\_colored\_cmt\_line\_v | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_colored\_cmt\_line\_v' instead          |
| generate\_big\_comment     | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_block\_cmt' instead                     |
| generate\_many\_lines      | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_many\_lines(-1, NULL, \[...])' instead  |
| init\_lines                | <**removed**>     |      |      |      |                                                                    |
| init\_lines\_array         | <**removed**>     |      |      |      | use 'outctx\_base\_t::init\_lines\_array' instead                  |
| printf\_line               | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_printf' instead                         |
| printf\_line\_v            | <**removed**>     |      |      |      | use 'outctx\_base\_t::gen\_vprintf' instead                        |
| save\_line\_in\_array      | <**removed**>     |      |      |      | use 'outctx\_base\_t::save\_buf' instead                           |
| save\_lines                | <**removed**>     |      |      |      |                                                                    |
| save\_sourcefiles          | <**removed**>     |      |      |      |                                                                    |
| setup\_makeline            | <**removed**>     |      |      |      | use 'outctx\_base\_t::setup\_outctx' instead                       |
| tag\_addchr                | <**removed**>     |      |      |      |                                                                    |
| tag\_addstr                | <**removed**>     |      |      |      |                                                                    |
| tag\_off                   | <**removed**>     |      |      |      |                                                                    |
| tag\_on                    | <**removed**>     |      |      |      |                                                                    |
| <**added**>                | get\_last\_pfxlen |      |      |      |                                                                    |
| <**added**>                | vadd\_extra\_line |      |      |      |                                                                    |
| add\_long\_cmt             | add\_extra\_cmt   |      |      |      |                                                                    |
| add\_pgm\_cmt              |                   |      |      |  \*  |                                                                    |
| describe                   | add\_extra\_line  |      |      |  \*  |                                                                    |
| generate\_disasm\_line     |                   |   q  |  \*  |      |                                                                    |
| generate\_disassembly      |                   |   q  |  \*  |      | output argument is 'qstrvec\_t'                                    |
| get\_extra\_cmt            |                   |   q  |  \*  |      |                                                                    |
| get\_sourcefile            |                   |      |      |      | argument type: 'area\_t \*' changed to 'range\_t \*'               |
| tag\_addr                  |                   |   q  |  \*  |      | return type changed from 'char \*' to 'void'; added 'ins' argument |
| tag\_remove                |                   |   q  |  \*  |      | added 'init\_level' argument                                       |

#### llong.hpp

* \[1] output argument moved to beginning of argument list
* \[2] output argument changed from reference to pointer

| original name | new name      | \[1] | \[2] |
| ------------- | ------------- | :--: | :--: |
| print         | <**removed**> |      |      |
| llong\_div    |               |  \*  |  \*  |
| llong\_udiv   |               |  \*  |  \*  |

#### loader.hpp

NOTE: global variables 'database\_flags', 'command\_line\_file', 'idb\_path', and 'id0\_path' have been removed.

NOTE: class 'loader\_jump' has been renamed to 'loader\_failure\_t'

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] input argument changed from 'int32' to 'qoff64\_t'
* \[3] return type changed from 'int32' to 'qoff64\_t'

| original name                     | new name           | \[1] | \[2] | \[3] | Notes                                                           |
| --------------------------------- | ------------------ | :--: | :--: | :--: | --------------------------------------------------------------- |
| enum\_plugins                     | <**removed**>      |      |      |      |                                                                 |
| init\_loader\_options             | <**removed**>      |      |      |      |                                                                 |
| <**added**>                       | find\_plugin       |      |      |      |                                                                 |
| <**added**>                       | process\_archive   |      |      |      |                                                                 |
| accept\_file                      |                    |   q  |  \*  |      | added 'processor' output argument (optional)                    |
| base2file                         |                    |      |  \*  |      |                                                                 |
| build\_loaders\_list              |                    |      |      |      | added 'filename' argument (name of the input file for archives) |
| clr\_database\_flag               |                    |      |      |      | to be used instead of 'database\_flags'                         |
| extract\_module\_from\_archive    |                    |  \*  |      |      |                                                                 |
| file2base                         |                    |      |  \*  |      |                                                                 |
| get\_fileregion\_ea               |                    |      |  \*  |      |                                                                 |
| get\_fileregion\_offset           |                    |      |      |  \*  |                                                                 |
| get\_path                         |                    |      |      |      | to be used instead of 'idb\_path'                               |
| hook\_to\_notification\_point     |                    |      |      |      | moved to idp.hpp                                                |
| invoke\_callbacks                 |                    |      |      |      | moved to idp.hpp                                                |
| is\_database\_flag                |                    |      |      |      | to be used instead of 'database\_flags'                         |
| load\_and\_run\_plugin            |                    |      |      |      | argument type: 'int' changed to 'size\_t'                       |
| load\_binary\_file                |                    |      |  \*  |      | argument type: 'uint32' changed to 'uint64'                     |
| load\_dll\_or\_say                | load\_core\_module |  \*  |      |      | added 'entry' argument (name of plugin 'entrypoint' symbol)     |
| mem2base                          |                    |      |  \*  |      |                                                                 |
| run\_plugin                       |                    |      |      |      | argument type: 'int' changed to 'size\_t'                       |
| save\_database\_ex                | save\_database     |      |      |      |                                                                 |
| set\_database\_flag               |                    |      |      |      | to be used instead of 'database\_flags'                         |
| set\_path                         |                    |      |      |      | to be used instead of 'idb\_path'                               |
| unhook\_from\_notification\_point |                    |      |      |      | moved to idp.hpp                                                |

#### moves.hpp

NOTE: 'curloc\_t' and 'location\_t' have been replaced by 'lochist\_t'.

| original name                 | new name                              |
| ----------------------------- | ------------------------------------- |
| curloc\_get                   | <**removed**>                         |
| curloc\_get\_entry            | <**removed**>                         |
| curloc\_hide\_if\_necessary   | <**removed**>                         |
| curloc\_jump                  | <**removed**>                         |
| curloc\_jump\_push            | <**removed**>                         |
| curloc\_linkTo                | <**removed**>                         |
| curloc\_mark                  | <**removed**>                         |
| curloc\_markdesc              | <**removed**>                         |
| curloc\_markedpos             | <**removed**>                         |
| curloc\_pop                   | <**removed**>                         |
| curloc\_unhide\_if\_necessary | <**removed**>                         |
| location\_get                 | <**removed**>                         |
| location\_get\_entry          | <**removed**>                         |
| location\_jump                | <**removed**>                         |
| location\_linkTo              | <**removed**>                         |
| location\_mark                | <**removed**>                         |
| location\_pop                 | <**removed**>                         |
| location\_push\_and\_jump     | <**removed**>                         |
| <**added**>                   | graph\_location\_info\_t::deserialize |
| <**added**>                   | graph\_location\_info\_t::serialize   |
| <**added**>                   | renderer\_info\_pos\_t::deserialize   |
| <**added**>                   | renderer\_info\_pos\_t::serialize     |

#### nalt.hpp

NOTE: global variable 'import\_node' has been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                               | new name                      | \[1] | \[2] | Notes                                                                                   |
| ------------------------------------------- | ----------------------------- | :--: | :--: | --------------------------------------------------------------------------------------- |
| \_del\_item\_color                          | <**removed**>                 |      |      |                                                                                         |
| \_del\_strid                                | <**removed**>                 |      |      |                                                                                         |
| \_set\_item\_color                          | <**removed**>                 |      |      |                                                                                         |
| \_set\_item\_color                          | <**removed**>                 |      |      |                                                                                         |
| \_set\_strid                                | <**removed**>                 |      |      |                                                                                         |
| del\_\_segtrans                             | <**removed**>                 |      |      |                                                                                         |
| del\_enum\_id0                              | <**removed**>                 |      |      |                                                                                         |
| del\_enum\_id1                              | <**removed**>                 |      |      |                                                                                         |
| del\_fop1                                   | <**removed**>                 |      |      |                                                                                         |
| del\_fop2                                   | <**removed**>                 |      |      |                                                                                         |
| del\_fop3                                   | <**removed**>                 |      |      |                                                                                         |
| del\_fop4                                   | <**removed**>                 |      |      |                                                                                         |
| del\_fop5                                   | <**removed**>                 |      |      |                                                                                         |
| del\_fop6                                   | <**removed**>                 |      |      |                                                                                         |
| del\_graph\_groups0                         | <**removed**>                 |      |      |                                                                                         |
| del\_jumptable class="table table-sm"\_info | <**removed**>                 |      |      |                                                                                         |
| del\_linnum0                                | <**removed**>                 |      |      |                                                                                         |
| del\_manual\_insn0                          | <**removed**>                 |      |      |                                                                                         |
| del\_nalt\_cmt                              | <**removed**>                 |      |      |                                                                                         |
| del\_nalt\_rptcmt                           | <**removed**>                 |      |      |                                                                                         |
| del\_stroff0                                | <**removed**>                 |      |      |                                                                                         |
| del\_stroff1                                | <**removed**>                 |      |      |                                                                                         |
| del\_wide\_value                            | <**removed**>                 |      |      |                                                                                         |
| get\_\_segtrans                             | <**removed**>                 |      |      |                                                                                         |
| get\_auto\_plugins                          | <**removed**>                 |      |      |                                                                                         |
| get\_custom\_refinfos                       | <**removed**>                 |      |      | use 'get\_refinfo\_descs' instead                                                       |
| get\_enum\_id0                              | <**removed**>                 |      |      |                                                                                         |
| get\_enum\_id1                              | <**removed**>                 |      |      |                                                                                         |
| get\_fop1                                   | <**removed**>                 |      |      |                                                                                         |
| get\_fop2                                   | <**removed**>                 |      |      |                                                                                         |
| get\_fop3                                   | <**removed**>                 |      |      |                                                                                         |
| get\_fop4                                   | <**removed**>                 |      |      |                                                                                         |
| get\_fop5                                   | <**removed**>                 |      |      |                                                                                         |
| get\_fop6                                   | <**removed**>                 |      |      |                                                                                         |
| get\_graph\_groups0                         | <**removed**>                 |      |      |                                                                                         |
| get\_jumptable class="table table-sm"\_info | <**removed**>                 |      |      |                                                                                         |
| get\_linnum0                                | <**removed**>                 |      |      |                                                                                         |
| get\_manual\_insn0                          | <**removed**>                 |      |      |                                                                                         |
| get\_nalt\_cmt                              | <**removed**>                 |      |      |                                                                                         |
| get\_nalt\_rptcmt                           | <**removed**>                 |      |      |                                                                                         |
| get\_stroff0                                | <**removed**>                 |      |      |                                                                                         |
| get\_stroff1                                | <**removed**>                 |      |      |                                                                                         |
| get\_wide\_value                            | <**removed**>                 |      |      |                                                                                         |
| is\_unicode                                 | <**removed**>                 |      |      | use 'get\_strtype\_bpu' instead                                                         |
| set\_\_segtrans                             | <**removed**>                 |      |      |                                                                                         |
| set\_auto\_plugins                          | <**removed**>                 |      |      |                                                                                         |
| set\_enum\_id0                              | <**removed**>                 |      |      |                                                                                         |
| set\_enum\_id1                              | <**removed**>                 |      |      |                                                                                         |
| set\_fop1                                   | <**removed**>                 |      |      |                                                                                         |
| set\_fop2                                   | <**removed**>                 |      |      |                                                                                         |
| set\_fop3                                   | <**removed**>                 |      |      |                                                                                         |
| set\_fop4                                   | <**removed**>                 |      |      |                                                                                         |
| set\_fop5                                   | <**removed**>                 |      |      |                                                                                         |
| set\_fop6                                   | <**removed**>                 |      |      |                                                                                         |
| set\_graph\_groups0                         | <**removed**>                 |      |      |                                                                                         |
| set\_jumptable class="table table-sm"\_info | <**removed**>                 |      |      |                                                                                         |
| set\_linnum0                                | <**removed**>                 |      |      |                                                                                         |
| set\_manual\_insn0                          | <**removed**>                 |      |      |                                                                                         |
| set\_nalt\_cmt                              | <**removed**>                 |      |      |                                                                                         |
| set\_nalt\_rptcmt                           | <**removed**>                 |      |      |                                                                                         |
| set\_stroff0                                | <**removed**>                 |      |      |                                                                                         |
| set\_stroff1                                | <**removed**>                 |      |      |                                                                                         |
| set\_wide\_value                            | <**removed**>                 |      |      |                                                                                         |
| <**added**>                                 | clr\_notproc                  |      |      |                                                                                         |
| <**added**>                                 | delete\_imports               |      |      | to be used instead of 'auto\_display'                                                   |
| <**added**>                                 | ea2node                       |      |      |                                                                                         |
| <**added**>                                 | find\_custom\_refinfo         |      |      |                                                                                         |
| <**added**>                                 | get\_abi\_name                |      |      |                                                                                         |
| <**added**>                                 | get\_archive\_path            |      |      |                                                                                         |
| <**added**>                                 | get\_custom\_refinfo          |      |      |                                                                                         |
| <**added**>                                 | get\_custom\_refinfo\_handler |      |      |                                                                                         |
| <**added**>                                 | get\_encoding\_bpu            |      |      |                                                                                         |
| <**added**>                                 | get\_gotea                    |      |      |                                                                                         |
| <**added**>                                 | get\_refinfo\_descs           |      |      |                                                                                         |
| <**added**>                                 | get\_strtype\_bpu             |      |      |                                                                                         |
| <**added**>                                 | getnode                       |      |      |                                                                                         |
| <**added**>                                 | is\_notproc                   |      |      |                                                                                         |
| <**added**>                                 | is\_reftype\_target\_optional |      |      |                                                                                         |
| <**added**>                                 | node2ea                       |      |      |                                                                                         |
| <**added**>                                 | set\_archive\_path            |      |      |                                                                                         |
| <**added**>                                 | set\_gotea                    |      |      |                                                                                         |
| <**added**>                                 | set\_notproc                  |      |      |                                                                                         |
| change\_encoding\_name                      | rename\_encoding              |      |      |                                                                                         |
| del\_switch\_info\_ex                       | del\_switch\_info             |      |      |                                                                                         |
| del\_tinfo2                                 | del\_tinfo                    |      |      |                                                                                         |
| del\_tinfo2(,n)                             | del\_op\_tinfo                |      |      |                                                                                         |
| get\_array\_parameters                      |                               |  \*  |      | removed 'bufsize' argument                                                              |
| get\_asm\_inc\_file                         |                               |      |  \*  |                                                                                         |
| get\_custom\_data\_type\_ids                |                               |  \*  |      | removed 'bufsize' argument                                                              |
| get\_default\_encoding\_idx                 |                               |      |      | argument type: 'int32' changed to 'int'                                                 |
| get\_encodings\_count                       | get\_encoding\_qty            |      |      |                                                                                         |
| get\_import\_module\_name                   |                               |   q  |  \*  |                                                                                         |
| get\_op\_tinfo2                             | get\_op\_tinfo                |  \*  |      |                                                                                         |
| get\_refinfo                                |                               |  \*  |      |                                                                                         |
| get\_str\_type\_code                        |                               |      |      | return type changed from 'char' to 'uchar'; argument type: 'uval\_t' changed to 'int32' |
| get\_strid                                  |                               |      |      | return type changed from 'ea\_t' to 'tid\_t'                                            |
| get\_switch\_info\_ex                       | get\_switch\_info             |  \*  |      | removed 'bufsize' argument                                                              |
| get\_tinfo2                                 | get\_tinfo                    |  \*  |      |                                                                                         |
| get\_xrefpos                                |                               |  \*  |      | removed 'bufsize' argument                                                              |
| read\_struc\_path                           |                               |  \*  |      | argument type: 'netnode' changed to 'ea\_t'                                             |
| set\_default\_encoding\_idx                 |                               |      |      | argument type: 'int32' changed to 'int'                                                 |
| set\_op\_tinfo2                             | set\_op\_tinfo                |      |      |                                                                                         |
| set\_switch\_info\_ex                       | set\_switch\_info             |      |      | input argument changed from 'const switch\_info\_ex\_t \*' to 'const switch\_info\_t &' |
| set\_tinfo2                                 | set\_tinfo                    |      |      |                                                                                         |
| write\_struc\_path                          |                               |      |      | argument type: 'netnode' changed to 'ea\_t'                                             |

#### name.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] output argument changed from reference to pointer

| original name            | new name               | \[1] | \[2] | \[3] | Notes                                          |
| ------------------------ | ---------------------- | :--: | :--: | :--: | ---------------------------------------------- |
| gen\_name\_decl          | <**removed**>          |      |      |      | use 'outctx\_base\_t::gen\_name\_decl' instead |
| <**added**>              | is\_strlit\_cp         |      |      |      |                                                |
| <**added**>              | is\_valid\_cp          |      |      |      |                                                |
| <**added**>              | set\_cp\_validity      |      |      |      |                                                |
| append\_struct\_fields2  | append\_struct\_fields |  \*  |      |      |                                                |
| demangle\_name2          | demangle\_name         |      |      |      |                                                |
| do\_name\_anyway         | force\_name            |      |      |      | removed 'maxlen' argument                      |
| extract\_name2           | extract\_name          |      |      |      |                                                |
| get\_debug\_name2        | get\_debug\_name       |      |      |      |                                                |
| get\_debug\_names        |                        |  \*  |      |  \*  |                                                |
| get\_ea\_name            |                        |      |      |      | removed const from 'gtni' argument             |
| get\_name\_expr          |                        |   q  |  \*  |      |                                                |
| get\_name\_value         |                        |  \*  |      |      |                                                |
| get\_nice\_colored\_name |                        |   q  |  \*  |      |                                                |
| get\_struct\_operand     |                        |  \*  |      |      |                                                |
| get\_true\_name          | get\_name              |      |      |      |                                                |
| is\_ident\_char          | is\_ident\_cp          |      |      |      |                                                |
| is\_visible\_char        | is\_visible\_cp        |      |      |      |                                                |
| isident                  | is\_ident              |      |      |      |                                                |
| validate\_name3          | validate\_name         |      |      |      | added 'type' and 'flags' arguments             |

#### netnode.hpp

| original name          | new name                 | Notes                                                           |
| ---------------------- | ------------------------ | --------------------------------------------------------------- |
| <**added**>            | netnode::altdel\_ea      | to be used instead of 'netnode::altdel' for addresses (ea\_t)   |
| <**added**>            | netnode::altset\_ea      | to be used instead of 'netnode::altset' for addresses (ea\_t)   |
| <**added**>            | netnode::altval\_ea      | to be used instead of 'netnode::altval' for addresses (ea\_t)   |
| <**added**>            | netnode::blobsize\_ea    | to be used instead of 'netnode::blobsize' for addresses (ea\_t) |
| <**added**>            | netnode::chardel\_ea     | to be used instead of 'netnode::chardel' for addresses (ea\_t)  |
| <**added**>            | netnode::charset\_ea     | to be used instead of 'netnode::charset' for addresses (ea\_t)  |
| <**added**>            | netnode::charval\_ea     | to be used instead of 'netnode::charval' for addresses (ea\_t)  |
| <**added**>            | netnode::delblob\_ea     | to be used instead of 'netnode::delblob' for addresses (ea\_t)  |
| <**added**>            | netnode::eadel           |                                                                 |
| <**added**>            | netnode::eadel\_idx8     |                                                                 |
| <**added**>            | netnode::eaget           |                                                                 |
| <**added**>            | netnode::eaget\_idx8     |                                                                 |
| <**added**>            | netnode::easet           |                                                                 |
| <**added**>            | netnode::easet\_idx8     |                                                                 |
| <**added**>            | netnode::getblob\_ea     | to be used instead of 'netnode::getblob' for addresses (ea\_t)  |
| <**added**>            | netnode::setblob\_ea     | to be used instead of 'netnode::setblob' for addresses (ea\_t)  |
| <**added**>            | netnode::supdel\_ea      | to be used instead of 'netnode::supdel' for addresses (ea\_t)   |
| <**added**>            | netnode::supset\_ea      | to be used instead of 'netnode::supset' for addresses (ea\_t)   |
| <**added**>            | netnode::supstr\_ea      | to be used instead of 'netnode::supstr' for addresses (ea\_t)   |
| <**added**>            | netnode::supval\_ea      | to be used instead of 'netnode::supval' for addresses (ea\_t)   |
| netnode::alt1st        | netnode::altfirst        |                                                                 |
| netnode::alt1st\_idx8  | netnode::altfirst\_idx8  |                                                                 |
| netnode::altnxt        | netnode::altnext         |                                                                 |
| netnode::char1st       | netnode::charfirst       |                                                                 |
| netnode::char1st\_idx8 | netnode::charfirst\_idx8 |                                                                 |
| netnode::charnxt       | netnode::charnext        |                                                                 |
| netnode::getblob       |                          | added variants that work with 'qvector\<T> \*' and 'qstring \*' |
| netnode::hash1st       | netnode::hashfirst       | added variant that works with 'qstring \*'                      |
| netnode::hashlast      |                          | added variant that works with 'qstring \*'                      |
| netnode::hashnxt       | netnode::hashnext        | added variant that works with 'qstring \*'                      |
| netnode::hashprev      |                          | added variant that works with 'qstring \*'                      |
| netnode::hashstr       |                          | added variant that works with 'qstring \*'                      |
| netnode::sup1st        | netnode::supfirst        |                                                                 |
| netnode::sup1st\_idx8  | netnode::supfirst\_idx8  |                                                                 |
| netnode::supnxt        | netnode::supnext         |                                                                 |
| netnode::supstr        |                          | added variant that works with 'qstring \*'                      |
| netnode::valstr        |                          | added variant that works with 'qstring \*'                      |

#### offset.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] input argument 'refinfo\_t &' made const

| original name              | new name              | \[1] | \[2] | \[3] | Notes                                                    |
| -------------------------- | --------------------- | :--: | :--: | :--: | -------------------------------------------------------- |
| calc\_reference\_basevalue | <**removed**>         |      |      |      | use 'calc\_reference\_data' instead                      |
| calc\_reference\_target    | <**removed**>         |      |      |      | use 'calc\_reference\_data' instead                      |
| set\_offset                | <**removed**>         |      |      |      | use 'calc\_offset\_base' and 'op\_plain\_offset' instead |
| <**added**>                | add\_refinfo\_dref    |      |      |      |                                                          |
| <**added**>                | calc\_basevalue       |      |      |      |                                                          |
| <**added**>                | calc\_offset\_base    |      |      |      |                                                          |
| <**added**>                | calc\_reference\_data |      |      |      |                                                          |
| <**added**>                | op\_plain\_offset     |      |      |      |                                                          |
| get\_offset\_expr          |                       |   q  |  \*  |  \*  |                                                          |
| get\_offset\_expression    |                       |   q  |  \*  |      |                                                          |

#### problems.h (**RENAMED** from queue.hpp)

NOTE: 'qtype\_t' has been changed to 'problist\_id\_t'.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name           | new name             | \[1] | \[2] | Notes                                          |
| ----------------------- | -------------------- | :--: | :--: | ---------------------------------------------- |
| QueueGet                | <**removed**>        |      |      |                                                |
| get\_long\_queue\_name  | <**removed**>        |      |      | Use 'get\_problem\_name(type, true);' instead  |
| get\_short\_queue\_name | <**removed**>        |      |      | Use 'get\_problem\_name(type, false);' instead |
| mark\_ida\_decision     | <**removed**>        |      |      |                                                |
| unmark\_ida\_decision   | <**removed**>        |      |      |                                                |
| <**added**>             | get\_problem\_name   |      |      |                                                |
| QueueDel                | forget\_problem      |      |      | return type changed from 'void' to 'bool'      |
| QueueGetMessage         | get\_problem\_desc   |   q  |  \*  |                                                |
| QueueGetType            | get\_problem         |      |      |                                                |
| QueueIsPresent          | is\_problem\_present |      |      |                                                |
| QueueSet                | remember\_problem    |      |      |                                                |

#### prodir.h

| original name | new name   |
| ------------- | ---------- |
| qfindclose64  | qfindclose |
| qfindfirst64  | qfindfirst |
| qfindnext64   | qfindnext  |

#### pro.h

NOTE: global variables 'codepage' and 'oemcodepage' have been removed.

* \[1] output argument moved to beginning of argument list

| original name         | new name             | \[1] | Notes                                                                 |
| --------------------- | -------------------- | :--: | --------------------------------------------------------------------- |
| c2ustr                | <**removed**>        |      | use 'utf8\_utf16' instead                                             |
| char2oem              | <**removed**>        |      |                                                                       |
| convert\_codepage     | <**removed**>        |      |                                                                       |
| create\_hit\_counter  | <**removed**>        |      |                                                                       |
| expand\_argv          | <**removed**>        |      |                                                                       |
| get\_codepages        | <**removed**>        |      |                                                                       |
| hit\_counter\_timer   | <**removed**>        |      |                                                                       |
| oem2char              | <**removed**>        |      |                                                                       |
| reg\_hit\_counter     | <**removed**>        |      |                                                                       |
| u2cstr                | <**removed**>        |      | use 'utf16\_utf8' instead                                             |
| win\_utf2idb          | <**removed**>        |      |                                                                       |
| <**added**>           | acp\_utf8            |      |                                                                       |
| <**added**>           | change\_codepage     |      |                                                                       |
| <**added**>           | idb\_utf8            |      |                                                                       |
| <**added**>           | is\_valid\_utf8      |      |                                                                       |
| <**added**>           | put\_utf8\_char      |      |                                                                       |
| <**added**>           | qchdir               |      |                                                                       |
| <**added**>           | qustrlen             |      |                                                                       |
| <**added**>           | scr\_utf8            |      |                                                                       |
| <**added**>           | skip\_utf8           |      |                                                                       |
| <**added**>           | utf8\_scr            |      |                                                                       |
| <**added**>           | utf8\_wchar16        |      |                                                                       |
| <**added**>           | utf8\_wchar32        |      |                                                                       |
| back\_char            |                      |      | moved from kernwin.hpp                                                |
| convert\_encoding     |                      |  \*  | return type changed from 'int' to 'ssize\_t'                          |
| get\_nsec\_stamp      |                      |      | output argument changed from 'uint64 \*' to the 'uint64' return value |
| parse\_command\_line3 | parse\_command\_line |  \*  |                                                                       |
| qchsize64             | qchsize              |      |                                                                       |
| qfileexist64          | qfileexist           |      |                                                                       |
| qfilesize64           | qfilesize            |      |                                                                       |
| qfstat64              | qfstat               |      |                                                                       |
| qseek64               | qseek                |      |                                                                       |
| qstat64               | qstat                |      |                                                                       |
| qstr2user             |                      |      | moved from kernwin.hpp; added 'nsyms' argument                        |
| qtell64               | qtell                |      |                                                                       |
| qwait                 |                      |  \*  |                                                                       |
| qwait\_for\_handles   |                      |  \*  |                                                                       |
| qwait\_timed          |                      |  \*  |                                                                       |
| search\_path          |                      |  \*  |                                                                       |
| str2user              |                      |      | moved from kernwin.hpp                                                |
| unicode\_utf8         | utf16\_utf8          |      |                                                                       |
| user2qstr             |                      |      | moved from kernwin.hpp                                                |
| user2str              |                      |      | moved from kernwin.hpp                                                |
| utf8\_unicode         | utf8\_utf16          |      |                                                                       |

#### pronet.h

| original name | new name   |
| ------------- | ---------- |
| <**added**>   | qhost2addr |

#### range.h (**RENAMED** from area.hpp)

NOTE: some classes have been renamed: - 'area\_t' has been renamed to 'range\_t' - 'areavec\_t' has been renamed to 'rangevec\_t' - 'areaset\_t' has been renamed to 'rangeset\_t'

NOTE: the classes 'rangecb\_t', 'ranges\_cache\_t', and 'lock\_range' have been removed

#### registry.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name      | \[1] | \[2] | Notes                              |
| ------------------ | :--: | :--: | ---------------------------------- |
| reg\_read\_strlist |  \*  |      |                                    |
| reg\_read\_string  |   q  |  \*  | removed variant with default value |

#### search.hpp

* \[1] output argument moved to beginning of argument list

| original name | new name     | \[1] | Notes                                         |
| ------------- | ------------ | :--: | --------------------------------------------- |
| user2bin      |              |  \*  |                                               |
| find\_imm     |              |      | argument type: 'sval\_t' changed to 'uval\_t' |
| find\_void    | find\_suspop |      |                                               |

#### segment.hpp

NOTE: global variables 'hidden\_ranges', 'funcs', and 'segs' have been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] added 'flags' argument

| original name              |                          | \[1] | \[2] | \[3] | Notes                                                                                                |
| -------------------------- | ------------------------ | :--: | :--: | :--: | ---------------------------------------------------------------------------------------------------- |
| del\_segment\_cmt          | <**removed**>            |      |      |      | use 'set\_range\_cmt("")' instead                                                                    |
| vset\_segm\_name           | <**removed**>            |      |      |      |                                                                                                      |
| <**added**>                | get\_segm\_num           |      |      |      | to be used instead of 'segs.get\_range\_num()'                                                       |
| <**added**>                | lock\_segm               |      |      |      | to be used instead of 'rangecb\_t\_unlock\_range(\&segs)'                                            |
| add\_segm                  |                          |      |      |  \*  |                                                                                                      |
| ask\_selector              | sel2para                 |      |      |      |                                                                                                      |
| correct\_address           |                          |      |      |      | added 'skip\_check' argument                                                                         |
| del\_segment\_translations |                          |      |      |      | return type changed from 'bool' to 'void'                                                            |
| get\_segm\_class           |                          |   q  |  \*  |      |                                                                                                      |
| get\_segm\_name            | get\_visible\_segm\_name |      |      |      | removed variant with 'ea\_t' argument                                                                |
| get\_segment\_cmt          |                          |   q  |  \*  |      | return type changed from 'char \*' to 'ssize\_t'; added 'repeatable class="table table-sm"' argument |
| get\_segment\_translations |                          |      |      |      | return type changed from 'ea\_t \*' to 'ssize\_t'; output argument converted 'eavec\_t'              |
| get\_true\_segm\_name      | get\_segm\_name          |   q  |  \*  |  \*  |                                                                                                      |
| getn\_selector             |                          |  \*  |      |      |                                                                                                      |
| set\_segm\_class           |                          |      |      |  \*  |                                                                                                      |
| set\_segm\_name            |                          |      |      |  \*  | arguments converted from printf-style to simple 'const char \*'                                      |
| set\_segment\_cmt          |                          |      |      |      | input argument 'segment\_t \*' made const                                                            |
| set\_segment\_translations |                          |      |      |      | input argument converted to 'const eavec\_t &'                                                       |
| std\_gen\_segm\_footer     | std\_out\_segm\_footer   |      |      |      | converted to outctx\_t; input argument changed to segment\_t\*                                       |

#### segregs.hpp (**RENAMED** from srarea.hpp)

NOTE: type 'segreg\_area\_t' has been renamed to 'sreg\_range\_t'

| original name               | new name                  | Notes                                                        |
| --------------------------- | ------------------------- | ------------------------------------------------------------ |
| copy\_srareas               | copy\_sreg\_ranges        |                                                              |
| del\_srarea                 | del\_sreg\_range          | WARNING: argument order has swapped                          |
| get\_prev\_srarea           | get\_prev\_sreg\_range    | argument type: 'segreg\_area\_t' changed to 'sreg\_range\_t' |
| get\_segreg                 | get\_sreg                 |                                                              |
| get\_srarea2                | get\_sreg\_range          | argument type: 'segreg\_area\_t' changed to 'sreg\_range\_t' |
| get\_srarea\_num            | get\_sreg\_range\_num     | WARNING: argument order has swapped                          |
| get\_srareas\_qty2          | get\_sreg\_ranges\_qty    |                                                              |
| getn\_srarea2               | getn\_sreg\_range         | argument type: 'segreg\_area\_t' changed to 'sreg\_range\_t' |
| set\_default\_segreg\_value | set\_default\_sreg\_value |                                                              |
| split\_srarea               | split\_sreg\_range        |                                                              |

#### sistack.h (**REMOVED**)

| original name     | new name      |
| ----------------- | ------------- |
| sistack\_t\_size  | <**removed**> |
| sistack\_t\_flush | <**removed**> |

#### strlist.hpp

* \[1] output argument moved to beginning of argument list

| original name         | new name              | \[1] | Notes                                     |
| --------------------- | --------------------- | :--: | ----------------------------------------- |
| refresh\_strlist      | <**removed**>         |      |                                           |
| set\_strlist\_options | <**removed**>         |      |                                           |
| <**added**>           | build\_strlist        |      |                                           |
| <**added**>           | clear\_strlist        |      |                                           |
| <**added**>           | get\_strlist\_options |      |                                           |
| get\_strlist\_item    |                       |  \*  | argument type: 'int' changed to 'size\_t' |

#### struct.hpp

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                  | new name                      | \[1] | \[2] |
| ------------------------------ | ----------------------------- | :--: | :--: |
| get\_member\_by\_fullname      |                               |  \*  |      |
| get\_member\_cmt               |                               |   q  |  \*  |
| get\_member\_name2             | get\_member\_name             |      |      |
| get\_member\_tinfo2            | get\_member\_tinfo            |  \*  |      |
| get\_or\_guess\_member\_tinfo2 | get\_or\_guess\_member\_tinfo |  \*  |      |
| get\_struc\_cmt                |                               |   q  |  \*  |
| retrieve\_member\_info         |                               |  \*  |      |
| save\_struc2                   | save\_struc                   |      |      |
| set\_member\_tinfo2            | set\_member\_tinfo            |      |      |

#### tryblks.hpp (**NEW** file)

| original name | new name     |
| ------------- | ------------ |
| <**added**>   | add\_tryblk  |
| <**added**>   | del\_tryblks |
| <**added**>   | get\_tryblks |

#### typeinf.hpp

NOTE: global variable 'idati' has been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring

| original name                     | new name                | \[1] | \[2] | Notes                                                                      |
| --------------------------------- | ----------------------- | :--: | :--: | -------------------------------------------------------------------------- |
| based\_ptr\_name\_and\_size       | <**removed**>           |      |      |                                                                            |
| callregs\_init\_regs              | <**removed**>           |      |      |                                                                            |
| choose\_local\_type               | <**removed**>           |      |      |                                                                            |
| create\_numbered\_type\_reference | <**removed**>           |      |      |                                                                            |
| equal\_types                      | <**removed**>           |      |      |                                                                            |
| get\_de                           | <**removed**>           |      |      |                                                                            |
| get\_default\_enum\_size          | <**removed**>           |      |      |                                                                            |
| get\_func\_cvtarg\_map            | <**removed**>           |      |      |                                                                            |
| get\_named\_type\_size            | <**removed**>           |      |      |                                                                            |
| get\_referred\_ordinal            | <**removed**>           |      |      |                                                                            |
| get\_stkarg\_offset               | <**removed**>           |      |      |                                                                            |
| get\_unk\_type\_bit               | <**removed**>           |      |      |                                                                            |
| is\_restype\_array                | <**removed**>           |      |      |                                                                            |
| is\_restype\_bitfld               | <**removed**>           |      |      |                                                                            |
| is\_restype\_complex              | <**removed**>           |      |      |                                                                            |
| is\_restype\_const                | <**removed**>           |      |      |                                                                            |
| is\_restype\_floating             | <**removed**>           |      |      |                                                                            |
| is\_restype\_func                 | <**removed**>           |      |      |                                                                            |
| is\_restype\_ptr                  | <**removed**>           |      |      |                                                                            |
| is\_restype\_union                | <**removed**>           |      |      |                                                                            |
| max\_ptr\_size                    | <**removed**>           |      |      |                                                                            |
| rename\_named\_type               | <**removed**>           |      |      |                                                                            |
| set\_named\_type                  | <**removed**>           |      |      | use 'tinfo\_t::set\_named\_type' instead                                   |
| set\_named\_type64                | <**removed**>           |      |      | use 'tinfo\_t::set\_named\_type' instead                                   |
| <**added**>                       | append\_abi\_opts       |      |      |                                                                            |
| <**added**>                       | gcc\_layout             |      |      |                                                                            |
| <**added**>                       | get\_arg\_addrs         |      |      |                                                                            |
| <**added**>                       | get\_idati              |      |      | to be used instead of 'idati'                                              |
| <**added**>                       | remove\_abi\_opts       |      |      |                                                                            |
| <**added**>                       | resolve\_typedef        |      |      |                                                                            |
| <**added**>                       | set\_compiler\_string   |      |      |                                                                            |
| add\_til2                         | add\_til                |      |      |                                                                            |
| append\_tinfo\_covered            |                         |      |      | argument type: 'areaset\_t' has been renamed to 'rangeset\_t'              |
| apply\_callee\_tinfo              |                         |      |      | return type changed from 'void' to 'bool'                                  |
| apply\_cdecl2                     | apply\_cdecl            |      |      |                                                                            |
| apply\_tinfo2                     | apply\_tinfo            |      |      |                                                                            |
| apply\_tinfo\_to\_stkarg          |                         |      |      | added 'insn' argument                                                      |
| build\_anon\_type\_name           |                         |      |  \*  |                                                                            |
| calc\_c\_cpp\_name4               | calc\_c\_cpp\_name      |      |      |                                                                            |
| calc\_tinfo\_gaps                 |                         |      |      | argument type: 'areaset\_t' has been renamed to 'rangeset\_t'              |
| choose\_local\_tinfo              |                         |      |      | added 'def\_ord' argument                                                  |
| choose\_named\_type2              | choose\_named\_type     |  \*  |      | the original 'choose\_named\_type' has been removed                        |
| create\_numbered\_type\_name      |                         |   q  |  \*  | return type changed from 'size\_t' to 'ssize\_t'                           |
| decorate\_name3                   | decorate\_name          |      |      | added 'type' argument                                                      |
| del\_tinfo\_attr                  |                         |      |      | added 'make\_copy' argument                                                |
| deref\_ptr2                       | deref\_ptr              |  \*  |      |                                                                            |
| extract\_argloc                   |                         |  \*  |      |                                                                            |
| find\_tinfo\_udt\_member          |                         |  \*  |      |                                                                            |
| format\_cdata2                    | format\_cdata           |      |      |                                                                            |
| gen\_decorate\_name3              | gen\_decorate\_name     |      |      | the original 'gen\_decorate\_name' has been removed; added 'type' argument |
| get\_c\_header\_path              |                         |      |  \*  |                                                                            |
| get\_c\_macros                    |                         |      |  \*  |                                                                            |
| get\_enum\_member\_expr2          | get\_enum\_member\_expr |      |  \*  |                                                                            |
| get\_idainfo\_by\_type3           | get\_idainfo\_by\_type  |  \*  |      |                                                                            |
| get\_int\_type\_bit               | get\_scalar\_bt         |      |      |                                                                            |
| get\_tinfo\_pdata                 |                         |  \*  |      |                                                                            |
| get\_tinfo\_size                  |                         |  \*  |      |                                                                            |
| guess\_tinfo2                     | guess\_tinfo            |  \*  |      |                                                                            |
| load\_til2                        | load\_til               |      |  \*  | the original 'load\_til' has been removed; added 'tildir' argument         |
| load\_til\_header                 |                         |      |  \*  |                                                                            |
| lower\_type2                      | lower\_type             |      |      |                                                                            |
| optimize\_argloc                  |                         |      |      | argument type: 'areaset\_t' has been renamed to 'rangeset\_t'              |
| parse\_decl2                      | parse\_decl             |   q  |      |                                                                            |
| print\_type3                      | print\_type             |      |      |                                                                            |
| remove\_tinfo\_pointer            |                         |  \*  |      |                                                                            |
| save\_tinfo                       |                         |  \*  |      |                                                                            |
| set\_abi\_name                    |                         |      |      | added 'user\_level' argument                                               |
| set\_compiler2                    | set\_compiler           |      |      |                                                                            |
| set\_numbered\_type               |                         |      |      | return type changed from 'bool' to 'tinfo\_code\_t'                        |
| verify\_argloc                    |                         |      |      | argument type: 'areaset\_t' has been renamed to 'rangeset\_t'              |

#### ua.hpp

WARNING: The global variables 'cmd' and 'uFlag' are gone.

All functions previously operating on 'cmd' now accept an 'insn\_t' pointer or reference. Use get\_flags() (or, if you really need it, get\_full\_flags()) to read the current flags.

NOTE: The maximum number of instruction operands (UA\_MAXOP) has increased to 8.

NOTE: class 'outctx\_base\_t' has been added to replace functions that generate the disassembly text

NOTE: global variable 'lookback' has been removed.

* \[1] output argument moved to beginning of argument list
  * q: argument is a qstring
* \[2] output buffer converted to qstring
* \[3] added input/output 'insn\_t \&insn' argument
* \[4] added input 'const insn\_t \&insn' argument
* \[5] added output 'insn\_t \*out' argument

| original name                                | new name             | \[1] | \[2] | \[3] | \[4] | \[5] | Notes                                                                           |
| -------------------------------------------- | -------------------- | :--: | :--: | :--: | :--: | :--: | ------------------------------------------------------------------------------- |
| OutBadInstruction                            | <**removed**>        |      |      |      |      |      |                                                                                 |
| OutChar                                      | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_char' instead                                        |
| OutImmChar                                   | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_immchar\_cmts' instead                               |
| OutLine                                      | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_line' instead                                        |
| OutLong                                      | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_btoa' instead                                        |
| OutMnem                                      | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_mnem' instead                                        |
| OutValue                                     | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_value' instead                                       |
| get\_output\_ptr                             | <**removed**>        |      |      |      |      |      |                                                                                 |
| init\_output\_buffer                         | <**removed**>        |      |      |      |      |      |                                                                                 |
| out\_addr\_tag                               | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_addr\_tag' instead                                   |
| out\_colored\_register\_line                 | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_colored\_register\_line' instead                     |
| out\_insert                                  | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::outbuf' directly instead                                  |
| out\_line                                    | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_line' instead                                        |
| out\_long                                    | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_long' instead                                        |
| out\_name\_expr                              | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_name\_expr' instead                                  |
| out\_one\_operand                            | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_one\_operand' instead                                |
| out\_snprintf                                | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_printf' instead                                      |
| out\_symbol                                  | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_symbol' instead                                      |
| out\_tagoff                                  | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_tagoff' instead                                      |
| out\_tagon                                   | <**removed**>        |      |      |      |      |      | use 'outctx\_base\_t::out\_tagon' instead                                       |
| set\_output\_ptr                             | <**removed**>        |      |      |      |      |      |                                                                                 |
| term\_output\_buffer                         | <**removed**>        |      |      |      |      |      |                                                                                 |
| ua\_dodata2                                  | <**removed**>        |      |      |      |      |      | use 'insn\_t::create\_op\_data' instead                                         |
| ua\_next\_byte                               | <**removed**>        |      |      |      |      |      | use 'insn\_t::get\_next\_byte' instead                                          |
| ua\_next\_long                               | <**removed**>        |      |      |      |      |      | use 'insn\_t::get\_next\_dword' instead                                         |
| ua\_next\_qword                              | <**removed**>        |      |      |      |      |      | use 'insn\_t::get\_next\_qword' instead                                         |
| ua\_next\_word                               | <**removed**>        |      |      |      |      |      | use 'insn\_t::get\_next\_word' instead                                          |
| <**added**>                                  | can\_decode          |      |      |      |      |      |                                                                                 |
| <**added**>                                  | create\_outctx       |      |      |      |      |      |                                                                                 |
| <**added**>                                  | get\_lookback        |      |      |      |      |      | to be used instead of 'lookback'                                                |
| <**added**>                                  | map\_ea              |      |      |      |      |      |                                                                                 |
| codeSeg                                      | map\_code\_ea        |      |      |      |  \*  |      | input arguments changed to either 'const op\_t \&op' or 'ea\_t addr, int opnum' |
| construct\_macro                             |                      |      |      |  \*  |      |      |                                                                                 |
| create\_insn                                 |                      |      |      |      |      |  \*  |                                                                                 |
| dataSeg, dataSeg\_op                         | map\_data\_ea        |      |      |      |  \*  |      | input arguments changed to either 'const op\_t \&op' or 'ea\_t addr, int opnum' |
| dataSeg\_opreg                               | calc\_dataseg        |      |      |      |  \*  |      |                                                                                 |
| decode\_insn                                 |                      |      |      |      |      |  \*  |                                                                                 |
| decode\_preceding\_insn                      |                      |      |      |      |      |  \*  |                                                                                 |
| decode\_prev\_insn                           |                      |      |      |      |      |  \*  |                                                                                 |
| get\_dtyp\_by\_size                          | get\_dtype\_by\_size |      |      |      |      |      | return type changed from 'char' to 'op\_dtype\_t'                               |
| get\_dtyp\_flag                              | get\_dtype\_flag     |      |      |      |      |      | argument type: 'char' changed to 'op\_dtype\_t'                                 |
| get\_dtyp\_size                              | get\_dtype\_size     |      |      |      |      |      | argument type: 'char' changed to 'op\_dtype\_t'                                 |
| get\_operand\_immvals                        | get\_immvals         |  \*  |      |      |      |      | added 'flags\_t' and 'cache' arguments                                          |
| get\_spoiled\_reg                            |                      |      |      |      |  \*  |      |                                                                                 |
| guess\_table class="table table-sm"\_address |                      |      |      |      |  \*  |      |                                                                                 |
| guess\_table class="table table-sm"\_size    |                      |      |      |      |  \*  |      |                                                                                 |
| out\_real                                    | print\_fpval         |  \*  |      |      |      |      |                                                                                 |
| showAsChar                                   | print\_charlit       |  \*  |      |      |      |      |                                                                                 |
| ua\_add\_cref                                | <**removed**>        |      |      |      |      |      | use 'insn\_t::add\_cref' instead                                                |
| ua\_add\_dref                                | <**removed**>        |      |      |      |      |      | use 'insn\_t::add\_dref' instead                                                |
| ua\_add\_off\_drefs2                         | <**removed**>        |      |      |      |      |      | use 'insn\_t::add\_off\_drefs' instead                                          |
| ua\_mnem                                     | print\_insn\_mnem    |   q  |  \*  |      |      |      |                                                                                 |
| ua\_outop2                                   | print\_operand       |   q  |  \*  |      |      |      | added 'printop\_t' argument                                                     |
| ua\_stkvar2                                  | <**removed**>        |      |      |      |      |      | use 'insn\_t::create\_stkvar' instead                                           |

#### xref.hpp

* \[1] output argument moved to beginning of argument list
* \[2] input argument changed from pointer to reference

| original name                                | \[1] | \[2] |
| -------------------------------------------- | :--: | :--: |
| calc\_switch\_cases                          |  \*  |  \*  |
| create\_switch\_table class="table table-sm" |      |  \*  |
| create\_switch\_xrefs                        |      |  \*  |
