DB_COMMAND(9)

NAME
DB_COMMAND, DB_COMMAND_FLAG, DB_SHOW_COMMAND - Extends the ddb command set

SYNOPSIS
#include <ddb/ddb.h>
DB_COMMAND(command_name, command_function);
DB_COMMAND_FLAG(command_name, command_function, flag);
DB_SHOW_COMMAND(command_name, command_function);

DESCRIPTION
The DB_COMMAND() macro adds command_name to the list of top-level commands. Invoking command_name from ddb will call command_function.

The DB_COMMAND_FLAG() macro is a variant of DB_COMMAND() which allows for specifying an additional flag.

The DB_SHOW_COMMAND() is roughly equivalent to DB_COMMAND() but in this case, command_name is a sub-command of the ddb show command.

The general command syntax: command[/modifier] address[,count], translates into the following parameters for command_function:

addr
    The address passed to the command as an argument.

have_addr
    A boolean value that is true if the addr field is valid.

count
    The number of quad words starting at offset addr that the command must process.

modif
    A pointer to the string of modifiers. That is, a series of symbols used to pass some options to the command. For example, the examine command will display words in decimal form if it is passed the modifier "d".

EXAMPLES
In your module, the command is declared as:

    DB_COMMAND(mycmd, my_cmd_func)
    {
    	if (have_addr)
    		db_printf("Calling my command with address %p\n", addr);
    }

Then, when in ddb:

    db> mycmd 0x1000
    Calling my command with address 0x1000
    db>

SEE ALSO
ddb(4)

AUTHORS
This manual page was written by Guillaume Ballet <gballet@gmail.com>.