mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-22 03:31:34 +00:00
define the obj structs needed for the runtime
This commit is contained in:
parent
9b516ff84f
commit
69894d96c4
2 changed files with 106 additions and 0 deletions
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
typedef int func_t;
|
typedef int func_t;
|
||||||
typedef int string_t;
|
typedef int string_t;
|
||||||
|
typedef int pointer_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ev_void,
|
ev_void,
|
||||||
|
|
105
include/QF/pr_obj.h
Normal file
105
include/QF/pr_obj.h
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
/*
|
||||||
|
pr_obj.h
|
||||||
|
|
||||||
|
progs obj support
|
||||||
|
|
||||||
|
Copyright (C) 2002 Bill Currie <bill@taniwha.org>
|
||||||
|
|
||||||
|
Author: Bill Currie <bill@taniwha.org>
|
||||||
|
Date: 2002/5/10
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to:
|
||||||
|
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
59 Temple Place - Suite 330
|
||||||
|
Boston, MA 02111-1307, USA
|
||||||
|
|
||||||
|
$Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __pr_obj_h
|
||||||
|
#define __pr_obj_h
|
||||||
|
|
||||||
|
#include "QF/pr_comp.h"
|
||||||
|
|
||||||
|
typedef struct pr_sel_s {
|
||||||
|
pointer_t sel_id;
|
||||||
|
string_t sel_types;
|
||||||
|
} pr_sel_t;
|
||||||
|
|
||||||
|
typedef struct pr_id_s {
|
||||||
|
pointer_t class_pointer; // pr_class_t
|
||||||
|
} pr_id_t;
|
||||||
|
|
||||||
|
typedef struct pr_class_s {
|
||||||
|
pointer_t class_pointer; // pr_class_t
|
||||||
|
pointer_t super_class; // pr_class_t
|
||||||
|
string_t name;
|
||||||
|
int version;
|
||||||
|
int info;
|
||||||
|
int instance_size;
|
||||||
|
pointer_t ivars; // pr_ivar_list_t
|
||||||
|
pointer_t methods; // pr_method_list_t
|
||||||
|
pointer_t dtable;
|
||||||
|
pointer_t subclass_list; // pr_class_t
|
||||||
|
pointer_t sibling_class; // pr_class_t
|
||||||
|
pointer_t protocols; // pr_protocol_list_t
|
||||||
|
pointer_t gc_object_type;
|
||||||
|
} pr_class_t;
|
||||||
|
|
||||||
|
typedef struct pr_protocol_s {
|
||||||
|
pointer_t class_pointer; // pr_class_t
|
||||||
|
string_t protocol_name;
|
||||||
|
pointer_t protocol_list; // pr_protocol_list_t
|
||||||
|
pointer_t instance_methods; // pr_method_list_t
|
||||||
|
pointer_t class_methods; // pr_method_list_t
|
||||||
|
} pr_protocol_t;
|
||||||
|
|
||||||
|
typedef struct pr_category_s {
|
||||||
|
string_t category_name;
|
||||||
|
string_t class_name;
|
||||||
|
pointer_t instance_methods; // pr_method_list_t
|
||||||
|
pointer_t class_methods; // pr_method_list_t
|
||||||
|
pointer_t protocols; // pr_protocol_list_t
|
||||||
|
} pr_category_t;
|
||||||
|
|
||||||
|
typedef pr_protocol_list_s {
|
||||||
|
pointer_t next;
|
||||||
|
int count;
|
||||||
|
pointer_t list[1];
|
||||||
|
} pr_protocol_list_t;
|
||||||
|
|
||||||
|
typedef pr_method_list_s {
|
||||||
|
pointer_t method_next;
|
||||||
|
int method_count;
|
||||||
|
struct pr_method_s {
|
||||||
|
SEL method_name;
|
||||||
|
string_t method_types;
|
||||||
|
func_t method_imp; // typedef id (id, SEL, ...) IMP
|
||||||
|
} method_list[1];
|
||||||
|
} pr_method_list_t;
|
||||||
|
typedef pr_method_s pr_method_t;
|
||||||
|
|
||||||
|
typedef pr_ivar_list_s {
|
||||||
|
int ivar_count;
|
||||||
|
struct pr_ivar_s {
|
||||||
|
string_t ivar_name;
|
||||||
|
string_t ivar_type;
|
||||||
|
int ivar_offset;
|
||||||
|
} ivar_list[1];
|
||||||
|
} pr_ivar_list_t;
|
||||||
|
typedef pr_ivar_s pr_ivar_t;
|
||||||
|
|
||||||
|
#endif//__pr_obj_h
|
Loading…
Reference in a new issue