aboutsummaryrefslogtreecommitdiff
path: root/src/helper
AgeCommit message (Collapse)Author
2009-11-16helper/log: improve API parameter typesZachary T Welch
Uses unsigned type to pass line numbers. Use uint64_t to pass sleep routines their milliseconds. Updates sleep routines to use this type and improve whitespace.
2009-11-16use Jim_CmdProc in jim_registerZachary T Welch
The jim_register command just needed to use the type defined by jim.h.
2009-11-16improve constness of open_file_from_pathZachary T Welch
2009-11-16make command line options constZachary T Welch
The getopt_long call allows a const struct option, so mark ours const too.
2009-11-16binarybuffer: regression fixDavid Brownell
The "improve inline binarybuffer helpers" mis-handled bytes with the high bit set; treat them as unsigned, not signed. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-16"types.h" doxygen fixDavid Brownell
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-16move ARRAY_SIZE macro to types.hZachary T Welch
The ARRAY_SIZE macro was defined in several target files, so move it to types.h. This patch also removes two other identical macros: DIM (from jtag.h) and asizeof (from arm11.h).
2009-11-16rename CEIL as DIV_ROUND_UPZachary T Welch
Improves the name of this macro, moves it to types.h, and adds a block of Doxygen comments to describe what it does.
2009-11-16move container_of to types.hZachary T Welch
The container_of macro is useful as a general solution. It belongs in types.h, rather than target.h where it was introduced. Requires the offsetof macro, which comes from <stddef.h> (moved as well).
2009-11-16Add FILEIO_NONE access mode.Zachary T Welch
In some cases, the FILEIO_NONE access mode may be useful as a parameter to indicate that file access should be disabled. High-level routines can use it to skip file access calls, as 'fileio_open' will fail presently if called to open a file using this mode.
2009-11-16binarybuffer: add API documentationZachary T Welch
Adds Doxygen documentation for a number of the binarybuffer APIs, including "unexpected" behavior exposed during review on the list.
2009-11-16improve inline binarybuffer helpersZachary T Welch
Use void*, unsigned, and bool types with inline helpers.
2009-11-16improve buf_set_buf helperZachary T Welch
Use void * and unsigned types for buffer and their sizes. Allows it to be used with more than uint8_t * without casts.
2009-11-16improve buf_set_onesZachary T Welch
Use memset instead of loop. Improve types, using void * and unsigned.
2009-11-16improve buf_cpy helperZachary T Welch
Use memcpy for bulk of copy, improve final byte handling. Improve types by using void * for buffers and unsigned for size.
2009-11-16improve buf_cmp and buf_cmp_mask helpersZachary T Welch
Rewrite buf_cmp to use memcpy for bulk of comparison. Add static helper to perform comparison of trailing byte, which uses another static helper to perform a maksed comparison. The masked comparison helper is used by the buf_cmp_mask to simplify its loop. Improve types to use void *, unsigned, and return bool.
2009-11-16improve str_to_buf and buf_to_str helpersZachary T Welch
Improve types: use void * and unsigned. Move all variables to point of first use. Move radix guessing logic to new str_radix_guess helper.
2009-11-16binarybuffer: move variables to point of first useZachary T Welch
Reduce some noise from subsequent patches.
2009-11-16binarybuffer: fix whitespace related issuesZachary T Welch
Add inter-operator whitespace. Improve existing documentation.
2009-11-16target: less implicit inclusion of "command.h"David Brownell
Lots of files still include it, often through needless duplicate inclusion of "log.h"; sigh. This cleans up the inclusion graph a bunch, so there are fewer inclusion paths, but it doesn't change much otherwise. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-14remove unused buf_to_u32_handlerZachary T Welch
Purge an unused routine from the tree and remove a layering violation. If this code is needed, it should reappear somwhere in src/jtag/, where struct scan_field gets defined.
2009-11-14struct scan_field_s -> struct scan_fieldZachary T Welch
Remove obsolete suffix from struct scan_field. Somehow, these definitions did not get updated but did not cause any errors.
2009-11-13command_t -> struct commandZachary T Welch
Remove misleading typedef and redundant suffix from struct command.
2009-11-13command_context_t -> struct command_contextZachary T Welch
Remove misleading typedef and redundant suffix from struct command_context.
2009-11-13jtag_tap_t -> struct jtag_tapZachary T Welch
Search and destroy the jtag_tap_t typedef. This also cleans up a layering violation, removing the declaration from types.h.
2009-11-13fileio_t -> struct fileioZachary T Welch
Remove useless structure typedef.
2009-11-13log_callback_t -> struct log_callbackZachary T Welch
Removes useless and confusing typedef for log callback structure. Types with _t should be suitable for passing by-value as arguments.
2009-11-13command_handler_t: make cmd an indirect parameterZachary T Welch
This patch removes 'cmd' from the list of direct parameters, moving that pointer to args[-1] (by way of the new CMD_NAME macro).
2009-11-13command_handler_t: make args parameter constZachary T Welch
This patch prevents command handlers from modifying the strings passed in the 'args' array.
2009-11-13command_handler_t: make cmd parameter constZachary T Welch
Prevents the command name from being modified in command handlers. Again, this has cascading effects, but the patches are fairly minimal.
2009-11-13command_handler_t: make argc unsignedZachary T Welch
The number of command arguments will always be 0 or more, so use the right type in handlers. This has a cascading effect up through the layers, but the new COMMAND_HANDLER macros prevented total chaos.
2009-11-13add CMD_NAME macro for command handlersZachary T Welch
By introducing the CMD_NAME macro, this parameter may be integrated as args[-1] in command.[ch], without touching any other call sites.
2009-11-13use COMMAND_HANDLER macro to define all commandsZachary T Welch
2009-11-13add command_handler_t typeZachary T Welch
This patch adds new typedefs for command handler callback functions. Users of this type signature were updated to use these new types. It uses the new __COMMAND_HANDLER macro to prevent duplication.
2009-11-13add COMMAND_HANDLER and COMMAND_HELPER macrosZachary T Welch
The COMMAND_HANDLER and COMMAND_HELPER macros allow commands to be defined in a manner that decouples them from the exact order and type of their parameters. Once converted, incremental changes to the command handler type can be addressed in incremental patches that do not need to touch the entire tree. These macros' implementation, __COMMAND_HANDLER, is used to define the new command_handler_t type, and additional patches will use it to derive new macros to define extended command types (e.g. flash, nand, pld). The CALL_COMMAND_HANDLER provides a means of calling helpers or nested handlers from withing a command handler. This patch uses C99 varadic macro expansion. Please report compilers that cannot handle this code.
2009-11-13add command_output_handler_tZachary T Welch
Add a typedef for command output handler function type, simplifying the appearance of functions that use it and eliminating duplicate code.
2009-11-11improve command registrationZachary T Welch
Eliminate duplicate code for linking commands into a list. Adds a check to ensure the command does not already exist; if it does, return that one instead of creating a duplicate.
2009-11-11add help regardless of callbackZachary T Welch
Add help for commands regardless of whether a handler is involved. With this, all sorts of new commands can be found in 'help' text. Hopefully, all of them have been documented.... Sadly, the lsort function appears to handle nested lists poorly, such that sub-commands do not group with their parents.
2009-11-11eliminate duplicate helptext managementZachary T Welch
Add helpers to manage adding entries to the helptext list. Adds support for arbitrarily nested commands.
2009-11-11add command_name helperZachary T Welch
The command_name function returns a malloced string for a given command and its parents. This can be used to display a message to the user, but it is used internally to handle registration and syntax errors. This helps permit arbitrary command nesting.
2009-11-11wrap help commandZachary T Welch
Use continuation characters to wrap the help command into 80 columns.
2009-11-11script_debug(): improve typesZachary T Welch
Use unsigned type for number of arguments.
2009-11-11command.c: make private routines staticZachary T Welch
This patch also improves the signature of run_command function.
2009-11-11log: improve log_callback_fn signatureZachary T Welch
Use unsigned type for line number in log_callback_fn signature.
2009-11-11time_support: improve use of typesZachary T Welch
Update timeval_add_time to use long int; implement timeval_add with it. Update timeval_ms to check gettimeofday return value, return int64_t.
2009-11-10tcl: HostOs now picks up eCos as well during compile timeØyvind Harboe
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2009-11-09command.c: make commands staticZachary T Welch
Removes useless declarations, moving the handler functions to appear before their use in the (much bigger) command registriation function.
2009-11-09src/helper: wrap and clean headers.Zachary T Welch
Remove all useless 'extern' keywords from function prototypes. Wraps long lines for readability.
2009-11-09User's Guide: bugfix global state infoDavid Brownell
The "$ocd_HOSTOS" variable was wrongly documented. Fix its documentation, and its value on Linux. Shrink a few of the too-long lines. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
2009-11-09Overhaul time support APIZachary T Welch
This patch changes the duration_* API in several ways. First, it updates the API to use better names. Second, string formatting has been removed from the API (with its associated malloc). Finally, a new function added to convert the time into seconds, which can be used (or formatted) by the caller. This eliminates hidden calls to malloc that require associated calls to free(). This patch also removes the useless extern keyword from prototypes, and it eliminates the duration_t typedef (use 'struct duration'). These API also allows proper error checking, as it is possible for gettimeofday to fail in certain circumstances. The consumers have all been chased to use this new API as well, as there were relatively few cases doing this type of measurement. In most cases, the code performs additional checks for errors, but the calling code looks much cleaner in every case.