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 * Symbol table routines for a.out format files.
33 */
34
35#ifndef	_DDB_DB_AOUT_H_
36#define	_DDB_DB_AOUT_H_
37
38#include <machine/db_machdep.h>		/* data types */
39#include <ddb/db_sym.h>			/* db_symtab_t */
40
41boolean_t aout_db_sym_init(char *, char *, const char *, char *);
42
43db_sym_t aout_db_lookup(
44	db_symtab_t	*stab,
45	char *		symstr);
46
47int aout_db_lookup_incomplete(
48	db_symtab_t	*stab,
49	char *		symstr,
50	char **		name,
51	int		*len,
52	int		*toadd);
53
54int aout_db_print_completion(
55	db_symtab_t	*stab,
56	char *		symstr);
57
58db_sym_t aout_db_search_symbol(
59	db_symtab_t	*symtab,
60	db_addr_t	off,
61	db_strategy_t	strategy,
62	db_expr_t	*diffp);		/* in/out */
63
64void aout_db_symbol_values(
65	db_sym_t	sym,
66	char		**namep,
67	db_expr_t	*valuep);
68
69db_sym_t aout_db_search_by_addr(
70	db_symtab_t	*stab,
71	db_addr_t	addr,
72	char		**file,
73	char		**func,
74	int 	 	*line,
75	db_expr_t	*diff,
76	int 		*args);
77
78boolean_t aout_db_line_at_pc(
79	db_symtab_t	*stab,
80	db_sym_t	sym,
81	char		**file,
82	int		*line,
83	db_expr_t	pc);
84
85int aout_db_qualified_print_completion(
86	db_symtab_t	*stab,
87	char		*sym);
88
89void aout_db_init(void);
90
91#endif	/* !_DDB_DB_AOUT_H_ */
92