Ignore:
Timestamp:
2012-03-02T15:53:49Z (12 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3113d47
Parents:
efb8d15
Message:

add support for private/instance data also for the other sysinfo generated content

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/sysinfo/sysinfo.h

    refb8d15 r196c253  
    11/*
    22 * Copyright (c) 2006 Jakub Vana
     3 * Copyright (c) 2012 Martin Decky
    34 * All rights reserved.
    45 *
     
    5455struct sysinfo_item;
    5556
    56 /** Gerated numeric value function */
    57 typedef sysarg_t (*sysinfo_fn_val_t)(struct sysinfo_item *);
     57/** Generated numeric value function */
     58typedef sysarg_t (*sysinfo_fn_val_t)(struct sysinfo_item *, void *);
     59
     60/** Sysinfo generated numberic value data
     61 *
     62 */
     63typedef struct {
     64        sysinfo_fn_val_t fn;  /**< Generated value function */
     65        void *data;           /**< Private data */
     66} sysinfo_gen_val_data_t;
    5867
    5968/** Generated binary data function */
    60 typedef void *(*sysinfo_fn_data_t)(struct sysinfo_item *, size_t *, bool);
     69typedef void *(*sysinfo_fn_data_t)(struct sysinfo_item *, size_t *, bool,
     70    void *);
     71
     72/** Sysinfo generated binary data data
     73 *
     74 */
     75typedef struct {
     76        sysinfo_fn_data_t fn;  /**< Generated binary data function */
     77        void *data;            /**< Private data */
     78} sysinfo_gen_data_data_t;
    6179
    6280/** Sysinfo item binary data
     
    7290 */
    7391typedef union {
    74         sysarg_t val;               /**< Constant numberic value */
    75         sysinfo_data_t data;        /**< Constant binary data */
    76         sysinfo_fn_val_t fn_val;    /**< Generated numeric value function */
    77         sysinfo_fn_data_t fn_data;  /**< Generated binary data function */
     92        sysarg_t val;                      /**< Constant numberic value */
     93        sysinfo_data_t data;               /**< Constant binary data */
     94        sysinfo_gen_val_data_t gen_val;    /**< Generated numeric value function */
     95        sysinfo_gen_data_data_t gen_data;  /**< Generated binary data function */
    7896} sysinfo_item_val_t;
    7997
     
    103121        sysinfo_fn_subtree_t fn;  /**< Generated subtree function */
    104122        void *data;               /**< Private data */
    105 } sysinfo_fn_subtree_data_t;
     123} sysinfo_gen_subtree_data_t;
    106124
    107125/** Sysinfo subtree (union)
     
    109127 */
    110128typedef union {
    111         struct sysinfo_item *table;           /**< Fixed subtree (list of subitems) */
    112         sysinfo_fn_subtree_data_t generator;  /**< Generated subtree */
     129        struct sysinfo_item *table;            /**< Fixed subtree (list of subitems) */
     130        sysinfo_gen_subtree_data_t generator;  /**< Generated subtree */
    113131} sysinfo_subtree_t;
    114132
     
    131149extern void sysinfo_set_item_data(const char *, sysinfo_item_t **, void *,
    132150    size_t);
    133 extern void sysinfo_set_item_fn_val(const char *, sysinfo_item_t **,
    134     sysinfo_fn_val_t);
    135 extern void sysinfo_set_item_fn_data(const char *, sysinfo_item_t **,
    136     sysinfo_fn_data_t);
     151extern void sysinfo_set_item_gen_val(const char *, sysinfo_item_t **,
     152    sysinfo_fn_val_t, void *);
     153extern void sysinfo_set_item_gen_data(const char *, sysinfo_item_t **,
     154    sysinfo_fn_data_t, void *);
    137155extern void sysinfo_set_item_undefined(const char *, sysinfo_item_t **);
    138156
Note: See TracChangeset for help on using the changeset viewer.