command line option --capture-comment for dumpcap
authorMartin Kaiser <wireshark@kaiser.cx>
Sat, 27 Jul 2013 16:25:08 +0000 (16:25 -0000)
committerMartin Kaiser <wireshark@kaiser.cx>
Sat, 27 Jul 2013 16:25:08 +0000 (16:25 -0000)
svn path=/trunk/; revision=50945

capture_opts.c
capture_opts.h
dumpcap.c

index 51b8be74ccd08a36081a77fd3bd121bbf9e704b0..ee9d401e332b3d57eeb4f08db3231d62e7e6cb84 100644 (file)
@@ -627,6 +627,9 @@ capture_opts_add_opt(capture_options *capture_opts, int opt, const char *optarg_
     int status, snaplen;
 
     switch(opt) {
+    case LONGOPT_NUM_CAP_COMMENT:  /* capture comment */
+        capture_opts->capture_comment = g_strdup(optarg_str_p);
+        break;
     case 'a':        /* autostop criteria */
         if (set_autostop_criterion(capture_opts, optarg_str_p) == FALSE) {
             cmdarg_err("Invalid or unknown -a flag \"%s\"", optarg_str_p);
index df8c622794e5f8ee17e92896b858f50123b694cd..c747767d10c3e3c4129178b3bcce6a6d5ebca6fc 100644 (file)
@@ -42,6 +42,8 @@
 extern "C" {
 #endif /* __cplusplus */
 
+#define LONGOPT_NUM_CAP_COMMENT 0
+
 #ifdef HAVE_PCAP_REMOTE
 /* Type of capture source */
 typedef enum {
index 929528f119d46696ce9b32c57e410e9eef8cd473..da07feac7168a25b383ba0e981bed6e7fd3f8ca6 100644 (file)
--- a/dumpcap.c
+++ b/dumpcap.c
@@ -505,6 +505,9 @@ print_usage(gboolean print_ver)
     fprintf(output, "                              files:NUM - ringbuffer: replace after NUM files\n");
     fprintf(output, "  -n                       use pcapng format instead of pcap (default)\n");
     fprintf(output, "  -P                       use libpcap format instead of pcapng\n");
+    fprintf(output, "  --capture-comment <comment>\n");
+    fprintf(output, "                           add a capture comment to the output file\n");
+    fprintf(output, "                           (only for pcapng)\n");
     fprintf(output, "\n");
     fprintf(output, "Miscellaneous:\n");
     fprintf(output, "  -N <packet_limit>        maximum number of packets buffered within dumpcap\n");
@@ -4126,6 +4129,11 @@ main(int argc, char *argv[])
     GString          *comp_info_str;
     GString          *runtime_info_str;
     int               opt;
+    struct option     long_options[] = {
+        {"capture-comment", required_argument, NULL, LONGOPT_NUM_CAP_COMMENT },
+        {0, 0, 0, 0 }
+    };
+
     gboolean          arg_error             = FALSE;
 
 #ifdef _WIN32
@@ -4470,7 +4478,7 @@ main(int argc, char *argv[])
        global_capture_opts.capture_child = capture_child;
 
     /* Now get our args */
-    while ((opt = getopt_long(argc, argv, OPTSTRING, NULL, NULL)) != -1) {
+    while ((opt = getopt_long(argc, argv, OPTSTRING, long_options, NULL)) != -1) {
         switch (opt) {
         case 'h':        /* Print help and exit */
             print_usage(TRUE);
@@ -4497,6 +4505,7 @@ main(int argc, char *argv[])
         case 's':        /* Set the snapshot (capture) length */
         case 'w':        /* Write to capture file x */
         case 'y':        /* Set the pcap data link type */
+        case  LONGOPT_NUM_CAP_COMMENT: /* add a capture comment */
 #ifdef HAVE_PCAP_REMOTE
         case 'u':        /* Use UDP for data transfer */
         case 'r':        /* Capture own RPCAP traffic too */