Ticket #623: 6200ch-nodeid.patch
File 6200ch-nodeid.patch, 1.9 KB (added by , 18 years ago) |
---|
-
6200ch.c
56 56 57 57 void usage() 58 58 { 59 fprintf(stderr, "Usage: 6200ch [-v] <channel_num>\n"); 59 fprintf(stderr, "Usage: 6200ch [-v] [-n NODE] <channel_num>\n"); 60 fprintf(stderr, "-v Print additional verbose output\n"); 61 fprintf(stderr, "-n NODE node to start device scanning on\n"); 60 62 exit(1); 61 63 } 62 64 … … 70 72 int dig[3]; 71 73 int chn = 550; 72 74 75 /* some people experience crashes when starting on node 1 */ 76 int starting_node = STARTING_NODE; 77 int c; 78 int index; 79 73 80 if (argc < 2) 74 81 usage(); 75 82 76 if (argc == 3 && argv[1][0] == '-' && argv[1][1] == 'v') { 77 verbose = 1; 78 chn = atoi(argv[2]); 79 } else { 80 chn = atoi(argv[1]); 83 opterr = 0; 84 while ((c = getopt(argc, argv, "vn:")) != -1) { 85 switch (c) { 86 case 'v': 87 verbose = 1; 88 break; 89 case 'n': 90 starting_node = atoi(optarg); 91 break; 92 default: 93 fprintf(stderr, "incorrect command line arguments\n"); 94 usage(); 95 } 81 96 } 82 97 98 /* print out usage message if not enough arguments */ 99 if (optind != argc-1) { 100 usage(); 101 } 102 /* the last argument is the channel number */ 103 chn = atoi(argv[optind]); 104 83 105 #ifdef RAW1394_V_0_8 84 106 raw1394handle_t handle = raw1394_get_handle(); 85 107 #else … … 102 124 exit(1); 103 125 } 104 126 127 if (verbose) { 128 printf("starting with node: %d\n", starting_node); 129 } 130 105 131 int nc = raw1394_get_nodecount(handle); 106 for (i= STARTING_NODE; i < nc; ++i) {132 for (i=starting_node; i < nc; ++i) { 107 133 if (rom1394_get_directory(handle, i, &dir) < 0) { 108 134 fprintf(stderr,"error reading config rom directory for node %d\n", i); 109 135 raw1394_destroy_handle(handle);