Changeset abf3564 in mainline for uspace/app/trace/trace.c
- Timestamp:
- 2008-09-18T22:19:42Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f7176b1
- Parents:
- 073c9e6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/trace.c
r073c9e6 rabf3564 137 137 } 138 138 139 static void print_sc_retval(int retval, rv_type_t rv_type) 140 { 141 printf (" -> "); 142 if (rv_type == RV_INTEGER) { 143 printf("%d", retval); 144 } else if (rv_type == RV_HASH) { 145 printf("0x%08x", retval); 146 } else if (rv_type == RV_ERRNO) { 147 if (retval >= -15 && retval <= 0) { 148 printf("%d %s (%s)", retval, 149 err_desc[retval].name, 150 err_desc[retval].desc); 139 void val_print(int val, val_type_t v_type) 140 { 141 switch (v_type) { 142 case V_VOID: 143 printf("<void>"); 144 break; 145 146 case V_INTEGER: 147 printf("%d", val); 148 break; 149 150 case V_HASH: 151 printf("0x%08x", val); 152 break; 153 154 case V_ERRNO: 155 if (val >= -15 && val <= 0) { 156 printf("%d %s (%s)", val, 157 err_desc[-val].name, 158 err_desc[-val].desc); 151 159 } else { 152 printf("%d", retval); 153 } 154 } else if (rv_type == RV_INT_ERRNO) { 155 if (retval >= -15 && retval < 0) { 156 printf("%d %s (%s)", retval, 157 err_desc[retval].name, 158 err_desc[retval].desc); 160 printf("%d", val); 161 } 162 break; 163 case V_INT_ERRNO: 164 if (val >= -15 && val < 0) { 165 printf("%d %s (%s)", val, 166 err_desc[-val].name, 167 err_desc[-val].desc); 159 168 } else { 160 printf("%d", retval); 161 } 162 } 169 printf("%d", val); 170 } 171 break; 172 173 case V_CHAR: 174 if (val >= 0x20 && val < 0x7f) { 175 printf("'%c'", val); 176 } else { 177 switch (val) { 178 case '\a': printf("'\\a'"); break; 179 case '\b': printf("'\\b'"); break; 180 case '\n': printf("'\\n'"); break; 181 case '\r': printf("'\\r'"); break; 182 case '\t': printf("'\\t'"); break; 183 case '\\': printf("'\\\\'"); break; 184 default: printf("'\\x%X'"); break; 185 } 186 } 187 break; 188 } 189 } 190 191 192 static void print_sc_retval(int retval, val_type_t val_type) 193 { 194 printf(" -> "); 195 val_print(retval, val_type); 163 196 putchar('\n'); 164 197 } … … 170 203 putchar('('); 171 204 if (n > 0) printf("%d", sc_args[0]); 172 for (i =1; i<n; i++) {205 for (i = 1; i < n; i++) { 173 206 printf(", %d", sc_args[i]); 174 207 } … … 497 530 oper_t *o; 498 531 532 val_type_t arg_def[OPER_MAX_ARGS] = { 533 V_INTEGER, 534 V_INTEGER, 535 V_INTEGER, 536 V_INTEGER, 537 V_INTEGER 538 }; 539 540 val_type_t resp_def[OPER_MAX_ARGS] = { 541 V_INTEGER, 542 V_INTEGER, 543 V_INTEGER, 544 V_INTEGER, 545 V_INTEGER 546 }; 547 499 548 next_thread_id = 1; 500 549 paused = 0; … … 503 552 504 553 p = proto_new("vfs"); 505 o = oper_new("read" );554 o = oper_new("read", 1, arg_def, V_ERRNO, 1, resp_def); 506 555 proto_add_oper(p, VFS_READ, o); 507 o = oper_new("write" );556 o = oper_new("write", 1, arg_def, V_ERRNO, 1, resp_def); 508 557 proto_add_oper(p, VFS_WRITE, o); 509 o = oper_new("truncate" );558 o = oper_new("truncate", 5, arg_def, V_ERRNO, 0, resp_def); 510 559 proto_add_oper(p, VFS_TRUNCATE, o); 511 o = oper_new("mount" );560 o = oper_new("mount", 2, arg_def, V_ERRNO, 0, resp_def); 512 561 proto_add_oper(p, VFS_MOUNT, o); 513 o = oper_new("unmount");514 proto_add_oper(p, VFS_UNMOUNT, o); 562 /* o = oper_new("unmount", 0, arg_def); 563 proto_add_oper(p, VFS_UNMOUNT, o);*/ 515 564 516 565 proto_register(SERVICE_VFS, p); 517 566 518 567 p = proto_new("console"); 519 o = oper_new("getchar"); 568 resp_def[0] = V_CHAR; 569 o = oper_new("getchar", 0, arg_def, V_INTEGER, 2, resp_def); 520 570 proto_add_oper(p, CONSOLE_GETCHAR, o); 521 o = oper_new("putchar"); 571 572 arg_def[0] = V_CHAR; 573 o = oper_new("putchar", 1, arg_def, V_VOID, 0, resp_def); 522 574 proto_add_oper(p, CONSOLE_PUTCHAR, o); 523 o = oper_new("clear" );575 o = oper_new("clear", 0, arg_def, V_VOID, 0, resp_def); 524 576 proto_add_oper(p, CONSOLE_CLEAR, o); 525 o = oper_new("goto"); 577 578 arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER; 579 o = oper_new("goto", 2, arg_def, V_VOID, 0, resp_def); 526 580 proto_add_oper(p, CONSOLE_GOTO, o); 527 o = oper_new("getsize"); 581 582 resp_def[0] = V_INTEGER; resp_def[1] = V_INTEGER; 583 o = oper_new("getsize", 0, arg_def, V_INTEGER, 2, resp_def); 528 584 proto_add_oper(p, CONSOLE_GETSIZE, o); 529 o = oper_new("flush" );585 o = oper_new("flush", 0, arg_def, V_VOID, 0, resp_def); 530 586 proto_add_oper(p, CONSOLE_FLUSH, o); 531 o = oper_new("set_style"); 587 588 arg_def[0] = V_INTEGER; arg_def[1] = V_INTEGER; 589 o = oper_new("set_style", 2, arg_def, V_INTEGER, 0, resp_def); 532 590 proto_add_oper(p, CONSOLE_SET_STYLE, o); 533 o = oper_new("cursor_visibility" );591 o = oper_new("cursor_visibility", 1, arg_def, V_VOID, 0, resp_def); 534 592 proto_add_oper(p, CONSOLE_CURSOR_VISIBILITY, o); 535 o = oper_new("flush");536 proto_add_oper(p, CONSOLE_FLUSH, o);537 593 538 594 proto_console = p;
Note:
See TracChangeset
for help on using the changeset viewer.