mirror of
https://github.com/elliotnunn/NetBoot.git
synced 2024-12-22 16:30:08 +00:00
48 lines
780 B
C
48 lines
780 B
C
/*
|
|
* vobjdump
|
|
* Views the contents of a VOBJ file.
|
|
* Written by Frank Wille <frank@phoenix.owl.de>.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <stdint.h>
|
|
|
|
/* symbol types */
|
|
#define LABSYM 1
|
|
#define IMPORT 2
|
|
#define EXPRESSION 3
|
|
|
|
/* symbol flags */
|
|
#define TYPE(sym) ((sym)->flags&7)
|
|
#define TYPE_UNKNOWN 0
|
|
#define TYPE_OBJECT 1
|
|
#define TYPE_FUNCTION 2
|
|
#define TYPE_SECTION 3
|
|
#define TYPE_FILE 4
|
|
|
|
#define EXPORT 8
|
|
#define INEVAL 16
|
|
#define COMMON 32
|
|
#define WEAK 64
|
|
|
|
|
|
typedef int64_t taddr;
|
|
typedef uint8_t ubyte;
|
|
|
|
struct vobj_symbol {
|
|
size_t offs;
|
|
const char *name;
|
|
int type,flags,sec,size;
|
|
taddr val;
|
|
};
|
|
|
|
struct vobj_section {
|
|
size_t offs;
|
|
const char *name;
|
|
taddr dsize,fsize;
|
|
};
|
|
|
|
#define makemask(x) ((taddr)(1LL<<(x))-1)
|