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