Changeset 196c253 in mainline for kernel/generic/src/sysinfo/sysinfo.c
- Timestamp:
- 2012-03-02T15:53:49Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3113d47
- Parents:
- efb8d15
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/sysinfo/sysinfo.c
refb8d15 r196c253 1 1 /* 2 2 * Copyright (c) 2006 Jakub Vana 3 * Copyright (c) 2012 Martin Decky 3 4 * All rights reserved. 4 5 * … … 358 359 * a new root item (NULL for global sysinfo root). 359 360 * @param fn Numeric value generator function. 360 * 361 */ 362 void sysinfo_set_item_fn_val(const char *name, sysinfo_item_t **root, 363 sysinfo_fn_val_t fn) 361 * @param data Private data. 362 * 363 */ 364 void sysinfo_set_item_gen_val(const char *name, sysinfo_item_t **root, 365 sysinfo_fn_val_t fn, void *data) 364 366 { 365 367 /* Protect sysinfo tree consistency */ … … 372 374 if (item != NULL) { 373 375 item->val_type = SYSINFO_VAL_FUNCTION_VAL; 374 item->val.fn_val = fn; 376 item->val.gen_val.fn = fn; 377 item->val.gen_val.data = data; 375 378 } 376 379 … … 389 392 * a new root item (NULL for global sysinfo root). 390 393 * @param fn Binary data generator function. 391 * 392 */ 393 void sysinfo_set_item_fn_data(const char *name, sysinfo_item_t **root, 394 sysinfo_fn_data_t fn) 394 * @param data Private data. 395 * 396 */ 397 void sysinfo_set_item_gen_data(const char *name, sysinfo_item_t **root, 398 sysinfo_fn_data_t fn, void *data) 395 399 { 396 400 /* Protect sysinfo tree consistency */ … … 403 407 if (item != NULL) { 404 408 item->val_type = SYSINFO_VAL_FUNCTION_DATA; 405 item->val.fn_data = fn; 409 item->val.gen_data.fn = fn; 410 item->val.gen_data.data = data; 406 411 } 407 412 … … 512 517 break; 513 518 case SYSINFO_VAL_FUNCTION_VAL: 514 val = cur->val. fn_val(cur);519 val = cur->val.gen_val.fn(cur, cur->val.gen_val.data); 515 520 printf(" -> %" PRIun" (%#" PRIxn ") [generated]\n", val, 516 521 val); … … 518 523 case SYSINFO_VAL_FUNCTION_DATA: 519 524 /* N.B.: No data was actually returned (only a dry run) */ 520 (void) cur->val.fn_data(cur, &size, true); 525 (void) cur->val.gen_data.fn(cur, &size, true, 526 cur->val.gen_data.data); 521 527 printf(" (%zu bytes) [generated]\n", size); 522 528 break; … … 604 610 break; 605 611 case SYSINFO_VAL_FUNCTION_VAL: 606 ret.val = item->val. fn_val(item);612 ret.val = item->val.gen_val.fn(item, item->val.gen_val.data); 607 613 break; 608 614 case SYSINFO_VAL_FUNCTION_DATA: 609 ret.data.data = item->val. fn_data(item, &ret.data.size,610 dry_run );615 ret.data.data = item->val.gen_data.fn(item, &ret.data.size, 616 dry_run, item->val.gen_data.data); 611 617 break; 612 618 }
Note:
See TracChangeset
for help on using the changeset viewer.