Changeset 5869ce0 in mainline for kernel/generic/src


Ignore:
Timestamp:
2012-03-01T23:22:32Z (13 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0030eef
Parents:
3d23553
Message:

extend sysinfo generated subtree interface

Location:
kernel/generic/src/sysinfo
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/sysinfo/stats.c

    r3d23553 r5869ce0  
    451451 * @param name    Task ID (string-encoded number).
    452452 * @param dry_run Do not get the data, just calculate the size.
     453 * @param data    Unused.
    453454 *
    454455 * @return Sysinfo return holder. The type of the returned
     
    460461 *
    461462 */
    462 static sysinfo_return_t get_stats_task(const char *name, bool dry_run)
     463static sysinfo_return_t get_stats_task(const char *name, bool dry_run,
     464    void *data)
    463465{
    464466        /* Initially no return value */
     
    520522 * @param name    Thread ID (string-encoded number).
    521523 * @param dry_run Do not get the data, just calculate the size.
     524 * @param data    Unused.
    522525 *
    523526 * @return Sysinfo return holder. The type of the returned
     
    529532 *
    530533 */
    531 static sysinfo_return_t get_stats_thread(const char *name, bool dry_run)
     534static sysinfo_return_t get_stats_thread(const char *name, bool dry_run,
     535    void *data)
    532536{
    533537        /* Initially no return value */
     
    634638 * @param name    Exception number (string-encoded number).
    635639 * @param dry_run Do not get the data, just calculate the size.
     640 * @param data    Unused.
    636641 *
    637642 * @return Sysinfo return holder. The type of the returned
     
    643648 *
    644649 */
    645 static sysinfo_return_t get_stats_exception(const char *name, bool dry_run)
     650static sysinfo_return_t get_stats_exception(const char *name, bool dry_run,
     651    void *data)
    646652{
    647653        /* Initially no return value */
     
    817823        sysinfo_set_item_fn_data("system.threads", NULL, get_stats_threads);
    818824        sysinfo_set_item_fn_data("system.exceptions", NULL, get_stats_exceptions);
    819         sysinfo_set_subtree_fn("system.tasks", NULL, get_stats_task);
    820         sysinfo_set_subtree_fn("system.threads", NULL, get_stats_thread);
    821         sysinfo_set_subtree_fn("system.exceptions", NULL, get_stats_exception);
     825        sysinfo_set_subtree_fn("system.tasks", NULL, get_stats_task, NULL);
     826        sysinfo_set_subtree_fn("system.threads", NULL, get_stats_thread, NULL);
     827        sysinfo_set_subtree_fn("system.exceptions", NULL, get_stats_exception, NULL);
    822828}
    823829
  • kernel/generic/src/sysinfo/sysinfo.c

    r3d23553 r5869ce0  
    151151                        case SYSINFO_SUBTREE_FUNCTION:
    152152                                /* Get generated data */
    153                                 **ret = cur->subtree.get_data(name + i + 1, dry_run);
     153                                **ret = cur->subtree.generator.fn(name + i + 1, dry_run,
     154                                    cur->subtree.generator.data);
    154155                                return NULL;
    155156                        default:
     
    431432 *             a new root item (NULL for global sysinfo root).
    432433 * @param fn   Subtree generator function.
     434 * @param data Private data to be passed to the generator.
    433435 *
    434436 */
    435437void sysinfo_set_subtree_fn(const char *name, sysinfo_item_t **root,
    436     sysinfo_fn_subtree_t fn)
     438    sysinfo_fn_subtree_t fn, void *data)
    437439{
    438440        /* Protect sysinfo tree consistency */
     
    448450        if ((item != NULL) && (item->subtree_type != SYSINFO_SUBTREE_TABLE)) {
    449451                item->subtree_type = SYSINFO_SUBTREE_FUNCTION;
    450                 item->subtree.get_data = fn;
     452                item->subtree.generator.fn = fn;
     453                item->subtree.generator.data = data;
    451454        }
    452455       
Note: See TracChangeset for help on using the changeset viewer.