]> rtime.felk.cvut.cz Git - sojka/can-utils.git/blobdiff - cansniffer.c
can-calc-bit-timing: add 66.66 MHz mscan refclock
[sojka/can-utils.git] / cansniffer.c
index bedaf5cb7e032d6576d256053b59ed1438a15819..71ca7210d0846d1966938f8607b0ec73a2b26ae7 100644 (file)
@@ -1,7 +1,3 @@
-/*
- *  $Id$
- */
-
 /*
  * can-sniffer.c
  *
@@ -41,7 +37,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
  * DAMAGE.
  *
- * Send feedback to <socketcan-users@lists.berlios.de>
+ * Send feedback to <linux-can@vger.kernel.org>
  *
  */
 
@@ -126,6 +122,7 @@ static long loop = LOOP;
 static unsigned char binary;
 static unsigned char binary_gap;
 static unsigned char color;
+static char *interface;
 
 void rx_setup (int fd, int id);
 void rx_delete (int fd, int id);
@@ -174,6 +171,7 @@ void print_usage(char *prg)
        fprintf(stderr, "         -b         (start with binary mode)\n");
        fprintf(stderr, "         -B         (start with binary mode with gap - exceeds 80 chars!)\n");
        fprintf(stderr, "         -c         (color changes)\n");
+       fprintf(stderr, "         -f         (filter on CAN-ID only)\n");
        fprintf(stderr, "         -t <time>  (timeout for ID display [x100ms] default: %d, 0 = OFF)\n", TIMEOUT);
        fprintf(stderr, "         -h <time>  (hold marker on changes [x100ms] default: %d)\n", HOLD);
        fprintf(stderr, "         -l <time>  (loop time (display) [x100ms] default: %d)\n", LOOP);
@@ -210,7 +208,7 @@ int main(int argc, char **argv)
        for (i=0; i < 2048 ;i++) /* default: check all CAN-IDs */
                do_set(i, ENABLE);
 
-       while ((opt = getopt(argc, argv, "m:v:r:t:h:l:qbBcf")) != -1) {
+       while ((opt = getopt(argc, argv, "m:v:r:t:h:l:qbBcf?")) != -1) {
                switch (opt) {
                case 'm':
                        sscanf(optarg, "%x", &mask);
@@ -290,6 +288,8 @@ int main(int argc, char **argv)
                return 1;
        }
 
+       interface = argv[optind];
+
        if ((s = socket(PF_CAN, SOCK_DGRAM, CAN_BCM)) < 0) {
                perror("socket");
                return 1;
@@ -542,7 +542,7 @@ int handle_timeo(int fd, long currcms){
        if (clearscreen) {
                char startline[80];
                printf("%s%s", CLR_SCREEN, CSR_HOME);
-               snprintf(startline, 79, "< can-sniffer parameters: l=%ld h=%ld t=%ld >", loop, hold, timeout);
+               snprintf(startline, 79, "< cansniffer %s # l=%ld h=%ld t=%ld >", interface, loop, hold, timeout);
                printf("%s%*s",STARTLINESTR, 79-(int)strlen(STARTLINESTR), startline);
                force_redraw = 1;
                clearscreen = 0;