xref: /dflybsd-src/share/man/man9/DB_COMMAND.9 (revision 4a5f69f602439e4ddaa5c06d3f350823dac88dd0)
124b52616SSascha Wildner.\"-
224b52616SSascha Wildner.\" Copyright (c) 2008 Guillaume Ballet
324b52616SSascha Wildner.\" All rights reserved.
424b52616SSascha Wildner.\"
524b52616SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
624b52616SSascha Wildner.\" modification, are permitted provided that the following conditions
724b52616SSascha Wildner.\" are met:
824b52616SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
924b52616SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
1024b52616SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
1124b52616SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
1224b52616SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
1324b52616SSascha Wildner.\"
1424b52616SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1524b52616SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1624b52616SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1724b52616SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1824b52616SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1924b52616SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2024b52616SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2124b52616SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2224b52616SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2324b52616SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2424b52616SSascha Wildner.\" SUCH DAMAGE.
2524b52616SSascha Wildner.\"
2624b52616SSascha Wildner.\" $FreeBSD: src/share/man/man9/DB_COMMAND.9,v 1.6 2012/05/20 16:43:47 gjb Exp $
2724b52616SSascha Wildner.\"
28517620f5SSascha Wildner.Dd May 5, 2015
2924b52616SSascha Wildner.Dt DB_COMMAND 9
3024b52616SSascha Wildner.Os
3124b52616SSascha Wildner.Sh NAME
3224b52616SSascha Wildner.Nm DB_COMMAND ,
33517620f5SSascha Wildner.Nm DB_COMMAND_FLAG ,
3424b52616SSascha Wildner.Nm DB_SHOW_COMMAND
3524b52616SSascha Wildner.Nd Extends the ddb command set
3624b52616SSascha Wildner.Sh SYNOPSIS
3724b52616SSascha Wildner.In ddb/ddb.h
3824b52616SSascha Wildner.Fo DB_COMMAND
3924b52616SSascha Wildner.Fa command_name
4024b52616SSascha Wildner.Fa command_function
4124b52616SSascha Wildner.Fc
42517620f5SSascha Wildner.Fo DB_COMMAND_FLAG
43517620f5SSascha Wildner.Fa command_name
44517620f5SSascha Wildner.Fa command_function
45517620f5SSascha Wildner.Fa flag
46517620f5SSascha Wildner.Fc
4724b52616SSascha Wildner.Fn DB_SHOW_COMMAND "command_name" "command_function"
4824b52616SSascha Wildner.Sh DESCRIPTION
4924b52616SSascha WildnerThe
5024b52616SSascha Wildner.Fn DB_COMMAND
5124b52616SSascha Wildnermacro adds
5224b52616SSascha Wildner.Fa command_name
5324b52616SSascha Wildnerto the list of top-level commands.
5424b52616SSascha WildnerInvoking
5524b52616SSascha Wildner.Fa command_name
5624b52616SSascha Wildnerfrom ddb will call
5724b52616SSascha Wildner.Fa command_function .
5824b52616SSascha Wildner.Pp
5924b52616SSascha WildnerThe
60517620f5SSascha Wildner.Fn DB_COMMAND_FLAG
61517620f5SSascha Wildnermacro is a variant of
62517620f5SSascha Wildner.Fn DB_COMMAND
63517620f5SSascha Wildnerwhich allows for specifying an additional
64517620f5SSascha Wildner.Fa flag .
65517620f5SSascha Wildner.Pp
66517620f5SSascha WildnerThe
6724b52616SSascha Wildner.Fn DB_SHOW_COMMAND
6824b52616SSascha Wildneris roughly equivalent to
6924b52616SSascha Wildner.Fn DB_COMMAND
7024b52616SSascha Wildnerbut in this case,
7124b52616SSascha Wildner.Fa command_name
7224b52616SSascha Wildneris a sub-command of the ddb
7324b52616SSascha Wildner.Sy show
7424b52616SSascha Wildnercommand.
7524b52616SSascha Wildner.Pp
7624b52616SSascha WildnerThe general command syntax:
7724b52616SSascha Wildner.Cm command Ns Op Li \&/ Ns Ar modifier
78*4a5f69f6SSascha Wildner.Ar address Ns Op , Ns Ar count ,
7924b52616SSascha Wildnertranslates into the following parameters for
8024b52616SSascha Wildner.Fa command_function :
8124b52616SSascha Wildner.Bl -tag -width Fa -offset indent
8224b52616SSascha Wildner.It Fa addr
8324b52616SSascha WildnerThe address passed to the command as an argument.
8424b52616SSascha Wildner.It Fa have_addr
8524b52616SSascha WildnerA boolean value that is true if the addr field is valid.
8624b52616SSascha Wildner.It Fa count
8724b52616SSascha WildnerThe number of quad words starting at offset
8824b52616SSascha Wildner.Fa addr
8924b52616SSascha Wildnerthat the command must process.
9024b52616SSascha Wildner.It Fa modif
9124b52616SSascha WildnerA pointer to the string of modifiers.
9224b52616SSascha WildnerThat is, a series of symbols used to pass some options to the command.
9324b52616SSascha WildnerFor example, the
9424b52616SSascha Wildner.Sy examine
9524b52616SSascha Wildnercommand will display words in decimal form if it is passed the modifier "d".
9624b52616SSascha Wildner.El
97*4a5f69f6SSascha Wildner.Sh EXAMPLES
9824b52616SSascha WildnerIn your module, the command is declared as:
9924b52616SSascha Wildner.Bd -literal
10024b52616SSascha WildnerDB_COMMAND(mycmd, my_cmd_func)
10124b52616SSascha Wildner{
10224b52616SSascha Wildner	if (have_addr)
10324b52616SSascha Wildner		db_printf("Calling my command with address %p\en", addr);
10424b52616SSascha Wildner}
10524b52616SSascha Wildner.Ed
10624b52616SSascha Wildner.Pp
10724b52616SSascha WildnerThen, when in ddb:
10824b52616SSascha Wildner.Bd -literal
10924b52616SSascha Wildner.Bf Sy
11024b52616SSascha Wildnerdb> mycmd 0x1000
11124b52616SSascha WildnerCalling my command with address 0x1000
11224b52616SSascha Wildnerdb>
11324b52616SSascha Wildner.Ef
11424b52616SSascha Wildner.Ed
115ec9265c3SFranco Fichtner.Sh SEE ALSO
11624b52616SSascha Wildner.Xr ddb 4
117831fa461SSascha Wildner.Sh AUTHORS
11824b52616SSascha WildnerThis manual page was written by
119c616d378SFranco Fichtner.An Guillaume Ballet Aq Mt gballet@gmail.com .
120