GEL  0.99
gel_public.h File Reference
#include <gel/common.h>
#include <gel/types.h>
#include "gel_base_public.h"
#include "gel_load_public.h"
#include "cursor.h"
#include <gel/file.h>
#include "util.h"

Go to the source code of this file.

Macros

#define GEL_VADDR2VRELOC(f, a)   ((a) + (f).base_vaddr)
 
#define GEL_VRELOC2VADDR(f, a)   ((a) - (f).base_vaddr)
 
#define GEL_VADDR2RADDR(f, a)   ((a) + (u8_t *)(f).base_raddr)
 
#define GEL_RADDR2VADDR(f, a)   ((u32_t)(a) - (f).base_raddr)
 
#define GEL_VRELOC2RADDR(f, a)   (VADDR2RADDR((f),VRELOC2VADDR((f),(a))))
 
#define GEL_RADDR2VRELOC(f, a)   (VADDR2VRELOC((f),RADDR2VADDR((f),(a))))
 
#define GEL_BIG_ENDIAN   2
 
#define GEL_LITTLE_ENDIAN   1
 
#define SWAP2(x)   ((((x) & 0xFF) << 8) | (((x) & 0xFF00 ) >> 8))
 
#define SWAP4(x)   ((((SWAP2((x) & 0xFFFF))) << 16) | SWAP2(((x) & 0xFFFF0000) >> 16))
 
#define ENDIAN2(e, v)   (((e) == GEL_LITTLE_ENDIAN) ? (v) : SWAP2(v))
 
#define ENDIAN4(e, v)   (((e) == GEL_LITTLE_ENDIAN) ? (v) : SWAP4(v))
 

Macro Definition Documentation

◆ ENDIAN2

#define ENDIAN2 (   e,
 
)    (((e) == GEL_LITTLE_ENDIAN) ? (v) : SWAP2(v))

◆ ENDIAN4

#define ENDIAN4 (   e,
 
)    (((e) == GEL_LITTLE_ENDIAN) ? (v) : SWAP4(v))

◆ GEL_BIG_ENDIAN

#define GEL_BIG_ENDIAN   2

◆ GEL_LITTLE_ENDIAN

#define GEL_LITTLE_ENDIAN   1

◆ GEL_RADDR2VADDR

#define GEL_RADDR2VADDR (   f,
 
)    ((u32_t)(a) - (f).base_raddr)

Convert an actual address in a virtual address.

◆ GEL_RADDR2VRELOC

#define GEL_RADDR2VRELOC (   f,
 
)    (VADDR2VRELOC((f),RADDR2VADDR((f),(a))))

Convert a relocated virtual address in an actual address.

◆ GEL_VADDR2RADDR

#define GEL_VADDR2RADDR (   f,
 
)    ((a) + (u8_t *)(f).base_raddr)

Convert a virtual address in an actual address.

◆ GEL_VADDR2VRELOC

#define GEL_VADDR2VRELOC (   f,
 
)    ((a) + (f).base_vaddr)

Convert a virtual address in a relocated virtual address.

◆ GEL_VRELOC2RADDR

#define GEL_VRELOC2RADDR (   f,
 
)    (VADDR2RADDR((f),VRELOC2VADDR((f),(a))))

Convert an actual address in a relocated virtual address.

◆ GEL_VRELOC2VADDR

#define GEL_VRELOC2VADDR (   f,
 
)    ((a) - (f).base_vaddr)

Convert a relocated virtual address in a simple virtual address.

◆ SWAP2

#define SWAP2 (   x)    ((((x) & 0xFF) << 8) | (((x) & 0xFF00 ) >> 8))

◆ SWAP4

#define SWAP4 (   x)    ((((SWAP2((x) & 0xFFFF))) << 16) | SWAP2(((x) & 0xFFFF0000) >> 16))