Changeset ad2a8b1 in mainline
- Timestamp:
- 2017-12-21T09:24:17Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d37dd3b9
- Parents:
- e9d600c2
- Location:
- uspace/app/tmon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/tmon/Makefile
re9d600c2 rad2a8b1 35 35 main.c\ 36 36 list.c\ 37 test.c 37 test.c\ 38 resolve.c 38 39 39 40 include $(USPACE_PREFIX)/Makefile.common -
uspace/app/tmon/test.c
re9d600c2 rad2a8b1 37 37 #include <stdio.h> 38 38 #include <devman.h> 39 #include <loc.h>40 #include <errno.h>41 39 #include <str_error.h> 42 40 #include <usbdiag_iface.h> 43 41 #include "commands.h" 42 #include "resolve.h" 44 43 45 44 #define NAME "tmon" … … 49 48 #define DEFAULT_SIZE 65432 50 49 51 static int resolve_default_fun(devman_handle_t *fun)52 {53 category_id_t diag_cat;54 service_id_t *svcs;55 size_t count;56 int rc;57 58 if ((rc = loc_category_get_id(USBDIAG_CATEGORY, &diag_cat, 0))) {59 printf(NAME ": Error resolving category '%s'", USBDIAG_CATEGORY);60 return rc;61 }62 63 if ((rc = loc_category_get_svcs(diag_cat, &svcs, &count))) {64 printf(NAME ": Error getting list of diagnostic devices.\n");65 return rc;66 }67 68 // There must be exactly one diagnostic device for this to work.69 if (count != 1) {70 if (count) {71 printf(NAME ": Found %ld devices. Please specify which to use.\n", count);72 } else {73 printf(NAME ": No diagnostic devices found.\n");74 }75 return ENOENT;76 }77 78 if ((rc = devman_fun_sid_to_handle(svcs[0], fun))) {79 printf(NAME ": Error resolving handle of device with SID %ld.\n", svcs[0]);80 return rc;81 }82 83 return EOK;84 }85 86 static int resolve_named_fun(const char *dev_path, devman_handle_t *fun)87 {88 int rc;89 service_id_t svc;90 if ((rc = loc_service_get_id(dev_path, &svc, IPC_FLAG_BLOCKING))) {91 printf(NAME ": Error resolving device. %s\n", str_error(rc));92 return rc;93 }94 95 if ((rc = devman_fun_sid_to_handle(svc, fun))) {96 printf(NAME ": Error resolving handle of device with SID %ld.\n", svc);97 return rc;98 }99 100 return EOK;101 }102 103 50 static int resolve_and_test(int argc, char *argv[], int (*test)(devman_handle_t, int, size_t)) { 104 51 devman_handle_t fun = -1; 105 52 106 53 if (argc == 0) { 107 if ( resolve_default_fun(&fun))54 if (tmon_resolve_default(&fun)) 108 55 return 1; 109 56 } else if (argc == 1) { 110 if ( resolve_named_fun(argv[0], &fun))57 if (tmon_resolve_named(argv[0], &fun)) 111 58 return 1; 112 59 } else {
Note:
See TracChangeset
for help on using the changeset viewer.