IDA SDK

- Main Page
- Header Files
- Classes
- Modules

Macros
Fixup flags

## Detailed Description

Used by fixup_data_t::type.

## Macros
#define | FIXUP_MASK 0xF
| type mask
#define | FIXUP_OFF8 0
| 8-bit offset
#define | FIXUP_OFF16 1
| 16-bit offset
#define | FIXUP_SEG16 2
| 16-bit base–logical segment base (selector)
#define | FIXUP_PTR16 3
| 32-bit long pointer (16-bit base:16-bit More...
#define | FIXUP_OFF32 4
| 32-bit offset
#define | FIXUP_PTR32 5
| 48-bit pointer (16-bit base:32-bit offset)
#define | FIXUP_HI8 6
| high 8 bits of 16bit offset
#define | FIXUP_HI16 7
| high 16 bits of 32bit offset
#define | FIXUP_LOW8 8
| low 8 bits of 16bit offset
#define | FIXUP_LOW16 9
| low 16 bits of 32bit offset
#define | FIXUP_VHIGH 0xA
| high processor_t::high_fixup_bits of 32bit offset
#define | FIXUP_VLOW 0xB
| low processor_t::high_fixup_bits of 32bit offset
#define | FIXUP_OFF64 0xC
| 64-bit offset
#define | FIXUP_CUSTOM 0xF
| fixup is processed by processor module
#define | FIXUP_REL 0x10
| fixup is relative to the linear address specified in the 3d parameter to set_fixup()
#define | FIXUP_SELFREL 0x0
| self-relative? More...
#define | FIXUP_EXTDEF 0x20
| target is a location (otherwise - segment). More...
#define | FIXUP_UNUSED 0x40
| fixup is ignored by IDA More...
#define | FIXUP_CREATED 0x80
| fixup was not present in the input file

## Macro Definition Documentation

#define FIXUP_PTR16 3

32-bit long pointer (16-bit base:16-bit

offset)

#define FIXUP_SELFREL 0x0

self-relative?

- disallows the kernel to convert operands in the first pass
- this fixup is used during output

This type of fixup is not used anymore. Anyway you can use it for commenting purposes in the loader modules.

#define FIXUP_EXTDEF 0x20

target is a location (otherwise - segment).

Use this bit if the target is a symbol rather than an offset from the beginning of a segment.

#define FIXUP_UNUSED 0x40

fixup is ignored by IDA

- disallows the kernel to convert operands
- this fixup is not used during output