home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / OPENSTEP / UNIX / Programming / class-dump-2.1.1-MIS / src / class-dump.h next >
Encoding:
C/C++ Source or Header  |  1997-12-07  |  2.5 KB  |  138 lines

  1. //
  2. // $Id: class-dump.h,v 1.3 1997/12/07 22:25:42 nygard Exp $
  3. //
  4.  
  5. //
  6. //  This file is a part of class-dump v2, a utility for examining the
  7. //  Objective-C segment of Mach-O files.
  8. //  Copyright (C) 1997  Steve Nygard
  9. //
  10. //  This program is free software; you can redistribute it and/or modify
  11. //  it under the terms of the GNU General Public License as published by
  12. //  the Free Software Foundation; either version 2 of the License, or
  13. //  (at your option) any later version.
  14. //
  15. //  This program is distributed in the hope that it will be useful,
  16. //  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18. //  GNU General Public License for more details.
  19. //
  20. //  You should have received a copy of the GNU General Public License
  21. //  along with this program; if not, write to the Free Software
  22. //  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23. //
  24. //  You may contact the author by:
  25. //     e-mail:  nygard@telusplanet.net
  26. //
  27.  
  28. #ifndef __CLASS_DUMP_H
  29. #define __CLASS_DUMP_H
  30.  
  31. struct my_objc_module
  32. {
  33.     long version;
  34.     long size;
  35.     long name;
  36.     long symtab;
  37. };
  38.  
  39. // Section: __symbols
  40. struct my_objc_symtab
  41. {
  42.     long sel_ref_cnt;
  43.     long refs;
  44.     short cls_def_count;
  45.     short cat_def_count;
  46.     long class_pointer;
  47. };
  48.  
  49. // Section: __class
  50. struct my_objc_class
  51. {
  52.     long isa;
  53.     long super_class;
  54.     long name;
  55.     long version;
  56.     long info;
  57.     long instance_size;
  58.     long ivars;
  59.     long methods;
  60.     long cache;
  61.     long protocols;
  62. };
  63.  
  64. // Section: ??
  65. struct my_objc_category
  66. {
  67.     long category_name;
  68.     long class_name;
  69.     long methods;
  70.     long class_methods;
  71.     long protocols;
  72. };
  73.  
  74. // Section: __instance_vars
  75. struct my_objc_ivars
  76. {
  77.     long ivar_count;
  78.     // Followed by ivars
  79. };
  80.  
  81. // Section: __instance_vars
  82. struct my_objc_ivar
  83. {
  84.     long name;
  85.     long type;
  86.     long offset;
  87. };
  88.  
  89. // Section: __inst_meth
  90. struct my_objc_methods
  91. {
  92.     long _obsolete;
  93.     long method_count;
  94.     // Followed by methods
  95. };
  96.  
  97. // Section: __inst_meth
  98. struct my_objc_method
  99. {
  100.     long name;
  101.     long types;
  102.     long imp;
  103. };
  104.  
  105. // Section: __meta_class
  106. struct my_objc_isa
  107. {
  108. };
  109.  
  110. struct my_objc_protocol_list
  111. {
  112.     long next;
  113.     long count;
  114.     long list;
  115. };
  116.  
  117. struct my_objc_protocol
  118. {
  119.     long isa;
  120.     long protocol_name;
  121.     long protocol_list;
  122.     long instance_methods;
  123. };
  124.  
  125. struct my_objc_prot_inst_meth
  126. {
  127.     long name;
  128.     long types;
  129. };
  130.  
  131. struct my_objc_prot_inst_meth_list
  132. {
  133.     long count;
  134.     long methods;
  135. };
  136.  
  137. #endif
  138.