#ifndef DBX_CLASS_H
#define DBX_CLASS_H 1



dbx_class *new_class YARGS((void));
char *class_name YARGS((dbx_class * pc));
int once_class YARGS((dbx_class * pc));
dbx_type *class_type YARGS((dbx_class * pc));
unsigned class_beginline YARGS((dbx_class * pc));
unsigned class_endline YARGS((dbx_class * pc));
dbx_class *next_class YARGS((dbx_class * pc)); /* _of_module */
dbx_class *prev_class YARGS((dbx_class * pc)); /* _of_module */
dbx_module *class_module YARGS((dbx_class * pc));
dbx_field *first_field YARGS((dbx_class * pc)); /* _of_class */
dbx_field *last_field YARGS((dbx_class * pc)); /* _of_class */
struct dbx_method *first_method YARGS((dbx_class * pc)); /* _of_class */
struct dbx_method *last_method YARGS((dbx_class * pc)); /* _of_class */
obj_ptr *class_once_ptr YARGS((dbx_class * pc));

dbx_class *find_next_class YARGS((dbx_class *pc,char *pattern));
dbx_class *find_prev_class YARGS((dbx_class *pc,char *pattern));
dbx_class *global_find_next_class YARGS((char *pattern));
dbx_class *search_class YARGS((dbx_class *pc,char *pattern));

dbx_class *lowest_class YARGS((obj_ptr po));
dbx_class *parent_class YARGS((dbx_class *pc));

dbx_field *field_in_classes YARGS((dbx_class *pc,char *name));

dbx_class *first_class_all YARGS((void));
dbx_class *last_class_all YARGS((void));
dbx_class *next_class_all YARGS((dbx_class *pc));
dbx_class *prev_class_all YARGS((dbx_class *pc));

dbx_class *first_once YARGS((void));
dbx_class *last_once YARGS((void));
dbx_class *next_once YARGS((dbx_class *pc));
dbx_class *prev_once YARGS((dbx_class *pc));

dbx_class *find_next_once YARGS((dbx_class *pc,char *pattern));
dbx_class *find_prev_once YARGS((dbx_class *pc,char *pattern));

dbx_class *first_subclass YARGS((dbx_class *pc));
dbx_class *last_subclass YARGS((dbx_class *pc));
dbx_class *next_subclass YARGS((dbx_class *pc));
dbx_class *prev_subclass YARGS((dbx_class *pc));

#ifdef XDEBUG
void dump_classes YARGS((void));
#endif

#endif
