xref: /dflybsd-src/share/man/man9/DB_COMMAND.9 (revision 517620f5a95f03afd8329cf7e7810bb7a24fbf74)
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.\"
28*517620f5SSascha Wildner.Dd May 5, 2015
2924b52616SSascha Wildner.Dt DB_COMMAND 9
3024b52616SSascha Wildner.Os
3124b52616SSascha Wildner.Sh NAME
3224b52616SSascha Wildner.Nm DB_COMMAND ,
33*517620f5SSascha 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
42*517620f5SSascha Wildner.Fo DB_COMMAND_FLAG
43*517620f5SSascha Wildner.Fa command_name
44*517620f5SSascha Wildner.Fa command_function
45*517620f5SSascha Wildner.Fa flag
46*517620f5SSascha 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
60*517620f5SSascha Wildner.Fn DB_COMMAND_FLAG
61*517620f5SSascha Wildnermacro is a variant of
62*517620f5SSascha Wildner.Fn DB_COMMAND
63*517620f5SSascha Wildnerwhich allows for specifying an additional
64*517620f5SSascha Wildner.Fa flag .
65*517620f5SSascha Wildner.Pp
66*517620f5SSascha 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
7824b52616SSascha Wildner.Ar address Ns Op Li , 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
9724b52616SSascha Wildner.Sh EXAMPLE
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
11724b52616SSascha Wildner.Sh AUTHOR
11824b52616SSascha WildnerThis manual page was written by
119c616d378SFranco Fichtner.An Guillaume Ballet Aq Mt gballet@gmail.com .
120