]> git.saurik.com Git - apple/xnu.git/blob - osfmk/ddb/db_coff.h
2bb8f56fb95ea4b15f488fb72c4ffd1557c20f84
[apple/xnu.git] / osfmk / ddb / db_coff.h
1 /*
2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23 /*
24 * @OSF_COPYRIGHT@
25 *
26 */
27 /*
28 * HISTORY
29 *
30 * Revision 1.1.1.1 1998/09/22 21:05:47 wsanchez
31 * Import of Mac OS X kernel (~semeria)
32 *
33 * Revision 1.1.1.1 1998/03/07 02:26:09 wsanchez
34 * Import of OSF Mach kernel (~mburg)
35 *
36 * Revision 1.1.2.1 1995/02/23 16:34:08 alanl
37 * Initial file creation.
38 * [95/02/06 sjs]
39 *
40 * $EndLog$
41 */
42
43 #ifndef _DDB_DB_COFF_H_
44 #define _DDB_DB_COFF_H_
45
46 #define DB_NO_AOUT 1
47
48
49 /*
50 * Symbol table routines for COFF format files.
51 */
52
53 boolean_t coff_db_sym_init(
54 char * symtab,
55 char * esymtab,
56 char * name,
57 char * task_addr);
58
59 db_sym_t coff_db_lookup(
60 db_symtab_t *stab,
61 char * symstr);
62
63 int coff_db_lookup_incomplete(
64 db_symtab_t *stab,
65 char * symstr,
66 char ** name,
67 int *len,
68 int *toadd);
69
70 int coff_db_print_completion(
71 db_symtab_t *stab,
72 char * symstr);
73
74 db_sym_t coff_db_search_symbol(
75 db_symtab_t *symtab,
76 db_addr_t off,
77 db_strategy_t strategy,
78 db_expr_t *diffp); /* in/out */
79
80 void coff_db_symbol_values(
81 db_sym_t sym,
82 char **namep,
83 db_expr_t *valuep);
84
85 db_sym_t coff_db_search_by_addr(
86 db_symtab_t *stab,
87 db_addr_t addr,
88 char **file,
89 char **func,
90 int *line,
91 db_expr_t *diff,
92 int *args);
93
94 boolean_t coff_db_line_at_pc(
95 db_symtab_t *stab,
96 db_sym_t sym,
97 char **file,
98 int *line,
99 db_expr_t pc);
100
101 int coff_db_qualified_print_completion(
102 db_symtab_t *stab,
103 char *sym);
104
105 void coff_db_init(void);
106
107 #endif /* !_DDB_DB_COFF_H_ */