QuakeForge  0.7.2.210-815cf
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
obj_file.h File Reference
This graph shows which files directly or indirectly include this file:

Data Structures

struct  qfo_def_s
 Representation of a def in the object file. More...
 
struct  qfo_func_s
 Representation of a function in the object file. More...
 
struct  qfo_header_s
 Header block of QFO object files. More...
 
struct  qfo_mspace_s
 In-memory representation of a QFO space. More...
 
struct  qfo_reloc_s
 Evil source of many headaches. More...
 
struct  qfo_s
 In-memory representation of a QFO object file. More...
 
struct  qfo_space_s
 Representation of a space in the object file. More...
 

Macros

#define QFO
 Identifier string for qfo object files (includes terminating nul) More...
 
#define QFO_FLOAT(q, s, o)
 Access a float variable in the object file. More...
 
#define QFO_FUNCTION(q, s, o)
 Access a function variable in the object file. More...
 
#define QFO_GETSTR(q, s)
 Retrieve a string from the object file, converting it to a C string. More...
 
#define QFO_GSTRING(q, s, o)
 Access a string global, converting it to a C string. More...
 
#define QFO_INT(q, s, o)
 Access a integer variable in the object file. More...
 
#define QFO_POINTER(q, s, t, o)
 Access a block of memory in the object file as a C struct. More...
 
#define QFO_STATEMENT(q, s)   ((q)->spaces[qfo_code_space].d.code + (s))
 
#define QFO_STRING(q, s, o)
 Access a string index variable in the object file. More...
 
#define QFO_STRUCT(q, s, t, o)
 Access a structure variable in the object file. More...
 
#define QFO_TYPE(q, t)
 
#define QFO_TYPEMETA(q, t)   QFO_INT (q, qfo_type_space, (t) + 0)
 
#define QFO_TYPESTR(q, t)
 Retrieve a type string from the object file, converting it to a C string. More...
 
#define QFO_TYPETYPE(q, t)   QFO_INT (q, qfo_type_space, (t) + 3)
 
#define QFO_var(q, s, t, o)   ((q)->spaces[s].d.data[o].t##_var)
 
#define QFO_VECTOR(q, s, o)
 Access a vector variable in the object file. More...
 
#define QFO_VERSION
 QFO object file format version (MMmmmRRR 0.001.006 (hex)) More...
 
#define QFOD_ABSOLUTE
 The def offset is an absolute address. More...
 
#define QFOD_CONSTANT
 The def is a shared constant and must not be modified. More...
 
#define QFOD_EXTERNAL
 The def is undefined and need to be supplied by another object file. More...
 
#define QFOD_GLOBAL
 The def is visible to other object files. More...
 
#define QFOD_INITIALIZED
 The def has been initialized. More...
 
#define QFOD_LOCAL
 The def is local to a function and is not visible to other functions or object files. More...
 
#define QFOD_NOSAVE
 The def does not need to be saved when saving game state. More...
 
#define QFOD_PARAM
 The def is a parameter to a function and is considered to be initialized. More...
 
#define QFOD_SYSTEM
 The def is a system def and needs to be allocated before other defs. More...
 

Typedefs

typedef struct qfo_def_s qfo_def_t
 Representation of a def in the object file. More...
 
typedef struct qfo_func_s qfo_func_t
 Representation of a function in the object file. More...
 
typedef struct qfo_header_s qfo_header_t
 Header block of QFO object files. More...
 
typedef struct qfo_mspace_s qfo_mspace_t
 In-memory representation of a QFO space. More...
 
typedef struct qfo_reloc_s qfo_reloc_t
 Evil source of many headaches. More...
 
typedef struct qfo_space_s qfo_space_t
 Representation of a space in the object file. More...
 
typedef struct qfo_s qfo_t
 In-memory representation of a QFO object file. More...
 
typedef enum qfos_type_e qfos_type_t
 

Enumerations

enum  {
  qfo_null_space, qfo_strings_space, qfo_code_space, qfo_near_data_space,
  qfo_far_data_space, qfo_entity_space, qfo_type_space, qfo_num_spaces
}
 
enum  qfos_type_e {
  qfos_null, qfos_code, qfos_data, qfos_string,
  qfos_entity, qfos_type
}
 

Functions

void qfo_delete (qfo_t *qfo)
 Delete a qfo_t struct, as well as any substructure data. More...
 
qfo_tqfo_from_progs (struct pr_info_s *pr)
 Convert pr_info_t structure to qfo_t. More...
 
qfo_tqfo_new (void)
 Create a new qfo_t struct. More...
 
qfo_tqfo_open (const char *filename)
 Wrapper around qfo_read() to allow reading from a named file. More...
 
qfo_tqfo_read (QFile *file)
 Read a qfo_t strcut from a QFile stream. More...
 
dprograms_tqfo_to_progs (qfo_t *qfo, int *size)
 
pr_debug_header_tqfo_to_sym (qfo_t *qfo, int *size)
 
int qfo_write (qfo_t *qfo, const char *filename)
 Write a qfo_t struct to the named file. More...