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