Beispiel #1
1
static void
show_tstamp_types_and_exit(const char *device, pcap_t *pd)
{
	int n_tstamp_types;
	int *tstamp_types = 0;
	const char *tstamp_type_name;
	int i;

	n_tstamp_types = pcap_list_tstamp_types(pd, &tstamp_types);
	if (n_tstamp_types < 0)
		error("%s", pcap_geterr(pd));

	if (n_tstamp_types == 0) {
		fprintf(stderr, "Time stamp type cannot be set for %s\n",
		    device);
		exit(0);
	}
	fprintf(stderr, "Time stamp types for %s (use option -j to set):\n",
	    device);
	for (i = 0; i < n_tstamp_types; i++) {
		tstamp_type_name = pcap_tstamp_type_val_to_name(tstamp_types[i]);
		if (tstamp_type_name != NULL) {
			(void) fprintf(stderr, "  %s (%s)\n", tstamp_type_name,
			    pcap_tstamp_type_val_to_description(tstamp_types[i]));
		} else {
			(void) fprintf(stderr, "  %d\n", tstamp_types[i]);
		}
	}
	pcap_free_tstamp_types(tstamp_types);
	exit(0);
}
Beispiel #2
0
static void print_timestamp_types(const char *dev) {
    int i, ntstypes;
    char junk[PCAP_ERRBUF_SIZE];
    int *tstypes;
    pcap_t *handle;

    handle = pcap_create(dev, junk);
    if(!handle)
        return;

    ntstypes = pcap_list_tstamp_types(handle, &tstypes);
    if(ntstypes > 0)
        printf("     Timestamp types:%s", options.verbose > 1 ? "\n" : " ");
    if(options.verbose > 1)
        for(i = 0; i < ntstypes; ++i)
            printf("       %-20s %s\n", pcap_tstamp_type_val_to_name(tstypes[i]),
                   pcap_tstamp_type_val_to_description(tstypes[i]));
    else
        for(i = 0; i < ntstypes; ++i)
            printf("%s%s", pcap_tstamp_type_val_to_name(tstypes[i])
                   , i + 1 > ntstypes ? ", " : "\n");

    pcap_free_tstamp_types(tstypes);
    pcap_close(handle);
}
Beispiel #3
0
/*
 * Class:     disy_jnipcap_Pcap
 * Method:    tstampTypeValToName
 * Signature: (I)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL
Java_disy_jnipcap_Pcap_tstampTypeValToName (JNIEnv *env, jclass jcls, jint jval)
{
	const char *name = pcap_tstamp_type_val_to_name((int)jval);
	return (*env)->NewStringUTF (env, name);
}